[英]Dry run in Ansible not showing errors as in actual run
我写了一本剧本来在 resolv.conf 中添加一个条目并添加一个新用户。 我指定的组在目标系统中不存在,但是我在试运行(使用 --check)选项中没有收到错误,而是在实际运行中得到它。
[root@ansible-controller ansible-test-project]# ansible-playbook lineinfile-playbook.yaml -i inventory.txt --check
PLAY [Add a new nameserver and webuser] ****************************************************************
TASK [Gathering Facts] *********************************************************************************
ok: [ansible-target]
TASK [Update entry into /etc/resolv.conf] **************************************************************
changed: [ansible-target]
TASK [Add user web_user] *******************************************************************************
changed: [ansible-target]
PLAY RECAP *********************************************************************************************
ansible-target : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
[root@ansible-controller ansible-test-project]# ansible-playbook lineinfile-playbook.yaml -i inventory.txt
PLAY [Add a new nameserver and webuser] ****************************************************************
TASK [Gathering Facts] *********************************************************************************
ok: [ansible-target]
TASK [Update entry into /etc/resolv.conf] **************************************************************
changed: [ansible-target]
TASK [Add user web_user] *******************************************************************************
fatal: [ansible-target]: FAILED! => {"changed": false, "msg": "Group developers does not exist"}
PLAY RECAP *********************************************************************************************
ansible-target : ok=2 changed=1 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
[root@ansible-controller ansible-test-project]#
我的剧本
-
name: 'Add a new nameserver and webuser'
hosts: targets
tasks:
-
name: 'Update entry into /etc/resolv.conf'
lineinfile:
path: /etc/resolv.conf
line: 'nameserver 10.1.250.10'
-
name: 'Add user web_user'
user:
name: web_user
uid: 1040
group: developers
问题是在检查模式下, user
模块只检查用户是否存在。 解决方案是在您的剧本中添加一个任务,以确保该组也存在:
- name: add developers group
group:
name: developers
gid: 1000
- name: add user web_user
user:
name: web_user
uid: 1040
group: developers
在没有developers
组或web_user
用户的主机上运行此命令会导致:
TASK [add developers group] ******************************************************************************************************************************************************************
changed: [node0]
TASK [add user web_user] *********************************************************************************************************************************************************************
changed: [node0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.