अस्वीकरण: मैंने केवल OSX पर यह परीक्षण किया है। विभिन्न डॉक्स के आधार पर, मुझे उम्मीद है कि यह अन्य प्लेटफार्मों पर काम करेगा।
"प्रोजेक्ट डायरेक्टरी" वैग्रांट प्रोजेक्ट के लिए बेस डायरेक्टरी को संदर्भित करता है - जिसमें निर्देशिका शामिल है Vagrantfile।
वेजेंट द्वारा स्वतः-निर्मित इन्वेंट्री फ़ाइल स्वतः उत्पन्न:
Vagrant डिफ़ॉल्ट Ansible कनेक्शन var के साथ एक इन्वेंट्री फ़ाइल बनाता है । में इसके लिए देखो <project directory>/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory।
इस फाइल को आवश्यकतानुसार वैग्रांट द्वारा पुनर्जीवित किया जाएगा, इसलिए मैन्युअल संपादन ओवरराइट हो जाएंगे। हालाँकि, वैग्रान्ट डॉक्स के अनुसार, आप कई मशीनों, समूह संस्करणों आदि को निर्दिष्ट कर सकते हैं Vagrantfileऔर उन्हें इस सूची फ़ाइल में जोड़ दिया जाएगा।
इस इन्वेंट्री फ़ाइल में डिफ़ॉल्ट रूप से कॉन्फ़िगर करने योग्य कॉन्फ़िगर करें:
ansibleजब आप प्रोजेक्ट डायरेक्टरी (होस्ट पर) में हों तो कमांड द्वारा उपयोग की जाने वाली इस फाइल को डिफॉल्ट करने के लिए , ansible.cfgअपने प्रोजेक्ट डायरेक्टरी में इन कॉन्टेंट के साथ एक फाइल जोड़ें , जिससे जरूरत के अनुसार रास्ता बदल सके:
[defaults]
inventory = ./path/to/inventory
यह पुष्टि करने के लिए कि इस इन्वेंट्री फ़ाइल का उपयोग किया जा रहा है, इसे इस रूप में देखें कि डिफॉल्ट द्वारा ansible द्वारा रिपोर्ट की गई है:
(परियोजना निर्देशिका के भीतर से)
$ ansible | grep inventory
ERROR! Missing target hosts
-i INVENTORY, --inventory-file=INVENTORY
specify inventory host path (default=./.vagrant/provis
ioners/ansible/inventory/vagrant_ansible_inventory) or
अपने मेजबानों की पुष्टि करने के लिए:
$ ansible all --list-hosts
hosts (2):
master
slave
इन होस्ट के साथ उपयोग करने योग्य:
प्रोजेक्ट डायरेक्टरी के भीतर, आपको तब ansibleहोस्ट के साथ सामान्य उपयोग करने में सक्षम होना चाहिए जिसे आपने परिभाषित किया था Vagrantfile।
उदाहरण के लिए:
ansible slave -a 'hostname'
~/.ssh/config