Я пытаюсь установить 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 на компьютере server 2012.
когда я запускаю соль minion_name pkg.install icinga, я получаю следующее, и когда я проверяю свой компьютер на сервере 2012, 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 или тому подобное, меня это тоже устраивает, но я хочу установить с использованием соли.
Заранее благодарим вас за ответы.
В дополнение к ответу Роба, чтобы различать 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
init.sls
У меня это работает так:
Сначала мне пришлось установить этот 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