Can you put something like this before the 'Parse server cpu list' :
- name: Debug why parsing fails
debug:
msg:
- "Loop is done over {{
server_cpu_list.json['values']['system_option_value'][0]['value'].split(';
')|list|difference(['']) }}"
- "Actual value of server_cpu_dict before the set_fact is {{ server_cpu_dict
}}"
Note: e-mail clients can distort code. Don't copy/paste , but type the example from
above.
Best Regards,
Strahil Nikolov
На 9 юни 2020 г. 19:34:07 GMT+03:00, "Angel R. Gonzalez"
<angel.gonzalez(a)uam.es> написа:
>Hi all!
>
>I'm deploying a host engine in a host node with a 8x Intel(R) Xeon(R)
>CPU E5410 @ 2.33GHz.
>
>The deploy proccess show the next message
>
>> [INFO]TASK [ovirt.hosted_engine_setup : Convert CPU model name]
>> [ERROR]fatal: [localhost]: FAILED! => {"msg": "The task
includes an
>> option with an undefined variable. The error was: 'dict object' has
>no
>> attribute ''\n\nThe error appears to be in
>>
>'/usr/share/ansible/roles/ovirt.hosted_engine_setup/tasks/create_target_vm/01_create_target_hosted_engine_vm.yml':
>
>> line 105, column 15, but may\nbe elsewhere in the file depending on
>> the exact syntax problem.\n\nThe offending line appears to be:\n\n -
>> debug: var=server_cpu_dict\n ^ here\n\nThere appears to be both 'k=v'
>
>> shorthand syntax and YAML in this task. Only one syntax may be
>used.\n"}
>
>The ansible deploy script in his 105 line show:
>
>> - name: Parse server CPU list
>> set_fact:
>> server_cpu_dict: "{{ server_cpu_dict |
>> combine({item.split(':')[1]: item.split(':')[3]}) }}"
>> with_items: >-
>> {{
>>
>server_cpu_list.json['values']['system_option_value'][0]['value'].split(';
>
>> ')|list|difference(['']) }}
>> - debug: var=server_cpu_dict
>
>I don´t know ansible and i don't how to resolve this issue. Any idea?
>
>Thanks in advance,
>
>Ángel González.