從 salt master 安裝 WIndows 應用程序時出錯
我正在嘗試通過鹽在 Windows 伺服器 2012 R2 上安裝 Icinga。
我創建了一個 icinga.sls 文件並將其儲存在 /srv/salt/win/repo-ng 中。
文件內容:
icinga: '2.4.7': full_name: 'Icinga2-v2.4.7' installer: 'salt://win/repo-ng/Icinga2-v2.4.7-x86.msi' uninstaller: 'http://packages.icinga.org/windows/Icinga2-v2.4.7-x86.msi install_flags: '/qn /norestart' uninstall_flags: '/qn /norestart' msiexec: True locale: en_US reboot: False
我還將 Icinga2-v2.4.7-x86.msi 文件複製到 /srv/salt/win/repo-ng。
我執行 salt minion_name pkg.refresh_db
我在伺服器 2012 PC 上的 C:\salt\var\cache\salt\minion\files\base\win\repo-ng 中看到 Icinga2-v2.4.7-x86.msi。
當我執行 salt minion_name pkg.install icinga 時,我得到以下返回,當我檢查我的伺服器 2012 PC icinga 未安裝時:
_comment: Software not found in the registry. Could be a problem with the Software definition file. Verify the full_name and the version match the registry exactly. Failed after 10 tries.
有人可以告訴我我做錯了什麼嗎?
我已經測試過從包含的儲存庫安裝 7-zip 並且效果很好。
另一個有趣的事情是我有另一台 2012 年的伺服器,我之前手動安裝了 icinga 應用程序 - 我解除安裝了它並嘗試用 salt 安裝它,它確實安裝了,但也出現了同樣的錯誤,但安裝工作正常。
我還嘗試使用 64 位版本的 Icinga (Icinga2-v2.4.7-x86_64.msi) 並相應地調整 icinga.sls 文件並得到相同的錯誤。
Salt 是一個很棒的系統,但我需要使用它在 100 多台 PC 上安裝 icinga,因此需要一個自動化系統 - 如果我可以使用 powershell 等以其他方式安裝它,我也可以,但我想使用 salt 安裝。
預先感謝您的回复。
我讓它像這樣工作:
首先我必須從 Windows 更新安裝這個 kb https://support.microsoft.com/en-us/kb/2999226
然後我修改了 full_name 選項以匹配安裝應用程序時顯示的內容
全名:思想 2
然後我可以毫無問題地安裝和解除安裝 Icinga。
對於遇到相同問題的其他任何人,請確保您使用與嘗試安裝 icinga 相同的位版本的 salt-minion - 例如,我有 32 位 salt minion 並嘗試安裝 64 位 icinga它失敗並出現同樣的錯誤。將 salt-minion 重新安裝為 64 位並按照上述說明完美執行。
即使我在回答我自己的問題,也要感謝大衛,他在這篇文章中幫助了我:
https://groups.google.com/forum/#!topic/salt-users/NstAv252vy0
除了 Rob 的回答,為了區分 32 位 - 64 位安裝,這裡是我的 /srv/salt/file/base/win/repo-ng/Icinga2/init.sls 範例文件:
Icinga2: {% for version in ['2.8.0','2.11.2','2.11.3'] %} '{{version}}': full_name: 'Icinga 2' {% if grains.get('cpuarch') == 'AMD64' %} installer: 'salt:///win/repo-ng/Icinga2/Icinga2-v{{version}}-x86_64.msi' uninstaller: 'salt:///win/repo-ng/Icinga2/Icinga2-v{{version}}-x86_64.msi' {% else %} installer: 'salt:///win/repo-ng/Icinga2/Icinga2-v{{version}}-x86.msi' uninstaller: 'salt:///win/repo-ng/Icinga2/Icinga2-v{{version}}-x86.msi' {% endif %} msiexec: True locale: en_US reboot: False install_flags: '/qn /norestart' uninstall_flags: '/qn /norestart' allusers: True {% endfor %}
/srv/salt/file/base/win/repo-ng/Icinga2 文件:
Icinga2-v2.11.2-x86_64.msi
Icinga2-v2.11.2-x86.msi
Icinga2-v2.11.3-x86_64.msi
Icinga2-v2.11.3-x86.msi
Icinga2-v2.8.0-x86_64.msi
Icinga2-v2.8.0 -x86.msi
初始化.sls