Когда я авторизуюсь с пользователем, отличным от 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
или что-то.