Ansibleはホスト名を設定できません

Ansibleはホスト名を設定できません

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 }}"

関連情報