How can I hide skipped tasks output in Ansible

32cupo picture 32cupo · Aug 28, 2016 · Viewed 27.6k times · Source

I have Ansible role, for example

---
- name: Deploy app1
  include: deploy-app1.yml
  when: 'deploy_project == "{{app1}}"'

- name: Deploy app2
  include: deploy-app2.yml
  when: 'deploy_project == "{{app2}}"'

But I deploy only one app in one role call. When I deploy several apps, I call role several times. But every time there is a lot of skipped tasks output (from tasks which do not pass condition), which I do not want to see. How can I avoid it?

Answer

Omar E picture Omar E · Aug 30, 2016

I'm assuming you don't want to see the skipped tasks in the output while running Ansible.

Set this to false in the ansible.cfg file.

display_skipped_hosts = false

Note. It will still output the name of the task although it will not display "skipped" anymore.

UPDATE: by the way you need to make sure ansible.cfg is in the current working directory.

Taken from the ansible.cfg file.

ansible will read ANSIBLE_CONFIG, ansible.cfg in the current working directory, .ansible.cfg in the home directory or /etc/ansible/ansible.cfg, whichever it finds first.

So ensure you are setting display_skipped_hosts = false in the right ansible.cfg file.

Let me know how you go