.. _strategy_plugins: Strategy Plugins ================ .. contents:: :local: :depth: 2 Strategy plugins control the flow of play execution by handling task and host scheduling. .. _enable_strategy: 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 :ref:`ansible.cfg `. .. _using_strategy: 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 :ref:`linear ` plugin. You can change this default in Ansible :ref:`configuration ` using an environment variable: .. code-block:: shell export ANSIBLE_STRATEGY=free or in the `ansible.cfg` file: .. code-block:: ini [defaults] strategy=linear You can also specify the strategy plugin in the play via the :ref:`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 .. _strategy_plugin_list: Plugin list ----------- You can use ``ansible-doc -t strategy -l`` to see the list of available plugins. Use ``ansible-doc -t strategy `` to see plugin-specific specific documentation and examples. .. seealso:: :ref:`about_playbooks` An introduction to playbooks :ref:`inventory_plugins` Ansible inventory plugins :ref:`callback_plugins` Ansible callback plugins :ref:`playbooks_filters` Jinja2 filter plugins :ref:`playbooks_tests` Jinja2 test plugins :ref:`playbooks_lookups` Jinja2 lookup plugins `User Mailing List `_ Have a question? Stop by the google group! `irc.freenode.net `_ #ansible IRC chat channel