mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-16 11:01:42 -07:00
505 lines
21 KiB
YAML
505 lines
21 KiB
YAML
---
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
|
|
# Copyright (c) Ansible Project
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
- name: Run tests
|
|
include_role:
|
|
name: callback
|
|
vars:
|
|
tests:
|
|
- name: Not using diy callback options
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set playbook_on_start_msg callback using environment variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_START_MSG: "Sample output Sample playbook message"
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
expected_output:
|
|
- "Sample output Sample playbook message"
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set playbook_on_play_start_msg callback using play variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- name: Sample play name
|
|
hosts: testhost
|
|
gather_facts: false
|
|
vars:
|
|
ansible_callback_diy_playbook_on_play_start_msg: Sample output {{ ansible_callback_diy.play.name }}
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
expected_output:
|
|
- "Sample output Sample play name"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set playbook_on_task_start_msg callback using play variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
vars:
|
|
ansible_callback_diy_playbook_on_task_start_msg: Sample output {{ ansible_callback_diy.task.name }}
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- "Sample output Sample task name"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set playbook_on_task_start_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
vars:
|
|
ansible_callback_diy_playbook_on_task_start_msg: Sample output {{ ansible_callback_diy.task.name }}
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- "Sample output Sample task name"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set runner_on_ok_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
vars:
|
|
ansible_callback_diy_runner_on_ok_msg: Sample output {{ ansible_callback_diy.result.output.msg }}
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "Sample output sample debug msg"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set runner_on_failed_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
failed_when: true
|
|
ignore_errors: true
|
|
vars:
|
|
ansible_callback_diy_runner_on_failed_msg: Sample output Sample failure message
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "Sample output Sample failure message"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1 "
|
|
|
|
- name: Set runner_on_skipped_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
when: false
|
|
vars:
|
|
ansible_callback_diy_runner_on_skipped_msg: Sample output Skipped {{ ansible_callback_diy.task.name }}
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "Sample output Skipped Sample task name"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=0 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 "
|
|
|
|
- name: Set runner_item_on_ok_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg {{ item }}
|
|
loop:
|
|
- sample item 1
|
|
- sample item 2
|
|
- sample item 3
|
|
vars:
|
|
ansible_callback_diy_runner_item_on_ok_msg: Sample output Looping {{ ansible_callback_diy.result.output.msg }}
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "Sample output Looping sample debug msg sample item 1"
|
|
- "Sample output Looping sample debug msg sample item 2"
|
|
- "Sample output Looping sample debug msg sample item 3"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set runner_item_on_failed_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg {{ item }}
|
|
loop:
|
|
- sample item 1
|
|
- sample item 2
|
|
- sample item 3
|
|
failed_when: item == 'sample item 2'
|
|
ignore_errors: true
|
|
vars:
|
|
ansible_callback_diy_runner_item_on_failed_msg: Sample output Looping sample failure message
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "ok: [testhost] => (item=sample item 1) => {"
|
|
- " \"msg\": \"sample debug msg sample item 1\""
|
|
- "}"
|
|
- "Sample output Looping sample failure message"
|
|
- "ok: [testhost] => (item=sample item 3) => {"
|
|
- " \"msg\": \"sample debug msg sample item 3\""
|
|
- "}"
|
|
- # Apparently a bug was fixed in Ansible, as before it ran through with "All items completed"
|
|
- "fatal: [testhost]: FAILED! => {\"msg\": \"All items completed\"}"
|
|
- "fatal: [testhost]: FAILED! => {\"msg\": \"One or more items failed\"}"
|
|
- "...ignoring"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1 "
|
|
|
|
- name: Set runner_item_on_skipped_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg {{ item }}
|
|
loop:
|
|
- sample item 1
|
|
- sample item 2
|
|
- sample item 3
|
|
when: item != 'sample item 2'
|
|
vars:
|
|
ansible_callback_diy_runner_item_on_skipped_msg: Sample output Looping Skipped {{ ansible_callback_diy.result.output.item }}
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "ok: [testhost] => (item=sample item 1) => {"
|
|
- " \"msg\": \"sample debug msg sample item 1\""
|
|
- "}"
|
|
- "Sample output Looping Skipped sample item 2"
|
|
- "ok: [testhost] => (item=sample item 3) => {"
|
|
- " \"msg\": \"sample debug msg sample item 3\""
|
|
- "}"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set playbook_on_stats_msg callback using play variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
vars:
|
|
ansible_callback_diy_playbook_on_stats_msg: |+2
|
|
Sample output stats
|
|
===============================
|
|
{% for key in ansible_callback_diy.stats | sort %}
|
|
{% set color_one = "" %}
|
|
{% set color_two = "" %}
|
|
{% if ansible_callback_diy.stats[key] %}
|
|
{% if key == 'ok' %}
|
|
{% set prefix = ' ' %}
|
|
{% set suffix = ' ' %}
|
|
{% elif key == 'changed' %}
|
|
{% set prefix = ' ' %}
|
|
{% set suffix = ' ' %}
|
|
{% elif key == 'processed' %}
|
|
{% set prefix = ' ' %}
|
|
{% set suffix = ' ' %}
|
|
{% elif key == 'skipped' %}
|
|
{% set prefix = ' ' %}
|
|
{% set suffix = ' ' %}
|
|
{% else %}
|
|
{% set prefix = "" %}
|
|
{% set suffix = "" %}
|
|
{% endif %}
|
|
{{ color_one }}{{ "%s%s%s" | format(prefix,key,suffix) }}{{ color_two }}: {{ ansible_callback_diy.stats[key] | to_nice_yaml }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- " Sample output stats"
|
|
- "==============================="
|
|
- " ok : testhost: 1"
|
|
- ""
|
|
- " processed : testhost: 1"
|
|
|
|
- name: Suppress output on playbook_on_task_start_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
vars:
|
|
ansible_callback_diy_playbook_on_task_start_msg: ''
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Suppress output on runner_on_ok_msg callback using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
vars:
|
|
ansible_callback_diy_runner_on_ok_msg: ''
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set runner_on_ok_msg_color using task variable
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
vars:
|
|
ansible_callback_diy_runner_on_ok_msg: Sample output {{ ansible_callback_diy.result.output.msg }}
|
|
ansible_callback_diy_runner_on_ok_msg_color: blue
|
|
expected_output:
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "Sample output sample debug msg"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
|
|
- name: Set on_any_msg
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.diy
|
|
ANSIBLE_CALLBACK_DIY_ON_ANY_MSG: foo
|
|
playbook: !unsafe |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: A loop
|
|
debug:
|
|
msg: "{{ item }}"
|
|
loop:
|
|
- 1
|
|
- 2
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
- name: Skipped task
|
|
command: ls /
|
|
when: false
|
|
expected_output:
|
|
- "foo"
|
|
- ""
|
|
- "PLAY [testhost] ****************************************************************"
|
|
- "foo"
|
|
- ""
|
|
- "TASK [A loop] ******************************************************************"
|
|
- "foo"
|
|
- "foo"
|
|
- "ok: [testhost] => (item=1) => {"
|
|
- " \"msg\": 1"
|
|
- "}"
|
|
- "foo"
|
|
- "ok: [testhost] => (item=2) => {"
|
|
- " \"msg\": 2"
|
|
- "}"
|
|
- "foo"
|
|
- "foo"
|
|
- ""
|
|
- "TASK [Sample task name] ********************************************************"
|
|
- "foo"
|
|
- "foo"
|
|
- "ok: [testhost] => {"
|
|
- " \"msg\": \"sample debug msg\""
|
|
- "}"
|
|
- "foo"
|
|
- ""
|
|
- "TASK [Skipped task] ************************************************************"
|
|
- "foo"
|
|
- "foo"
|
|
- "skipping: [testhost]"
|
|
- "foo"
|
|
- ""
|
|
- "PLAY RECAP *********************************************************************"
|
|
- "testhost : ok=2 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 "
|
|
- ""
|
|
- "foo"
|