मैं Ansible सीख रहा हूँ। और मैं आधिकारिक दस्तावेज़ों का पालन कर रहा था:

लेकिन मेरा एक छोटा सा सवाल है। सूची में वार्स का उपयोग कैसे करें?

मैंने कुछ डिफ़ॉल्ट पैरामीटर जैसे self_destruct_countdown का उपयोग करने का प्रयास किया है।

[pruebascomandos]
MY-SERVER-IP self_destruct_countdown=60
OTHER-MY-SERVER-IP

और सभी समूह में लागू चर का उपयोग करना। अपने स्वयं के var के साथ।

[pruebascomandos:vars]
example=true

लेकिन मेरी समस्या यह है कि दोनों ही मामलों में मैं var के साथ जाँच करने की कोशिश करता हूँ:

$ ansible pruebascomandos -m shell -a "echo $self_destruct_countdown"

$ ansible pruebascomandos -m shell -a "echo $example"

और दोनों ही मामलों में मुझे खाली प्रतिक्रिया मिलती है। मुझे यकीन नहीं है कि क्यों।

अगर कोई समझा सकता है कि क्यों या मुझे बताएं कि इसे कहां पढ़ना है तो यह बहुत अच्छा होगा। सभी को धन्यवाद!

0
redxlus 15 जून 2020, 09:39

1 उत्तर

सबसे बढ़िया उत्तर

डबल ब्रेसेस वेरिएबल का मूल्यांकन करने के लिए {{ }} की आवश्यकता होती है। इसे इस्तेमाल करे

shell> ansible pruebascomandos -i hosts -m shell -a "echo {{ example }}"
test_01 | CHANGED | rc=0 >>
true
test_02 | CHANGED | rc=0 >>
true

shell> ansible pruebascomandos -i hosts -m shell -a "echo {{ self_destruct_countdown }}"
test_02 | FAILED | rc=-1 >>
The task includes an option with an undefined variable. The error was: self_destruct_countdown is undefined
test_01 | CHANGED | rc=0 >>
60

होस्ट test_02 विफल हो गया क्योंकि चर self_destruct_countdown को केवल test_01 के लिए परिभाषित किया गया था।

shell> cat hosts
[pruebascomandos]
test_01 self_destruct_countdown=60
test_02

[pruebascomandos:vars]
example=true
1
Vladimir Botka 15 जून 2020, 07:19