Strategy Plugins

Strategy plugins control the flow of play execution by handling task and host scheduling.

Enabling strategy plugins

All 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:


or in the ansible.cfg file:


You can also specify the strategy plugin in the play via the strategy keyword in a play:

- hosts: all
  strategy: debug
    - copy: src=myhosts dest=/etc/hosts
      notify: restart_tomcat

    - package: name=tomcat state=present

    - 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.

See also

About Playbooks

An introduction to playbooks

Inventory Plugins

Ansible inventory plugins

Callback Plugins

Ansible callback plugins


Jinja2 filter plugins


Jinja2 test plugins


Jinja2 lookup plugins

User Mailing List

Have a question? Stop by the google group!

#ansible IRC chat channel