मेरे पास एक प्लेबुक है जो एक रेडिस क्लस्टर और nutcracker प्रॉक्सी के रूप में स्थापित करेगी। कौन से मेजबान प्रति समूह परिभाषित करते हैं कि कौन से भूमिकाएं परिभाषित की जाती हैं। मैं कार्यों को चलाने के सामने एक सैनिटी चेक जोड़ना चाहता हूं, जो है:उत्तरदायी प्लेबुक चलाने से पहले स्वच्छता जांच -> मेजबान
- क्या वास्तव में एक प्रॉक्सी है? (समूह ए में 1 मेजबान)
- कम से कम एक redis नोड है (> = समूह बी में 1 मेजबान)
मैं पहले से ही, एक समाधान है, हालांकि मुझे लगता है कि यह बहुत बदसूरत है और सोचा कि हो गया है कुछ बेहतर है, लेकिन मुझे बस यह नहीं मिल रहा है। मैं वर्तमान में एक स्थानीय कार्य चलाता हूं जो प्लेबुक को फिर से सूची-होस्ट पैरामीटर के साथ बुलाता है और आउटपुट की जांच करता है।
- 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
यह काम करता है लेकिन इस अतिरिक्त कॉल के बिना समूह में होस्ट की संख्या की जांच करने का कोई आसान तरीका नहीं है?