繁体   English   中英

Ansible 中的空运行未显示实际运行中的错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM