ansible-playbook

Runs Ansible playbooks, executing the defined tasks on the targeted hosts.

Synopsis

  1. ansible-playbook [options] playbook.yml [playbook2 ...]

Description

the tool to run Ansible playbooks, which are a configuration and multinode deployment system.See the project home page (https://docs.ansible.com) for more information.

Common Options

  • —ask-su-pass
  • ask for su password (deprecated, use become)
  • —ask-sudo-pass
  • ask for sudo password (deprecated, use become)
  • —ask-vault-pass
  • ask for vault password
  • —become-method <BECOME_METHOD>
  • privilege escalation method to use (default=sudo), valid choices: [ sudo | su | pbrun | pfexec | doas | dzdo | ksu | runas | pmrun | enable | machinectl ]
  • —become-user <BECOME_USER>
  • run operations as this user (default=root)
  • —flush-cache
  • clear the fact cache for every host in inventory
  • —force-handlers
  • run handlers even if a task fails
  • —list-hosts
  • outputs a list of matching hosts; does not execute anything else
  • —list-tags
  • list all available tags
  • —list-tasks
  • list all tasks that would be executed
  • —private-key, —key-file
  • use this file to authenticate the connection
  • —scp-extra-args <SCP_EXTRA_ARGS>
  • specify extra arguments to pass to scp only (e.g. -l)
  • —sftp-extra-args <SFTP_EXTRA_ARGS>
  • specify extra arguments to pass to sftp only (e.g. -f, -l)
  • —skip-tags
  • only run plays and tasks whose tags do not match these values
  • —ssh-common-args <SSH_COMMON_ARGS>
  • specify common arguments to pass to sftp/scp/ssh (e.g. ProxyCommand)
  • —ssh-extra-args <SSH_EXTRA_ARGS>
  • specify extra arguments to pass to ssh only (e.g. -R)
  • —start-at-task <START_AT_TASK>
  • start the playbook at the task matching this name
  • —step
  • one-step-at-a-time: confirm each task before running
  • —syntax-check
  • perform a syntax check on the playbook, but do not execute it
  • —vault-id
  • the vault identity to use
  • —vault-password-file
  • vault password file
  • —version
  • show program’s version number and exit
  • -C, —check
  • don’t make any changes; instead, try to predict some of the changes that may occur
  • -D, —diff
  • when changing (small) files and templates, show the differences in those files; works great with –check
  • -K, —ask-become-pass
  • ask for privilege escalation password
  • -M, —module-path
  • prepend colon-separated path(s) to module library (default=[‘/home/jenkins/.ansible/plugins/modules’, ‘/usr/share/ansible/plugins/modules’])
  • -R <SU_USER>, —su-user <SU_USER>
  • run operations with su as this user (default=None) (deprecated, use become)
  • -S, —su
  • run operations with su (deprecated, use become)
  • -T <TIMEOUT>, —timeout <TIMEOUT>
  • override the connection timeout in seconds (default=10)
  • -U <SUDO_USER>, —sudo-user <SUDO_USER>
  • desired sudo user (default=root) (deprecated, use become)
  • -b, —become
  • run operations with become (does not imply password prompting)
  • -c <CONNECTION>, —connection <CONNECTION>
  • connection type to use (default=smart)
  • -e, —extra-vars
  • set additional variables as key=value or YAML/JSON, if filename prepend with @
  • -f <FORKS>, —forks <FORKS>
  • specify number of parallel processes to use (default=5)
  • -h, —help
  • show this help message and exit
  • -i, —inventory, —inventory-file
  • specify inventory host path or comma separated host list. –inventory-file is deprecated
  • -k, —ask-pass
  • ask for connection password
  • -l <SUBSET>, —limit <SUBSET>
  • further limit selected hosts to an additional pattern
  • -s, —sudo
  • run operations with sudo (nopasswd) (deprecated, use become)
  • -t, —tags
  • only run plays and tasks tagged with these values
  • -u <REMOTE_USER>, —user <REMOTE_USER>
  • connect as this user (default=None)
  • -v, —verbose
  • verbose mode (-vvv for more, -vvvv to enable connection debugging)

Environment

The following environment variables may be specified.

ANSIBLE_CONFIG – Override the default ansible config file

Many more are available for most options in ansible.cfg

Files

/etc/ansible/ansible.cfg – Config file, used if present

~/.ansible.cfg – User config file, overrides the default config if present

Author

Ansible was originally written by Michael DeHaan.

See the AUTHORS file for a complete list of contributors.

Copyright © 2017 Red Hat, Inc | Ansible.

Ansible is released under the terms of the GPLv3 License.

See also

ansible(1), ansible-config(1), ansible-console(1), ansible-doc(1), ansible-galaxy(1), ansible-inventory(1), ansible-playbook(1), ansible-pull(1), ansible-vault(1),