Ho un playbook che configurerà un cluster redis e nutcracker come proxy. Quali host giocano quali ruoli sono definiti per gruppi. Vorrei aggiungere un controllo di integrità prima dell'esecuzione delle attività, ovvero:Controllo di integrità prima di eseguire il playbook ansible -> contare gli host
- Esiste esattamente un proxy? (1 host nel gruppo A)
- C'è almeno un nodo Redis (> = 1 host nel gruppo B)
ho già una soluzione, anche se penso che sia abbastanza brutto e pensato che ci deve essere qualcosa di meglio, ma proprio non riesco a trovarlo. Attualmente eseguo un'attività locale richiamando di nuovo il libro di gioco con il parametro --list-hosts e controllando l'output.
- name: Make sure there is only one proxy defined
shell: ansible-playbook -i {{ inventory_file }} redis-cluster.yml --tags "redis-proxy" --list-hosts
register: test
failed_when: test.stdout.find("host count=1\n") == -1
changed_when: 1 == 2
che funziona, ma non c'è un solo modo per verificare il numero di host in un gruppo senza questa chiamata in più?