ansible-playbook (1) Linux Manual Page
ansible-playbook – run an ansible playbook
Synopsis
ansible-playbook <filename.yml> … [options]Description
Ansible playbooks are a configuration and multinode deployment system. Ansible-playbook is the tool used to run them. See the project home page (link below) for more information.Arguments
filename.yml- The names of one or more YAML format files to run as ansible playbooks.
Options
-b, –become- Use privilege escalation (specific one depends on become_method), this does not imply prompting for passwords.
-K, –ask-become-pass
- Ask for privilege escalation password.
-k, –ask-pass
- Prompt for the connection password, if it is needed for the transport used. For example, using ssh and not having a key-based authentication with ssh-agent.
–ask-su-pass
- Prompt for su password, used with –su (deprecated, use become).
–ask-sudo-pass
- Prompt for the password to use with –sudo, if any (deprecated, use become).
–ask-vault-pass
- Prompt for vault password.
-C, –check
- Do not make any changes on the remote system, but test resources to see what might have changed. Note this can not scan all possible resource types and is only a simulation.
-c CONNECTION, –connection=CONNECTION
- Connection type to use. Most common options are paramiko (SSH), ssh, winrm and local. local is mostly useful for crontab or kickstarts.
-D, –diff
- When changing any templated files, show the unified diffs of how they changed. When used with –check, shows how the files would have changed if –check were not used.
-e EXTRA_VARS, –extra-vars=EXTRA_VARS
- Extra variables to inject into a playbook, in key=value key=value format or as quoted YAML/JSON (hashes and arrays). To load variables from a file, specify the file preceded by @ (e.g. @vars.yml).
–flush-cache
- Clear the fact cache.
–force-handlers
- Run handlers even if a task fails.
-f NUM, –forks=NUM
- Level of parallelism. NUM is specified as an integer, the default is 5.
-h, –help
- Show help page and exit.
-i PATH, –inventory=PATH
- The PATH to the inventory, which defaults to /etc/ansible/hosts. Alternatively, you can use a comma-separated list of hosts or a single host with a trailing comma host,.
-l SUBSET, –limit=SUBSET
- Further limits the selected host/group patterns. You can prefix it with ~ to indicate that the pattern is a regex.
–list-hosts
- Outputs a list of matching hosts; does not execute anything else.
–list-tags
- List all available tags; does not execute anything else.
–list-tasks
- List all tasks that would be executed; does not execute anything else.
-M DIRECTORY, –module-path=DIRECTORY
- The DIRECTORY search path to load modules from. The default is /usr/share/ansible. This can also be set with the ANSIBLE_LIBRARY environment variable.
–private-key=PRIVATE_KEY_FILE
- Use this file to authenticate the connection.
–start-at-task=START_AT
- Start the playbook at the task matching this name.
–step
- One-step-at-a-time: confirm each task before running.
-S, –su*
- Run operations with su (deprecated, use become).
-R SU-USER, –su-user=SU_USER
- Run operations with su as this user (default=root) (deprecated, use become).
-s, –sudo
- Run the command as the user given by -u and sudo to root (deprecated, use become).
–ssh-common-args=‘-o ProxyCommand="ssh -W %h:%p …" …‘
- Add the specified arguments to any sftp/scp/ssh command-line. Useful to set a ProxyCommand to use a jump host, but any arguments that are accepted by all three programs may be specified.
–sftp-extra-args=‘-f …‘
- Add the specified arguments to any sftp command-line.
–scp-extra-args=‘-l …‘
- Add the specified arguments to any scp command-line.
–ssh-extra-args=‘-R …‘
- Add the specified arguments to any ssh command-line.
-U SUDO_USERNAME, –sudo-user=SUDO_USERNAME
- Sudo to SUDO_USERNAME default is root. (deprecated, use become).
–skip-tags=SKIP_TAGS
- Only run plays and tasks whose tags do not match these values.
–syntax-check
- Look for syntax errors in the playbook, but don’t run anything.
-t, TAGS, –tags=TAGS
- Only run plays and tasks tagged with these values.
-T SECONDS, –timeout=SECONDS
- Connection timeout to use when trying to talk to hosts, in SECONDS.
-u USERNAME, –user=USERNAME
- Use this USERNAME to login to the target host, instead of the current user.
–vault-password-file=VAULT_PASSWORD_FILE
- Vault password file.
-v, –verbose
- Verbose mode, more output from successful actions will be shown. Give up to three times for more output.
–version
- Show program’s version number and exit.
Exit Status
0 — OK or no hosts matched1 — Error
2 — One or more hosts failed
3 — One or more hosts were unreachable
4 — Parser error
5 — Bad or incomplete options
99 — User interrupted execution
250 — Unexpected error
Environment
The following environment variables may be specified:ANSIBLE_INVENTORY — Override the default ansible inventory file
ANSIBLE_LIBRARY — Override the default ansible module library path
ANSIBLE_CONFIG — Override the default ansible config file
Many more are available for most options in ansible.cfg
Files
/etc/ansible/hosts — Default inventory file/usr/share/ansible/ — Default module library
/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
Copyright © 2012, Michael DeHaan Ansible is released under the terms of the GPLv3 License.
See Also
ansible(1), ansible-pull(1), ansible-doc(1), ansible-vault(1), ansible-galaxy(1)Extensive documentation is available in the documentation site: http://docs.ansible.com. IRC and mailing list info can be found in file CONTRIBUTING.md, available in: https://github.com/ansible/ansible
