我有一個劇本,它將設置一個redis羣集,nutcracker作爲代理。哪些主機扮演每個組的角色。我想在運行任務前添加理智檢查,即:運行完整的劇本之前的完整性檢查 - >統計主機
- 是否只有一個代理? (A組1個主機)
- 有至少一個Redis的節點(> = B組1個主機)
我已經有一個解決方案,但我認爲這是非常醜陋的,並認爲必須有更好的東西,但我無法找到它。我目前使用--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
這有效,但沒有一種簡單的方法來檢查組中的主機數量沒有這個額外的電話?