Я пытаюсь установить Icinga через соль на сервере Windows 2012 R2.
Я создал файл 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.
Я запускаю соль minion_name pkg.refresh_db
Я вижу Icinga2-v2.4.7-x86.msi в C: \ salt \ var \ cache \ salt \ minion \ files \ base \ win \ repo-ng на сервере 2012 г. ПК.
когда я запускаю соль 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 - я удалил его и попытался установить с солью, он установился, но также выдал ту же ошибку, но установка прошла правильно.
Я также пробовал использовать 64-битную версию Icinga (Icinga2-v2.4.7-x86_64.msi) и соответствующим образом корректировать файл icinga.sls и получил ту же ошибку.
Salt - отличная система, но мне нужно использовать ее для установки icinga на более чем 100 ПК, поэтому мне нужна автоматизированная система - если я могу установить ее другим способом, используя PowerShell или тому подобное, меня это тоже устраивает, но я хочу установить с использованием соли.
Заранее благодарим за ответы.
У меня получилось так:
Сначала мне пришлось установить этот kb из обновления Windows https://support.microsoft.com/en-us/kb/2999226
Затем я изменил параметр full_name, чтобы он соответствовал тому, что отображается при установке приложения
full_name: Icinga 2
После этого я смог без проблем установить и удалить Icinga.
Одно примечание для всех иначе с той же проблемой убедитесь, что вы используете ту же битовую версию salt-minion, что и пытаетесь установить icinga - например, у меня был 32-битный salt minion и я пытался установить 64-битную icinga, и это не удалось с та же ошибка. Переустановка salt-minion как 64-разрядная и следование приведенным выше инструкциям сработала отлично.
Хотя я отвечаю на свой вопрос, благодарность Дэвиду, который помог мне с этим постом:
https://groups.google .com / forum / #! topic / salt-users / NstAv252vy0
В дополнение к ответу Роба, чтобы различать 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 files:
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
init.sls