Ansible 隐藏正常:[web] 输出但显示消息

Ansible 隐藏正常:[web] 输出但显示消息

我怎样才能隐藏好的:[网络]在终端上输出但在终端上显示消息。

在此输入图像描述

这就是我在 ansible.cfg 文件中的内容。如果我设置 display_ok_hosts=错误的,终端上不会显示任何内容。 在此输入图像描述

答案1

使用回调社区.一般.选择性。看

shell> ansible-doc -t callback selective

引用:

此回调仅打印已标记print_action或已失败的任务。

例如,剧本

shell> cat pb.yml
- hosts: web
  gather_facts: false

  tasks:

    - getent:
        database: passwd
        
    - assert:
        that:
          - getent_passwd._apt.5 == '/usr/sbin/nologin'
          - getent_passwd._rpc.5 == '/usr/sbin/nologin'
          - getent_passwd._chrony.5 == '/usr/sbin/nologin'
        success_msg: "[PASSED] - Ensure system accounts are non-login"
      tags: [print_action]

显示所有任务的输出默认使用回调

shell> ANSIBLE_STDOUT_CALLBACK=default ansible-playbook pb.yml

PLAY [web] ***********************************************************************************

TASK [getent] ********************************************************************************
ok: [web]

TASK [assert] ********************************************************************************
ok: [web] => {
    "changed": false,
    "msg": "[PASSED] - Ensure system accounts are non-login"
}

PLAY RECAP ***********************************************************************************
web: ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

输出仅限于启用的任务时可选择的使用回调

shell> ANSIBLE_STDOUT_CALLBACK=selective ansible-playbook pb.yml
.
# assert ******************************************************************************************************************
  * web                        - changed=False --------------------------------------------------
    [PASSED] - Ensure system accounts are non-login

# STATS *******************************************************************************************************************
web: ok=2   changed=0   failed=0    unreachable=0   rescued=0   ignored=0

相关内容