2015-01-13 17 views
7

Saltstack aracılığıyla temel hazırlık hakkında bir komut çağırmaya çalışıyorum. Komut başarısız olursa, durum başarısız oluyor ve bunu istemiyorum (komutun yeniden kodlanması önemli değil).Saltstack: cmd.run öğesinin yoksayılması sonucu

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

böyle devlet tuz özelliklerini kullanarak Retcode görmezden yapmak için herhangi bir yolu vardır:

Şu anda aşağıdaki geçici çözümü var mı? ya da bu durumu günlüklerden hariç tutabilir miyim?

cevap

9

Kullanım check_cmd:

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

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

Çıktı:

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

check_cmd artık mevcut değil 2017.7.0 – Dereckson

+1

@Dereckson Hayır, hala orada mısın? https://docs.saltstack.com/en/2017.7/ref/states/requisites.html#check-cmd Yukarıdaki snippet'i 2017.7.2 ile yeniden test ettim ve hala beklendiği gibi çalışıyor. – oeuftete

0

Tuz şey sisteminizde değiştirilmesi gidiyor, bir "cmd" devlet çalıştıran her zaman varsayar. Yani, cmd'niz başarısız olduğunda sizi uyarmak istiyor.

Korkarım ki, şu anda bazı devlet arızalarını görmezden gelmenin yerleşik bir yolu yoktur. Eğer komutun sonucu ne umursamıyorsan Sen https://github.com/saltstack/salt/issues

1

bir özellik isteği yapabilir, şunları kullanabilirsiniz:

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

Bu Salt 2017.7.0 test edildi ama muhtemelen çalışacağını önceki versiyonlar.