जब के कारण यह व्यवहार है पूरी तरह से अच्छी तरह से कहा गया है से @flowerysong के जवाब, वहाँ एक वैकल्पिक समाधान है, आप का उपयोग कर सकते हैं प्राप्त करने के लिए अपने की आवश्यकता ।
चाल उपयोग कर रहा है तथ्य यह है कि आप को परिभाषित कर सकते हैं दो नाटकों एक playbook और, फिर, का उपयोग चर सेट पर host(s) के लिए पहली बार खेलने.
तो, हम क्या करने जा रहे हैं क्या है:
- रन पर एक नाटक
localhost
और एक तथ्य से आ रही मेजबान समूह है कि हम लक्ष्य को लक्षित करने के लिए दूसरे में खेलते हैं
- वैकल्पिक रूप से: मैं भी परिभाषित एक
target_hosts
चर में पहली बार खेलने के लिए, सुनिश्चित करें कि, अगर दूसरा खेल के लक्ष्य को संशोधित किया गया है, मेजबान समूह चर हमेशा होता है कि एक दूसरे को खेलने के लिए जा रहा है लक्ष्य.
- कि चर का उपयोग करें, दूसरे में खेलते हैं, से
localhost
's hostvars
अतिरिक्त ध्यान दें: वहाँ के लिए कोई लेखा है स्वाद, लेकिन मैं पसंद करते हैं इनलाइन अगर करने के लिए ternary
फिल्टर, अभी भी कर रहे हैं, वे सख्ती से बराबर की ।
तो, playbook:
- hosts: localhost
gather_facts: no
tasks:
- set_fact:
target_hosts: nodes
- set_fact:
host_set: "{{ hostvars[groups[target_hosts].0].host_set }}"
- hosts: "{{ hostvars.localhost.target_hosts }}"
gather_facts: no
serial: "{{ '100%' if hostvars.localhost.host_set else '1' }}"
tasks:
- debug:
- जब चलाने के लिए के साथ
host_set: true
में nodes
समूह:
PLAY [localhost] *******************************************************************************************************************
TASK [set_fact] ********************************************************************************************************************
ok: [localhost]
TASK [set_fact] ********************************************************************************************************************
ok: [localhost]
PLAY [nodes] ***********************************************************************************************************************
TASK [debug] ***********************************************************************************************************************
ok: [node1] =>
msg: Hello world!
ok: [node2] =>
msg: Hello world!
ok: [node3] =>
msg: Hello world!
PLAY RECAP *************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node1 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node2 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- जब चलाने के लिए के साथ
host_set: false
में nodes
समूह:
PLAY [localhost] *******************************************************************************************************************
TASK [set_fact] ********************************************************************************************************************
ok: [localhost]
TASK [set_fact] ********************************************************************************************************************
ok: [localhost]
PLAY [nodes] ***********************************************************************************************************************
TASK [debug] ***********************************************************************************************************************
ok: [node1] =>
msg: Hello world!
PLAY [nodes] ***********************************************************************************************************************
TASK [debug] ***********************************************************************************************************************
ok: [node2] =>
msg: Hello world!
PLAY [nodes] ***********************************************************************************************************************
TASK [debug] ***********************************************************************************************************************
ok: [node3] =>
msg: Hello world!
PLAY RECAP *************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node1 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node2 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0