Pour se faire, je passe pas une commande shell et un register pour pouvoir ensuite itérer sur ces fichiers.
Le playbook
Ci-dessous mon playbook :- name: "Récupération fichier à supprimer du répertoire" shell: ls -1 /tmp/emplacement/*.xml | grep -v un-fichier.xml | cat register: files_to_remove - name: "Ménage dans le répertoire." file: name={{item}} state=absent with_items: files_to_remove.stdout_lines
Seul petit problème, la tache Récupération fichier à supprimer du répertoire m'indique tout le temps qu'il y a eu un changement alors qu'en réalité non.
Ci-dessous un exemple pour illustrer ça :
TASK: [task | Récupération fichier à supprimer du répertoire] ** changed: [localhost] TASK: [task | Ménage dans le répertoire.] ********************** ok: [localhost] PLAY RECAP ***************************************************** localhost : ok=1 changed=1 unreachable=0 failed=0
Bloquer ce faux changement
Dans ce cas, il est intéressant d'utiliser l'option changed_when avec une condition afin de dire à Ansible que ma commande n'a rien modifiée (ici, ça sera False systématiquement).Si on l'applique à notre cas, notre main.yml ressemble maintenant à la chose suivante :
- name: "Récupération fichier à supprimer du répertoire" shell: ls -1 /tmp/emplacement/*.xml | grep -v un-fichier.xml | cat register: files_to_remove changed_when: False - name: "Ménage dans le répertoire." file: name={{item}} state=absent with_items: files_to_remove.stdout_lines
Dorénavant mes appels ne marquent plus cette tâche comme ayant changée quelque chose.
TASK: [task | Récupération fichier à supprimer du répertoire] ** ok: [localhost] TASK: [task | Ménage dans le répertoire.] ********************** ok: [localhost] PLAY RECAP ************************************************** localhost : ok=2 changed=0 unreachable=0 failed=0
Nice Post. You are Share great post and keep posting.
RépondreSupprimerWeight Loss Doctor in Meerut
Diabetes Management in Meerut
Software Development Company in Noida
SEO Services Hapur
Top 10 CBSC Schools in Meerut
Website Designing Services in Noida
SEO Company in Meerut
Best Electric Scooty in Meerut