내 플레이북에서 ansible-playbook -e "sudo=no"가 sudo: true를 재정의하면 안 되나요?

내 플레이북에서 ansible-playbook -e "sudo=no"가 sudo: true를 재정의하면 안 되나요?

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거나 뭐 그런 거요.

관련 정보