非 sudo ユーザーで認証する場合、プレイブックの sudo を上書きします。
---
name: test
hosts: foo
sudo: yes
私が行った場合:
ansible-playbook test.yml -e "sudo=no"
適切に上書きされないので、sudo: yes
プレイブックから削除する必要があります。sudo=no
動作しないのでしょうか?
答え1
sudo
は変数ではなく、ディレクティブです。-e
コマンドラインパラメータを使用して、 と呼ばれる変数を定義しましたsudo
が、これは無関係です。プレイブックで次のようにすればおそらく動作するでしょう。
sudo: "{{ sudo }}"
または多分
sudo: "{{ sudo | default('yes') }}"
ただし、上記のいずれかを実行する場合は、変数に名前を付けないでsudo
ください。混乱を招く可能性があるため、名前を付けるかmust_sudo
、何か他のものを使用してください。