Outils pour utilisateurs

Outils du site


tech:notes_ansible_module_set_stats

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tech:notes_ansible_module_set_stats [2025/03/24 15:06] – créée - modification externe 127.0.0.1tech:notes_ansible_module_set_stats [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Ansible CA}}
 +
 +# Notes Ansible module set_stats
 +
 +Voir :
 +  * https://docs.ansible.com/ansible/latest/collections/ansible/builtin/set_stats_module.html
 +  * https://docs.ansible.com/ansible-tower/latest/html/userguide/workflows.html
 +  * https://stackoverflow.com/questions/49001108/ansible-tower-set-stats-does-not-seem-to-work
 +  * https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/set_stats.py
 +
 +~~~bash
 +env ANSIBLE_SHOW_CUSTOM_STATS=yes ./playbook.yml -i test-ansible,test-ansible2,
 +~~~
 +
 +Pour ne pas systématiquement devoir mettre `ANSIBLE_SHOW_CUSTOM_STATS=yes` il est possible de mettre ce fichier ansible.cfg à la racine du projet (même arborescence que le playbook)
 +
 +`ansible.cfg`
 +~~~ini
 +[defaults]
 +show_custom_stats = True
 +~~~
 +
 +`playbook.yml`
 +~~~yaml
 +#!/usr/bin/ansible-playbook
 +---
 +
 +- name: play
 +  hosts: all
 +
 +  tasks:
 +    - name: set stats
 +      set_stats:
 +        data:
 +          var1: plop
 +~~~
 +
 +~~~
 +CUSTOM STATS: ***********************************************************************************************************************************************
 +
 +        RUN: { "var1": "plopplop"}
 +~~~
 +
 +
 +`playbook.yml`
 +~~~yaml
 +#!/usr/bin/ansible-playbook
 +---
 +
 +- name: play
 +  hosts: all
 +
 +  tasks:
 +    - name: set stats
 +      set_stats:
 +        data:
 +          var1: plop
 +        aggregate: no
 +~~~
 +
 +~~~
 +CUSTOM STATS: ***********************************************************************************************************************************************
 +
 +        RUN: { "var1": "plop"}
 +~~~
 +
 +Si `aggregate: no` sur plusieurs machines, la variable est écrasée, c'est la dernière valeur qui l'emporte.
 +
 +`playbook.yml`
 +~~~yaml
 +#!/usr/bin/ansible-playbook
 +---
 +
 +- name: play
 +  hosts: all
 +
 +  tasks:
 +    - name: set stats
 +      set_stats:
 +        data:
 +          var1: plop
 +        per_host: yes
 +
 +~~~
 +
 +~~~
 +CUSTOM STATS: ***********************************************************************************************************************************************
 +        test-ansible: { "var1": "plop"}
 +        test-ansible2: { "var1": "plop"}
 +~~~
 +
 +Filtrer le set_stats
 +~~~bash
 +env ANSIBLE_SHOW_CUSTOM_STATS=yes ./playbook.yml -i inv.yaml | sed -n -e '/CUSTOM STATS:/,/$/p' | sed -e '/CUSTOM STATS:/d' | sed -e 's/[a-zA-Z0-9]*://' | jq .
 +~~~
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki