Назад | Перейти на главную страницу

Бесконечный запуск Ansible Windows

Я пытаюсь использовать Ansible на своем первом узле Windows, используя winrm по HTTP (я буду использовать https в качестве второго шага) и аутентификацию ntlm.

Я настроил group_vars, и базовое соединение с хостом Windows работает:

me@ansible:~/ansible$ ansible -i staging.ini windows -m setup
windows-server.my.domain.name | SUCCESS => {
    "ansible_facts": {
        "ansible_architecture": "64-bit", 
        "ansible_bios_date": "04/01/2014", 
        "ansible_bios_version": "rel-1.11.1-0-g0551a4be2c-prebuilt.qemu-project.org", 
        "ansible_date_time": {
            [...]
        }, 
        "ansible_distribution": "Microsoft Windows Server 2016 Standard", 
        "ansible_distribution_major_version": "10", 
        "ansible_distribution_version": "10.0.14393.0", 
        "ansible_domain": "my.domain.name", 
        [...]
        "ansible_windows_domain": "my.domain.name, 
        "ansible_windows_domain_member": true, 
        "ansible_windows_domain_role": "Member server", 
        "gather_subset": [
            "all"
        ], 
        "module_setup": true
    }, 
    "changed": false
}

Теперь я пытаюсь установить пакет MSI (Icinga 2) с базовым сценарием:

---
- hosts: all

  tasks:
    - name: Install Icinga 2
      win_package:
        path: "https://packages.icinga.com/windows/Icinga2-v2.10.5-x86_64.msi"
        product_id: "712727BA-156F-466A-9C25-7A6246602664"
        arguments: /install /passive /norestart

Но когда я запускаю его, он остается бесконечно зависшим без вывода:

me@ansible:~/ansible$ ansible-playbook plays/win-test.yml -i staging.ini --limit windows


PLAY [all] *****************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************
ok: [windows-server.my.domain.name]

TASK [Install Icinga 2] ************************************************************************************************************************

(no output after 10 minutes)

Я уже пробовал отлаживать с помощью -vvvv но он не выводит никакой полезной информации:

me@ansible:~/ansible$ ansible-playbook plays/win-test.yml -i staging.ini --limit windows -vvvv

TASK [Install Icinga 2] *******************************************************************************************************************
task path: /home/me/ansible/plays/win-test.yml:5
Using module file /home/me/.local/lib/python2.7/site-packages/ansible/modules/windows/win_package.ps1
<windows-server.my.domain.name> ESTABLISH WINRM CONNECTION FOR USER: DOMAIN\me on PORT 5985 TO windows-server.my.domain.name
checking if winrm_host windows-server.my.domain.name is an IPv6 address
EXEC (via pipeline wrapper)

(no output after 10 minutes)

Как я могу это отладить?

Я решил свою проблему, я использовал неверные аргументы для MSI-файла Icinga 2.

Правильные аргументы:

---
- hosts: all

  tasks:
    - name: Install Icinga 2
      win_package:
        path: "https://packages.icinga.com/windows/Icinga2-v2.10.5-x86_64.msi"
        product_id: "712727BA-156F-466A-9C25-7A6246602664"
        arguments: /qn /norestart

Теперь пакет устанавливается правильно:

me@ansible:~/ansible$ ansible-playbook plays/win-test.yml -i staging.ini --limit windows

PLAY [all] ***************************************************************************************************************

TASK [Gathering Facts] ***************************************************************************************************
ok: [windows-server.my.domain.name]

TASK [Install Icinga 2] **************************************************************************************************
changed: [windows-server.my.domain.name]

PLAY RECAP ***************************************************************************************************************
windows-server.my.domain.name   : ok=2    changed=1    unreachable=0    failed=0