Ansible
List all tags
ansible-playbook -i host.targets -v site.yml --list-tags
Start at a specific task (life savior)
ansible-playbook -i host.targets -v site.yml --start-at-task "The audacious task"
List hosts
ansible-playbook -i host.targets -v site.yml --list-hosts
Limit hosts
ansible-playbook -i host.targets -v site.yml --limit hostname
Jinja2, templates & carriage return
To tell Jinja2 to not mess with carriage return in templates add
#jinja2: trim_blocks:False
---
at the top of the template file
Import vs include (kudos @href)
If you want to exec a sets of tasks when a condition is true, use import_tasks.
- name: Include init tasks
import_tasks: init.yml
tags:
- init
when: proof.stat.exists == False
ìnclude_tasks
will add all tasks to play run, even if the when condition is
false.
Exec task(s) if a specific service is found
- name: Is Docker running ?
service_facts:
- name: Push Telegraf docker input config if needed
template:
src: inputs/input.docker.conf.j2
dest: /etc/telegraf/telegraf.d/input.docker.conf
notify: reload telegraf
when: "'docker' in services"