Ansible で問題が発生しています。VM のローカル ホスト名を 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 リストです。リストまたは文字列のいずれかを使用できる場所がありますが、これはその 1 つではありません。このパラメーターは単一の文字列のみを受け入れるため、それを渡す必要があります。そうでない場合、モジュールはホスト名をリストの文字列表現に設定しようとしますが、これは有効なホスト名ではないため失敗します。
name: "{{ inventory_hostname }}"