Ansible Tower - Workflow

Exemple d’un workflow complet : création d’un inventory, d’un projets, d’un job template, d’un playbook et d’un job sous Git. (On considère ici que votre organisation existe déjà ainsi que vos utilisateurs/groupes et que votre Tower communique bien avec vos machines clients)

Workflow

Création d’un Job (git)

Sous Git, créer un projet TEST et cette arboressence :

TEST
|- playbooks/
| |- Create-a-file-in-directory.yml
|- ansible.cfg

Ainsi qu’un fichier Create-a-file-in-directory.yml qui contient :

---
- name: TEST PLAYBOOK Aline
hosts: all
vars:
current_date: "{{ lookup('pipe', 'date +%Y-%m-%d-%H:%M:%S') }}"

tasks:
- name: Create a directory if it does not exist
file:
path: /home/aline-adm/TESTS-TOWER
state: directory
owner: aline-adm
group: wheel
mode: '0755'

- name: Touch a file and add some permissions
file:
path: /home/aline-adm/TESTS-TOWER/file-{{ current_date }}.txt
owner: aline-adm
group: wheel
state: touch
mode: u+rw,g+r,g-wx,o-rwx

Le fichier ansible.cfg est la configuration de votre Ansible mais Tower va l’écraser si un autre fichier y est défini.

Création d’un inventory

Dans Menu > Iventory :

Ajouter ensuite votre host :

Création d’un projet

Dans Menu > Project :

Création d’un job template

Dans Menu > Template :

Déroulement du job

Dans Menu > Job > Icône fusée :

Documentation

https://docs.ansible.com/ansible-tower/latest/html/userguide/organizations.html
https://docs.ansible.com/ansible-tower/3.8.6/html/installandreference/glossary.html

> Partager <