अन्सिबल डायनामिक इन्वेंटरी - डॉट के बजाय अंडरस्कोर के साथ विशिष्ट टैग के तहत आईपी पते के साथ इन्वेंट्री उत्पन्न करते हैं


11

मैं Ansible के लिए नया हूं। जब मैं ec2.pyइन्वेंट्री जेनरेट करने के लिए डायनामिक इन्वेंट्री का उपयोग कर रहा हूं , तो प्लेबुक चलाने के लिए समाप्त होने के बाद, परिणाम डॉट के बजाय अंडरस्कोर के साथ विशिष्ट टैग के तहत आईपी पते की सूची के रूप में दिखाए जाते हैं। उदाहरण के लिए मैं विशिष्ट टैग के साथ इंस्टेंस पर एक प्लेबुक चलाना चाहता हूं, मुझे आश्चर्य है कि अन्य लोग आईपी पते के साथ कैसे काम करते हैं?

---
- hosts: tag_test_staging
  sudo: true
  tasks:
  - name: Make sure that we can connect to the machine
    ping:

    PLAY RECAP *********************************************************************
    10_80_20_47                : ok=0    changed=0    unreachable=1    failed=0 

निजी पते के लिए, ec2.ini:

hostname_variable = private_ip_address
destination_variable = private_ip_address
vpc_destination_variable = private_ip_address

Ec2.py से परिणाम:

 "tag_test_staging": [
    "10_80_20_47"
  ],

सार्वजनिक पते के लिए, ec2.ini:

hostname_variable = ip_address
destination_variable = public_dns_name
vpc_destination_variable = ip_address

Ec2.py से परिणाम:

 "tag_test_staging": [
    "52_28_11_11"
  ],

आपके लिए यह क्यों मायने रखता है कि स्क्रिप्ट का नाम प्रत्येक मेजबान को गैर-अल्फ़ान्यूमेरिक वर्णों के लिए अंडरस्कोर देता है?
असफ लवी

यह एक बहुत विशिष्ट उपकरण केंद्रित प्रश्न लगता है। उस के लिए सर्वरफॉल्ट है, और उस पर उसका विषय है सर्वरफॉल्ट . com/help/on-topic । यकीन नहीं कैसे विषय पर यहाँ, अगर बिल्कुल।
एवगेनी

@ ईवगेनी, मुझे यकीन नहीं है कि आप क्या मतलब है, http://devops.stackexchange.comअगर आप सवाल नहीं पूछते तो क्या मतलब है ? क्या यह DevOps प्रश्न नहीं है?
बर्लिन

जवाबों:


5

यह काम करता है अगर मैं hostname_variable टिप्पणी करता हूं, क्योंकि यह गंतव्य_variable का उपयोग करने के बजाय एक ec2 चर के साथ इन्वेंट्री_name को ओवरराइड करने की अनुमति देता है

#hostname_variable = private_ip_address
#hostname_variable = ip_address
destination_variable = public_dns_name
vpc_destination_variable = private_ip_address

निजी आईपी के लिए:

destination_variable = private_ip_address

काश, मैं एक ही व्यवहार देख रहा हूं, और hostname_variable को टिप्पणी करना इसे सही नहीं करता है।
टॉड वाल्टन

हालाँकि .... मैंने कई बार देखा है कि ini फ़ाइल को बदलने और ec2.py को फिर से चलाने से तुरंत सही जानकारी वापस नहीं आएगी। अजीब वायुसेना, सही है? लेकिन कई बार इसे आज़माने और इसे आज़माने के बाद, लगभग 20 मिनट के बाद इसने अचानक अंडरस्कोर के बजाय डॉट्स के साथ आईपी पते वापस करना शुरू कर दिया! मुझे नही पता।
टॉड वाल्टन

क्या आप जानते हैं कि अगर मैं एक शर्त करना चाहता हूं तो मैं क्या कर सकता हूं? उदा। vpc_destination_variable: "{{ip_address if ec2_platform == 'विंडोज़' अन्य Private_ip_address}}"
निमितैक

0

मेरी भी यही समस्या थी। मुझे डॉट्स के बजाय अंडरस्कोर के साथ आईपी पते वापस मिल रहे थे। लेकिन मैंने कई बार देखा है कि ini फ़ाइल को बदलने और ec2.py को फिर से चलाने से तुरंत सही जानकारी वापस नहीं आएगी। एक बार जब मैं Private_ip_address में बदल गया और यह थोड़ी देर के लिए Private_dns_name वापस करता रहा। इस बार, Private_ip_address में बदलने के बाद और इसे कई बार फिर से चलाने के बाद - इसे आज़माकर और इसे आज़माकर और इसे आज़माते हुए - लगभग 20 मिनट के बाद, यह अचानक अंडरस्कोर के बजाय डॉट्स के साथ IP पते वापस करने लगा! मुझे नही पता। अजीब वायुसेना, सही है?


कैशिंग "मुद्दा" की तरह लगता है। क्या आपने ec2.ini में 'cache_max_age' पैरामीटर को बदलने की कोशिश की है?
माल्ट

आप शायद पूरी तरह से सही हैं। मैं बस आज देख रहा था, वास्तव में। आप "./ec2.py --refresh-cache" चला सकते हैं।
टोड वाल्टन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.