Linux

Ansible 無法設置主機名

  • September 7, 2021

我面臨 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

任何的想法?

     name:
       - "{{inventory_hostname}}"

這是一個 YAML 列表;有些地方可以使用列表或字元串,但這不是其中之一。這個參數只接受一個字元串,所以這就是你應該傳遞的。否則,模組會嘗試將主機名設置為列表的字元串表示形式,這不是有效的主機名並且會失敗。

     name: "{{ inventory_hostname }}"

引用自:https://serverfault.com/questions/1076880