Strategy Plugins
Strategy plugins control the flow of play execution by handling task and host scheduling.
Enabling Strategy Plugins
Strategy plugins shipped with Ansible are enabled by default. You can enable a custom strategy plugin by putting it in one of the lookup directory sources configured in ansible.cfg.
Using Strategy Plugins
Only one strategy plugin can be used in a play, but you can use different ones for each play in a playbook or ansible run. The default is the linear plugin. You can change this default in Ansible configuration using an environment variable:
export ANSIBLE_STRATEGY=free
or in the ansible.cfg
file:
[defaults] strategy=linear
You can also specify the strategy plugin in the play via the strategy keyword in a play:
- hosts: all strategy: debug tasks: - copy: src=myhosts dest=/etc/hosts notify: restart_tomcat - package: name=tomcat state=present handlers: - name: restart_tomcat service: name=tomcat state=restarted
Plugin List
You can use ansible-doc -t strategy -l
to see the list of available plugins. Use ansible-doc -t strategy <plugin name>
to see plugin-specific specific documentation and examples.
- debug - Executes tasks in interactive debug session.
- free - Executes tasks on each host independently
- linear - Executes tasks in a linear fashion
See also
- About Playbooks
- An introduction to playbooks
- Inventory Plugins
- Ansible inventory plugins
- Callback Plugins
- Ansible callback plugins
- Filters
- Jinja2 filter plugins
- Tests
- Jinja2 test plugins
- Lookups
- Jinja2 lookup plugins
- User Mailing List
- Have a question? Stop by the google group!
- irc.freenode.net
- #ansible IRC chat channel
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/plugins/strategy.html