Ansible: la commande setup

La comande setup permet d'obtenir un inventaire exhaustif des hosts de l'inventaire.

La documentation Ansible en ligne

Attention, cette commande retourne un json de plus de 1000 lignes contenant toutes les informations du ou des hosts interrogés.

Chaque clé du json peut être utilisée dans les playbooks Ansible grâce à la variable ansible_facts.

$ ansible -m setup SERVER1
SERVER1 | SUCCESS => {
    "ansible_facts": {
        "ansible_all_ipv4_addresses": [
            "10.50.2.253",
            "172.17.0.1"
        ],
...
       "module_setup": true
    },
    "changed": false
}

Il est possible de filtrer directement sur un paramètre précis.

$ ansible -m setup SERVER1 -a "filter=ansible_processor_nproc"
SERVER1 | SUCCESS => {
    "ansible_facts": {
        "ansible_processor_nproc": 2
    },
    "changed": false
}

Pour info, tout comme les hosts présents dans le fichier inventaire, le serveur Ansible lui-même peut être utilisé grâce au mot clé localhost.

$ ansible -m setup localhost -a "filter=ansible_loadavg"
localhost | SUCCESS => {
    "ansible_facts": {
        "ansible_loadavg": {
            "15m": 0.43,
            "1m": 1.9,
            "5m": 0.78
        }
    },
    "changed": false
}

Etiquettes: