У меня есть playbook, который настроит кластер Redis и щелкунчик в качестве прокси. Какие хосты играют какие роли определяются для каждой группы. Я хотел бы добавить проверку работоспособности перед запуском задач, то есть:
- Там точно один прокси? (1 хозяин в группе А)
- Есть ли хотя бы один узел redis (>=1 узел в группе B)
У меня уже есть решение, хотя я думаю, что оно довольно уродливое, и я думал, что должно быть что-то лучше, но я просто не могу его найти. В настоящее время я запускаю локальную задачу, снова вызывающую playbook с параметром --list-hosts, и проверяю вывод.
- 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
Это работает, но нет ли простого способа проверить количество хостов в группе без этого дополнительного вызова?