ansible создание playbook для смены имени хоста для нескольких устройств одновременно - PullRequest
0 голосов
/ 03 апреля 2020

Я новичок в 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'>

Спасибо

...