Я новичок в ansible и в сценариях. Я пытаюсь автоматизировать какой-то процесс с помощью ansible.
Я пытаюсь создать книгу воспроизведения для изменения имени хоста для нескольких устройств одновременно. Я немного исследовал и придумал это
hosts : SWITCH
gather_facts: no
connection: local
# vars_files:
# /ansible/hosts.yml
tasks:
hostname:
- name: "{{item.name}}"
when: "{{ansible_host==item.host}}"
- with_items: "{{hostinfo}}"
hostinfo:
host: FII-S-EDMHQ-003
name: CA-S-EDMHQ-003
host: FII-S-EDMHQ-004
name: CA-S-EDMHQ-004
, и я получаю ошибку:
root@FIN68483:/etc/ansible/playbooks# ansible-playbook hostname.yml
ERROR! A malformed block was encountered while loading tasks: {u'hostname': [{u'when': u'{{ansible_host==item.host}}', u'name': u'{{item.name}}'}, {u'hostinfo': {u'host': u'FII-S-EDMHQ-003, FII-S-EDMHQ-004', u'name': u'CA-S-EDMHQ-003, CA-S-EDMHQ-004'}, u'with_items': u'{{hostinfo}}'}]} should be a list or None but is <class 'ansible.parsing.yaml.objects.AnsibleMapping'>
Ошибка, кажется, находится в /etc/ansible/playbooks/hostname.yml. : строка 3, столбец 4, но может быть в другом месте файла в зависимости от точной синтаксической проблемы.
Кажется, что нарушающей строкой является:
hosts : SWITCH
, может кто-нибудь помочь, пожалуйста, что ошибка. Вероятно, я могу исправить приведенную ниже часть, но мне нужна помощь для
ERROR! A malformed block was encountered while loading tasks: {u'hostname': [{u'when': u'{{ansible_host==item.host}}', u'name': u'{{item.name}}'}, {u'hostinfo': {u'host': u'FII-S-EDMHQ-003, FII-S-EDMHQ-004', u'name': u'CA-S-EDMHQ-003, CA-S-EDMHQ-004'}, u'with_items': u'{{hostinfo}}'}]} should be a list or None but is <class 'ansible.parsing.yaml.objects.AnsibleMapping'>
Спасибо