ansible-galaxy init roles/myrole
ansible-playbook -C -D -i <inventory> [-u <ssh-user>] [-t tag1,tag2] [--list-hosts] [-l host1,host2] play.yml
-C check_mode
-D show file diffs
ansible-playbook -i inventory/ec2.py meta.yml --list-hosts -l "tag_Name_a:&tag_Role_b:&tag_Environment_c"
ansible-playbook foo.yml --check
ansible-playbook --list-tasks <role>.yml
e.g
ansible-playbook --list-tasks test.yml
Output:
playbook: test.yml
play #1 (default): Test playbook TAGS: []
tasks:
debug TAGS: [subset]
testrole1/subset2 : Subset2 role task1 TAGS: [subset2]
testrole1/subset2 : Subset2 role task2 TAGS: [subset2]
debug TAGS: [subset3]
ansible-playbook -i <inventory> --list-hosts <playbook>.yml
e.g
ansible-playbook -i ../development.ini --list-hosts nginx.yml
Output:
playbook: oracle.yml
play #1 (oracle): Install and configure nginx server TAGS: []
pattern: [u'oracle']
hosts (2):
vm2
vm1
ansible -i <inventory> <host/hostgroup> -a <command>
e.g
ansible -i development.ini vm1 -a "date"
Output:
192.XXX.XXX.XXX | SUCCESS | rc=0 >>
Sat Apr X XX:46:06 BST 20XX
ansible -i <inventory> <host> -m setup
e.g
ansible -i development.ini vm1 -m setup
Output:
"ansible_selinux": {
"config_mode": "enforcing",
"mode": "enforcing",
"policyvers": 28,
"status": "enabled",
"type": "targeted"
},
"ansible_service_mgr": "systemd",
...
ansible -m ping -i <inventory> <host>
e.g
ansible -m ping -i development.ini vm1
Output:
192.XXX.XXX.XXX | SUCCESS => {
"changed": false,
"ping": "pong"
}
for f in $(grep -rl '$ANSIBLE_VAULT;1.1'); do echo $f:; ansible-vault view $f | grep <pattern>; done
Reference links:
Official:
- [Ansible - Docs] (http://docs.ansible.com/ansible/index.html)
- [Ansible - Module] Index (http://docs.ansible.com/ansible/modules_by_category.html)
- [Ansible - Module] All (http://docs.ansible.com/ansible/list_of_all_modules.html)
Others:
- [ansible-files-layout] (https://leucos.github.io/ansible-files-layout)
- [ansible-best-practises] (https://github.com/enginyoyen/ansible-best-practises)