2015-01-13 7 views
7

के परिणाम को अनदेखा कर रहा हूं मैं सॉल्टस्टैक के माध्यम से प्रावधान पर एक आदेश देने का प्रयास कर रहा हूं। यदि आदेश विफल रहता है तो मुझे राज्य विफल हो जाता है और मैं नहीं चाहता कि (आदेश का रीकोड कोई फर्क नहीं पड़ता)।साल्टस्टैक: cmd.run

Run something: 
    cmd.run: 
    - name: command_which_can_fail || true 

इस तरह राज्य नमक सुविधाओं का उपयोग कर retcode उपेक्षा बनाने के लिए किसी भी तरह से है:

वर्तमान में मैं निम्नलिखित तरीके को है? या शायद मैं इस राज्य को लॉग से बाहर कर सकता हूं?

उत्तर

9

उपयोग check_cmd:

fails: 
    cmd.run: 
    - name: /bin/false 

succeeds: 
    cmd.run: 
    - name: /bin/false 
    - check_cmd: 
     - /bin/true 

आउटपुट:

local: 
---------- 
      ID: fails 
    Function: cmd.run 
     Name: /bin/false 
     Result: False 
    Comment: Command "/bin/false" run 
    Started: 16:04:40.189840 
    Duration: 7.347 ms 
    Changes: 
       ---------- 
       pid: 
        4021 
       retcode: 
        1 
       stderr: 

       stdout: 

---------- 
      ID: succeeds 
    Function: cmd.run 
     Name: /bin/false 
     Result: True 
    Comment: check_cmd determined the state succeeded 
    Started: 16:04:40.197672 
    Duration: 13.293 ms 
    Changes: 
       ---------- 
       pid: 
        4022 
       retcode: 
        1 
       stderr: 

       stdout: 


Summary 
------------ 
Succeeded: 1 (changed=2) 
Failed: 1 
------------ 
Total states run:  2 
+0

चेक_cmd अब 2017.7.0 – Dereckson

+1

@ डेरेक्सन नंबर पर मौजूद नहीं है, यह अभी भी है? https://docs.saltstack.com/en/2017.7/ref/states/requisites.html#check-cmd मैंने अभी 2017.7.2 के साथ स्निपेट को दोबारा रेट किया है और यह अभी भी अपेक्षित के रूप में काम करता है। – oeuftete

0

साल्ट द्वारा किसी भी समय एक "cmd" राज्य द्वारा चलाए जा रहे हो जाती है, कि कुछ आपके सिस्टम पर बदला जा रहा है। तो यह आपके सीएमडी विफल होने पर आपको चेतावनी देना चाहता है।

मुझे डर है कि इस समय कुछ राज्य विफलताओं को अनदेखा करने का कोई अंतर्निहित तरीका नहीं है। आप परवाह नहीं है तो क्या आदेश का परिणाम है आप https://github.com/saltstack/salt/issues

1

पर एक सुविधा का अनुरोध कर सकते हैं, तो आप उपयोग कर सकते हैं:

Run something: 
cmd.run: 
    - name: command_which_can_fail; exit 0 

यह नमक 2017.7.0 में परीक्षण किया गया था, लेकिन शायद में काम करेगा पहले के संस्करण।

संबंधित मुद्दे