saltstack在windows用戶端遠程執行指令碼提示路徑不對的問題

來源:互聯網
上載者:User

標籤:就是   com   遇到   echo   2.7.5   ima   roc   script   解答   

saltstack windows 用戶端遠程執行指令碼提示路徑不對的問題

環境:

salt-master ==2018.3.0

salt-minion ==2018.3.0

python== 2.7.5

centos==7

問題描述:

salt有個遠程執行命令的模組cmd.script,在使用該模組時,出現錯誤:

salt ‘minion-id’ cmd.script salt://test.ps1 shell=powershell 

其中salt://為/etc/salt.conf定義的base路徑,其下存放了test.ps1的指令碼

# vim test.ps1

echo test

返回錯誤資訊:

查看windows用戶端日誌c:\salt\var\log\salt\minion:

查看目錄確實minion已從master下載到window臨時目錄且隨機重新命名

經查,系因為2018.3.0版本salt有bug,該bug是把執行的指令碼進過轉換成python的列表list,然後又重新轉換回字串string類型,期間會加上單引號“’”,但是windows無法識別帶單引號的指令碼名稱路徑格式,從而導致問題,具體可見python原始碼。

其實從2017.4版本就有,2017.7版本修複,但是因為開了另一個版本分支,因此2018.3.0沒有修複該bug,只有2018.3.1才修複了。

https://github.com/saltstack/salt/pull/45716

https://github.com/saltstack/salt/pull/45716

 

解決辦法:

升級salt-master到2018.3.1版本,升級salt-minion到2018.3.1版本與master保持一致。

成功重新執行命令並擷取返回結果:

 

經驗:

  1. 在選擇工具的版本時,還是要多注意官網上的release note 說明,選擇較正常和穩定的版本避免後續遇到更多奇葩問題。

  2. 在提問或者協助asker解決問題時,也要注意check版本資訊,否則總會有些情況:為什麼我明明follow正確解決方案來做就是不行?!

  3. 在解決的過程中,不知不覺就能掌握很多東西。

  4. 多看官網和社區,國內沒人能解答。

 

saltstack在windows用戶端遠程執行指令碼提示路徑不對的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.