2010-12-13 15 views
24

मैं सर्वर को कॉन्फ़िगर करने के लिए कठपुतली का उपयोग कर रहा हूं। मैं * .erb टेम्पलेट में वर्तमान मशीन (नोड) नाम मुद्रित करना चाहता हूं। होस्टनाम चर है, लेकिन इसमें puppetmaster hostname है। क्या इस विषय के बारे में कोई अच्छा संदर्भ/सूची है?कठपुतली नोड होस्टनाम

उत्तर

28

ऐसा लगता है कि मैंने कहीं याद किया है।

<%= @hostname %> 

संपादित करें:: मैं बस * .erb टेम्पलेट में निम्न कोड लागू करके प्राप्त कर सकते हैं (प्रिंट) नोड होस्ट नाम कठपुतली 3 के रूप में, स्थानीय चर का उपयोग कर (यानी hostname हटाई गई है, कठपुतली 4 उनके लिए समर्थन निकाल देंगे (@ उपसर्ग के साथ पूरी तरह से सुझाया गया तरीका उदाहरण चर का उपयोग करने के लिए है इस मामले में तो, @hostnameSource

+0

आह, मैं वास्तव में हैरान था, क्योंकि के लिए "FQDN" मैं पूरा होस्ट नाम ("myhost.acnemcom" की तरह) मिलता है मेरे मामले में, के लिए है, जबकि "होस्टनाम" मुझे लघु संस्करण मिलता है (जिसे कमांड होस्टनाम द्वारा लौटाया जाता है), जैसे "मायहोस्ट"। किसी भी मामले में मुझे कठपुतली मेजबान मेजबान नहीं मिलता है। – PierluigiVernetto

23

अपने टर्मिनल में निम्न आदेश में प्रवेश कर उपलब्ध चर वापस आ जाएगी आपकी ERB फाइलों में:।।।

facter --puppet 
+1

बढ़िया! इससे बहुत मदद मिलती है। –

+1

हां! यह ज्ञान का एक उपयोगी टुकड़ा है। – JCotton

+1

यह उत्तर दिखाता है कि मैं 'होस्टनाम' नहीं चाहता लेकिन 'fqdn' इसके बजाय मेरा आवेदन बना सकता हूं। –

6

उपरोक्त सभी के लिए हाँ; आप जो भी कर रहे हैं उसके आधार पर आपको fqdn वैरिएबल उपयोगी भी मिल सकता है।

आप अपने आप को मिलती है, तो एक टेम्पलेट में कठपुतली मास्टर सर्वर की जानकारी की आवश्यकता होगी, के लिए, आप चर का उपयोग कर सकते हैं servername, serverip, और serverversion (From the FAQ)।

2

हालांकि ध्यान दें, यह नोड नाम के बजाय होस्टनाम है (जिसे आपने मूल रूप से पूछा था)। 99% मामलों में, ये वही होंगे। AFAIK टेम्पलेट्स में वास्तविक नोड नाम प्राप्त करने का कोई तरीका नहीं है (और यदि वहां है, तो मुझे यह सुनना अच्छा लगेगा)।

4

जाहिर है अब आप

<%= fqdn %> 

का उपयोग करें और DNS नाम रिवर्स मिल सकती है।

आप इसे लोअरकेस की जरूरत है, वास्तव में उपयोग करने

<%= fqdn.downcase %> 
संबंधित मुद्दे