Ansible playbook для установки агента NCPA в Windows - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь установить Nagios NCPA agent в Windows, используя Ansible play book.Вот моя простая книга игр

- name: Install NCPA
  win_package:
    path: https://assets.nagios.com/downloads/ncpa/ncpa-2.1.4.exe

- name: Copy the ncpa.cfg template
  win_template:
    src: ncpa.cfg.j2
    dest: 'C:\Program Files (x86)\Nagios\NCPA\etc\ncpa.cfg'

- name: Restart NCPA
  win_service:
    name: ncpapassive
    state: restarted

Однако я получаю следующее сообщение об ошибке:

"msg": "product_id требуется, когда путь не является MSI или путьMSI, но не локальный ",

Как узнать product_id для ncpa?

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Наконец-то удалось заставить его работать с фиктивным идентификатором продукта.

- name: Create download directory
  win_file:
    path: C:\\Temp
    state: directory

- name: Copy the executable package to download directory
  win_copy:
    src: ncpa-2.1.4.exe
    dest: 'C:\Temp\ncpa-2.1.4.exe'

#- name: Download NCPA executable
#  win_get_url:
#    url: https://assets.nagios.com/downloads/ncpa/ncpa-2.1.4.exe
#    dest: C:\Temp\ncpa-2.1.4.exe
#    force: no
#    skip_certificate_validation: yes

- name: Install NCPA
  win_package:
    path: 'C:\Temp\ncpa-2.1.4.exe'
    arguments: '/S /TOKEN=demo-token'
    product_id: '{ncpa}'
  ignore_errors: true
  register: installmsi
  failed_when: "'was installed' not in installmsi.msg"

- name: Copy the ncpa.cfg template
  win_template:
    src: ncpa.cfg.j2
    dest: 'C:\Program Files (x86)\Nagios\NCPA\etc\ncpa.cfg'

- name: Restart NCPA
  win_service:
    name: ncpapassive
    state: restarted
0 голосов
/ 06 июня 2018

Вы можете пропустить product_id, если добавите какой-либо из creates_* аргументов в свое первое задание, например:

creates_path: C:\Program Files (x86)\Nagios\NCPA\___main_executable_file__.exe

Или вы можете выполнить поиск на машине с установленным пакетом;per win_package manual :

product_id []

Идентификаторы продуктов для установленных программ в редакторе реестра Windows можно найти по адресу HKLM:Software\Microsoft\Windows\CurrentVersion\Uninstallили для 32-разрядных программ со значением HKLM:Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall.

Это СЛЕДУЕТ установить, когда пакет не является MSI, или путь является URL-адресом или общим сетевым ресурсом, а делегирование полномочий не используется.Вместо этого можно использовать опции creates_*, но это не рекомендуется.

...