Estou tentando usar o Ansible no meu primeiro nó do Windows, usando winrm em HTTP (vou usar https como segunda etapa) e autenticação ntlm.
Configurei group_vars e a conexão básica com o host do Windows funciona:
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
}
Agora estou tentando instalar um pacote MSI (Icinga 2) com um manual básico:
---
- 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
Mas quando eu o executo, ele permanece infinitamente travado sem saída:
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)
Eu já tentei depurar usando -vvvv
, mas não gera nenhuma informação útil:
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)
Como posso depurá-lo?
Resolvi meu problema, estava usando argumentos errados para o arquivo Icinga 2 MSI.
Os argumentos corretos são:
Agora o pacote é instalado corretamente: