Sto cercando di recuperare l'ID gruppo di due gruppi ( syslog
e utmp
) per nome usando un'attività Ansible. A scopo di test ho creato un playbook per recuperare le informazioni dall'host Ansible stesso.
---
- name: My playbook
hosts: enabled
sudo: True
connection: local
gather_facts: False
tasks:
- name: Determine GIDs
shell: "getent group {{ item }} | cut -d : -f 3"
register: gid_{{item}}
failed_when: gid_{{item}}.rc != 0
changed_when: false
with_items:
- syslog
- utmp
Sfortunatamente visualizzo il seguente errore durante l'esecuzione del playbook:
fatal: [hostname] => error while evaluating conditional: gid_syslog.rc != 0
Come posso consolidare un'attività come questa in una forma parametrizzata durante la registrazione di variabili separate , una per articolo , per un uso successivo? Quindi l' obiettivo è avere variabili basate sul nome del gruppo che possono essere utilizzate in attività successive.
Sto usando il int
filtro gid_syslog.stdout
e gid_utmp.stdout
per fare alcuni calcoli basati sul GID nelle attività successive.
Ho anche provato a utilizzare gid.{{item}}
e gid[item]
invece di gid_{{item}}
non avere alcun risultato.
Quanto segue funziona bene in contrasto con quanto sopra:
---
- name: My playbook
hosts: enabled
sudo: True
connection: local
gather_facts: False
tasks:
- name: Determine syslog GID
shell: "getent group syslog | cut -d : -f 3"
register: gid_syslog
failed_when: gid_syslog.rc != 0
changed_when: false
- name: Determine utmp GID
shell: "getent group utmp | cut -d : -f 3"
register: gid_utmp
failed_when: gid_utmp.rc != 0
changed_when: false