У меня возникла проблема с ansible. Я пытаюсь установить локальное имя хоста виртуальной машины на имя инвентаря ansible.
Моя задача выглядит так:
- name: set hostname to {{ inventory_hostname }}
hostname:
name:
- "{{inventory_hostname}}"
При запуске плейбука возникает следующая ошибка:
fatal: [sl-testvm101]: FAILED! => {"changed": false, "msg": "Command failed rc=1, out=, err=\u001b[0;1;31mCould not set property: Invalid hostname '['sl-testvm101']'\u001b[0m\n"}
целевой хост — Ubuntu 20.04.1
Есть идеи?
решение1
name:
- "{{inventory_hostname}}"
Это список YAML; есть места, где можно использовать как список, так и строку, но это не одно из них. Этот параметр принимает только одну строку, поэтому именно ее вам следует передать. В противном случае модуль попытается установить имя хоста в строковое представление списка, которое не является допустимым именем хоста, и завершится неудачей.
name: "{{ inventory_hostname }}"