J'ai un playbook qui va configurer un cluster redis et nutcracker comme proxy. Quels hôtes jouent quels rôles sont définis par groupes. Je voudrais ajouter une vérification de santé mentale devant l'exécution des tâches, c'est-à-dire:Vérification de l'état de santé avant l'exécution de la lisibilité ansible -> comptes hôtes
- Existe-t-il exactement un proxy? (1 hôte dans le groupe A)
- Y at-il au moins un noeud de Redis (> = 1 hôte dans le groupe B)
J'ai déjà une solution, mais je pense qu'il est assez laid et pensé qu'il doit y avoir quelque chose de mieux, mais je ne peux pas le trouver. J'exécute actuellement une tâche locale appelant à nouveau le playbook avec le paramètre --list-hosts et vérifie la sortie.
- 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
Cela fonctionne mais n'existe pas un moyen simple de vérifier le nombre d'hôtes dans un groupe sans cet appel supplémentaire?