मौजूदा मशीन का होस्ट नाम कैसे प्राप्त करें जैसा कि Ansible Host फ़ाइल में परिभाषित किया गया है?


166

मैं एक युगल सर्वर स्थापित करने के लिए एक Ansible playbook की स्थापना कर रहा हूँ। कुछ कार्य ऐसे हैं जिन्हें मैं केवल चलाना चाहता हूं यदि वर्तमान होस्ट मेरा स्थानीय देव होस्ट है, जिसे मेरे होस्ट फ़ाइल में "स्थानीय" नाम दिया गया है। मैं यह कैसे कर सकता हूँ? मैं इसे कहीं भी प्रलेखन में नहीं मिल सकता।

मैंने स्टेटमेंट के दौरान यह कोशिश की है, लेकिन यह विफल हो जाता है क्योंकि ansible_hostnameमशीन के बनाए जाने पर होस्ट नाम से हल होता है, न कि वह जिसे आप अपने होस्ट्स फ़ाइल में परिभाषित करते हैं।

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"

जवाबों:



2

आप अपने इन्वेंट्री में अपने विशेष होस्ट लेबल 'लोकल' पर भरोसा किए बिना अपने नाटकों में मेजबान हेडर को बदलकर एक प्लेबुक का दायरा सीमित कर सकते हैं। लोकलहोस्ट को आविष्कारों में एक विशेष लाइन की आवश्यकता नहीं है।

- name: run on all except local
  hosts: all:!local

hosts: !localhostशायद बहुत काम करता है जैसे कि --limit '!dev'काम करता है
टिम्डील्स

0

यह एक विकल्प है:

- name: Install this only for local dev machine
  pip: name=pyramid
  delegate_to: localhost
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.