我正在编写一个Ansible角色以将Docker容器部署到主机。我的库存文件包含CoreOS和Ubuntu服务器,并且Docker已经安装在Ubuntu上,不允许非root用户使用(也就是我需要sudo docker ...
)。 CoreOS主机不需要它。Ansible sudo模式取决于变量
我想写一个任务,如果需要,只使用sudo
:
- name: Start container XX
sudo: "{{ ansible_os_family and ansible_os_family == 'Debian' }}"
docker:
...
使用debug
模块,我可以看到这个表达式返回“真”。
直接使用sudo: "True"
工作正常。
但是使用给定的片段不起作用,sudo模式未启用。
如何有条件地使用sudo
来实现我的目标?
您是否尝试过使用'ansible_sudo'变量?检查谷歌,有关于这个错误报告,但它可能工作。 – magnetik