Ansible playbooks
Ansible playbooks[1] are written in YAML text files and define actions to execute against host/devices, check official Ansible playbook introduction: https://docs.ansible.com/ansible/devel/user_guide/playbooks_intro.html
Contents
Task definitions or Playbooks[edit]
Task definitions are defined in text files, called playbooks in Ansible terminology, in YAML format. Execution of task definitions or playbooks are make using ansible-playbook command followed by your desired playbook to execute. Playbooks can also use Jinja templates to enable dynamic expressions and access to variables[2].
Ansible Playbook execution:
ansible-playbook my_new_created_playbook.ymlansible-playbook my_new_created_playbook.yml -f 10-f 10 parallelize 10 executions
-f forks
Create "Executable" Playbooks[edit]
Add the following line #!/usr/bin/env ansible-playbook at the beginning of your playbooks and make it executable chmod +x /path/to/your/playbook.yml to execute without calling ansible-playbook binary.
Ansible Playbooks Examples[edit]
Create a new file touch /tmp/test_file.txt, REMOTE_SERVER should be already present in your Ansible inventory:/etc/ansible/host
Playbook using module file[3]:
#!/usr/bin/env ansible-playbook - hosts: REMOTE_SERVER_HOSTNAME tasks: - name: Ansible create a new file called test_fle.txt in /tmp directory file: path: "/tmp/test_file.txt" state: touch
Important Note: dash symbol (-) and indentation has to be properly formatted.
Additional examples:
Errors[edit]
A playbook must be a list of plays
Variables[edit]
You can use variables in your playbooks, check official documentation for further information: https://docs.ansible.com/ansible/devel/user_guide/playbooks_variables.html
Activities[edit]
- Read Ansible introduction to playbooks: https://docs.ansible.com/ansible/devel/user_guide/playbooks_intro.html
- Review different options for running playbooks, including:
--limit - Review
--checkoption - Review Ansible playbooks examples
See also[edit]
- Ansible: modules, plugins, Playbooks (examples)
ansible-playbook,ansible-vault,ansible-inventory,ansible-config, Ansible Tower, Ansible Galaxy (Roles) (ansible-galaxy),ansible-cmdb,gather facts,ansible.cfg,Ansible Molecule, Ansible collections,register,template,--ask-pass,--ask-become-pass,remote_user:,/etc/ansible/hosts,ansible-doc,ansible-lint,.ansible/,--forks,--start-at-task,changelog,inventory,Notify:,ansible HOSTNAME -m ping,gathering,/usr/bin/ansible,ansible -m ping,ansible.builtin,hosts: (Ansible),set fact:,when:,blockinfile:,become method:,include:,git:, AWX,ansible --help, Tags, Ansible variables, versions
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.
Source: wikiversity
Advertising: