मैं फ़्लिप किए गए Ansible कार्यों को दिखाने से कैसे बचूँ?


14

मेरी प्लेबुक का आउटपुट हमेशा पूरी तरह से बेकार आउटपुट से भरा होता है, जिसके बारे में काम छोड़ दिया गया है, जिससे मुझे गुज़रने और विशिष्ट जानकारी प्राप्त करने में कष्टप्रद और समय लगता है।

यहाँ एक प्लेबुक का एक उदाहरण है

- name: Stopping Puppet Agent
  service: name=pe-puppet state=stopped
  ignore_errors: true
  register: result
- include: rollback/restart-pe-puppet.yml
  when: result|failed

और संबंधित उत्पादन:

TASK: [name | Stopping Puppet Agent] **************************************
<server.name> REMOTE_MODULE service name=pe-puppet state=stopped
changed: [server.name] => {"changed": true, "name": "pe-puppet",     "state":"stopped"}

TASK: [name | judge_log msg='Restarting pe-puppet'] ***********************
skipping: [server.name]

TASK: [name | starting pe-puppet] *****************************************
skipping: [server.name]

TASK: [name | judge_log msg='pe-puppet restart successful'] ***************
skipping: [sserver.name]

TASK: [name | judge_log msg='pe-puppet restart failed' sec=FATAL] *********
skipping: [server.name]

TASK: [name | fail msg="Failed to start pe-puppet."] **********************
skipping: [server.name]

TASK: [name | judge_log msg='{{APP_NAME | capitalize}} deployment failed.'] ***
skipping: [server.name]

TASK: [name | fail msg="The {{APP_NAME | capitalize}} deployment failed."] ***
skipping: [server.name]

लगभग वह सब आउटपुट मेरे लिए बेकार है। यह display_skipped_hostsकहता है कि यह अभी भी कार्य शीर्षलेख प्रकट करने का कारण बनता है। वहाँ पूरी तरह से छोड़ दिया कार्यों को छोड़ देना है?


यदि आप ansible कोड को संपादित करने से खुश हैं, तो आप इस लाइनmsg = '' से पहले लाइन जोड़ने की कोशिश कर सकते हैं
masegaloeh

जवाबों:


13

मैं किसी भी कोड को बदले बिना दूसरे तरीके का उपयोग करता हूं:

आउटपुट प्रदर्शित करने के लिए उत्तर देने योग्य 'डिफ़ॉल्ट' कॉलबैक प्लगइन का उपयोग करें, लेकिन आप 'डिफ़ॉल्ट' के बजाय 'स्किप्पी' कॉलबैक प्लगइन का उपयोग कर सकते हैं। 'स्किप्पि' स्किप किए गए कार्यों को छोड़कर 'डिफ़ॉल्ट' का उपयोग करें।

'स्किप्ड' प्लगइन का उपयोग करने के लिए, अपनी ansible.cfg फ़ाइल में निम्न पंक्ति (या इसे अनइंस्टॉल करें) जोड़ें:

stdout_callback = skippy

आपको ansible.cfg को स्थानीय बनाने के लिए, कमांड का उपयोग करें:

ansible --version

यदि आपके पास यह फ़ाइल नहीं है, तो उदाहरण योग्य स्रोतों से फ़ाइल प्राप्त करें और इसे अपने कार्यशील फ़ोल्डर में कॉपी करें जहाँ से आप कॉल करते हैं।


4

अब, skippyमॉड्यूल को हटा दिया गया है।

ansible.cfgअपनी परियोजना के मूल में बनाएँ , और निम्नलिखित निर्देश जोड़ें:

[defaults]
display_skipped_hosts = no

आप अपनी वैश्विक कॉन्फ़िगरेशन फ़ाइल को भी संपादित कर सकते हैं /etc/ansible/ansible.cfg


2

यदि दस्तावेज़ कहता है कि हेडर अभी भी दिखाई दे रहा है, तो आप इसे तब तक नहीं टाल सकते जब तक आप कोड को संपादित करके अपने व्यवहार में परिवर्तन नहीं करते। यदि आप अभी भी इसे संपादित करने के लिए जोर देते हैं, तो आप फ़ाइल खोजने lib/ansible/callbacks.pyऔर स्ट्रिंग की इस पंक्ति को जोड़ने का प्रयास कर सकते हैं

msg = ''

इस लाइन से पहले

display(msg, color='cyan', runner=self.runner)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.