Chapter 18. Callback Plug-ins
Ansible supports a feature called callback plug-ins that can perform custom actions in response to Ansible events, such as a play starting or a task completing on a host. You can use a callback plug-in to do things such as send a Slack message or write an entry to a remote logging server. In fact, the output you see in your terminal when you execute an Ansible playbook is implemented as a callback plug-in.
Ansible supports three kinds of callback plug-ins:
-
Stdout plug-ins
-
Notification plug-ins
-
Aggregate plug-ins
Stdout plug-ins control the format of the output displayed to the terminal. Ansible’s implementation makes no distinction between notification and aggregate plug-ins, which can perform a variety of actions.
Stdout Plug-ins
Only a single stdout plug-in can be active at a time. You specify a stdout callback by setting the stdout_callback parameter in the defaults section of ansible.cfg. For example, here is how to select the yaml plug-in, which makes the logging more readable:
[defaults] stdout_callback = yaml
You can use ansible-doc -t callback -l to see the list of plug-ins available in the version you installed. Some stdout_callback plug-ins that Bas finds interesting are listed in Table 18-1.
| Name | Description | Python requirement |
|---|---|---|
ara |
ARA Records Ansible | ara[server] |
debug |
Formatted stdout/stderr display | |
default |
Default Ansible screen output | |
dense |
Overwrite output instead of scrolling |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access