Explicação necessária sobre quais situações uma tarefa é executada em dois hosts na mesma tentativa?

2

Me deparei com uma tarefa que parece estar sendo executada em dois hosts da seguinte forma:

TASK [setup] *******************************************************************
fatal: [====]: UNREACHABLE! => {"changed": false, "msg": "ssl: auth method ssl requires a password", "unreachable": true}
ok: [web-app.source-ami]

Claro, estou tentando depurar esse erro e descobrir de onde veio o ==== .

Mas esta é também a primeira vez que me deparo com uma tarefa que tenta rodar em múltiplos hosts como este em uma e a mesma tentativa.

TASK [setup] *******************************************************************
Using module file /usr/local/lib/python2.7/site-packages/ansible/modules/core/windows/setup.ps1
<====> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT 5986 TO ====
fatal: [====]: UNREACHABLE! => {
    "changed": false, 
    "msg": "ssl: auth method ssl requires a password", 
    "unreachable": true
}
Using module file /usr/local/lib/python2.7/site-packages/ansible/modules/core/system/setup.py
<web-app.source-ami> ESTABLISH LOCAL CONNECTION FOR USER: ec2-user
<web-app.source-ami> EXEC /bin/sh -c '( umask 77 && mkdir -p "' echo $HOME/.ansible/tmp/ansible-tmp-1536934067.19-26447522223236 '" && echo ansible-tmp-1536934067.19-26447522223236="' echo $HOME/.ansible/tmp/ansible-tmp-1536934067.19-26447522223236 '" ) && sleep 0'
<web-app.source-ami> PUT /tmp/tmpFfmjhW TO /home/ec2-user/.ansible/tmp/ansible-tmp-1536934067.19-26447522223236/setup.py
<web-app.source-ami> EXEC /bin/sh -c 'chmod u+x /home/ec2-user/.ansible/tmp/ansible-tmp-1536934067.19-26447522223236/ /home/ec2-user/.ansible/tmp/ansible-tmp-1536934067.19-26447522223236/setup.py && sleep 0'
<web-app.source-ami> EXEC /bin/sh -c '/usr/bin/python /home/ec2-user/.ansible/tmp/ansible-tmp-1536934067.19-26447522223236/setup.py; rm -rf "/home/ec2-user/.ansible/tmp/ansible-tmp-1536934067.19-26447522223236/" > /dev/null 2>&1 && sleep 0'
ok: [web-app.source-ami]

O PLAYBOOK começa assim:

---

- name: Fetch AMI ID
  hosts: base-source-amis:&{{ subset | default('None') }}
  connection: local
  tags: [ ami-id ]

  roles:
    - { role: do_something }

COMANDO:

ansible-playbook -i ../../hosts_file \
            -e subset=ami-bakes-resources \
            playbook

Eu olhei para o inventário e parece ser direto e não tem menção de ==== em qualquer lugar.

Hosts_file:

localhost ansible_connection=local

[base-resources]
web-app.ec2
web-app.source-ami

[base-source-amis]
web-app.source-ami

[ami-bakes-resources:children]
base-resources

Host Vars:

# host_vars/web-app.source-ami
---
aws_resource_id: ami-34549s3d
...

Nenhum grupo vars para grupos no momento.

Eu também procurei por winrm e ele é usado para conexão com instâncias do windows em outro lugar, mas aqui a tarefa está usando connection: local quando rodando em uma máquina linux.

# group_vars/windows-instances/settings.yml
---

ansible_connection: winrm
ansible_ssh_port: 5986
ansible_ssh_user: Administrator

...
    
por masterpiece 14.09.2018 / 20:24

0 respostas

Tags