Назад | Перейти на главную страницу

Не следует ли ansible-playbook -e «sudo = no» переопределять sudo: true в моем сборнике пьес?

Когда я авторизуюсь с пользователем, отличным от sudo, я хочу переопределить playbook sudo.

---
name: test
hosts: foo
sudo: yes

Если я сделаю:

ansible-playbook test.yml -e "sudo=no"

Он не переопределяется должным образом, вместо этого я должен удалить sudo: yes из моей пьесы. Не должен sudo=no работай?

sudo не является переменной; это директива. С -e параметр командной строки вы определили переменную, которая называется sudo, но это не связано. Вероятно, это сработает, если вы сделаете это в своей книге:

sudo: "{{ sudo }}"

или, может быть

sudo: "{{ sudo | default('yes') }}"

Но если вы решите сделать что-либо из вышеперечисленного, не называйте переменную sudo, это будет сбивать с толку; назови это must_sudo или что-то.