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