(Relativo a callback o hook e serie riutilizzabili di attività, in ruoli Ansible ):
Esiste un modo migliore per aggiungere a un elenco o aggiungere una chiave a un dizionario in Ansible rispetto a (ab) usando un'espressione template jina2?
So che puoi fare qualcosa del tipo:
- name: this is a hack
shell: echo "{% originalvar.append('x') %}New value of originalvar is {{originalvar}}"
ma non esiste davvero alcun tipo di meta task o aiuto per farlo?
Sembra fragile, sembra non documentato e si basa su molte ipotesi su come funzionano le variabili in Ansible.
Il mio caso d'uso è costituito da più ruoli (estensioni del server di database), ciascuno dei quali deve fornire una configurazione a un ruolo di base (il server di database). Non è semplice come aggiungere una riga al file di configurazione del server db; ogni modifica si applica alla stessa linea , ad esempio le estensioni bdr
e pg_stat_statements
devono apparire entrambe su una linea target:
shared_preload_libaries = 'bdr, pg_stat_statements'
Il modo Ansible è fare questo per elaborare il file di configurazione più volte (una volta per estensione) con una regexp che estrae il valore corrente, lo analizza e quindi lo riscrive? Se è così, come lo fai idempotente su più corse?
Che cosa succede se la configurazione è più difficile da analizzare e non è così semplice come aggiungere un altro valore separato da virgola? Pensa ai file di configurazione XML.