O uso de cli ansible para reiniciar servidores retorna um erro (enquanto ainda reinicia os servidores)

2

Eu posso conectar com sucesso ao meu servidor com o ssh. No entanto, quando tento executar um comando através do Ansible cli, ele falha:

ansible en2 -a "/sbin/reboot" -vvv
Using /etc/ansible/ansible.cfg as config file
<en2> ESTABLISH SSH CONNECTION FOR USER: None
<en2> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/buzut/.ansible/cp/ansible-ssh-%h-%p-%r en2 '/bin/sh -c '"'"'( umask 77 && mkdir -p "' echo $HOME/.ansible/tmp/ansible-tmp-1470744750.87-182962282383475 '" && echo ansible-tmp-1470744750.87-182962282383475="' echo $HOME/.ansible/tmp/ansible-tmp-1470744750.87-182962282383475 '" ) && sleep 0'"'"''
<en2> PUT /tmp/tmpampMBF TO /root/.ansible/tmp/ansible-tmp-1470744750.87-182962282383475/command
<en2> SSH: EXEC sftp -b - -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/buzut/.ansible/cp/ansible-ssh-%h-%p-%r '[en2]'
<en2> ESTABLISH SSH CONNECTION FOR USER: None
<en2> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/buzut/.ansible/cp/ansible-ssh-%h-%p-%r -tt en2 '/bin/sh -c '"'"'LANG=fr_FR.UTF-8 LC_ALL=fr_FR.UTF-8 LC_MESSAGES=fr_FR.UTF-8 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1470744750.87-182962282383475/command; rm -rf "/root/.ansible/tmp/ansible-tmp-1470744750.87-182962282383475/" > /dev/null 2>&1 && sleep 0'"'"''
en2 | UNREACHABLE! => {
    "changed": false, 
    "msg": "Failed to connect to the host via ssh.", 
    "unreachable": true
}
    
por Buzut 09.08.2016 / 14:17

1 resposta

3

Tudo na sua saída parece correto.

Ansible estabelece uma conexão SSH, executa seu script (contendo seu comando) e aguarda seu código de saída.

No entanto, você o encomenda para emitir um comando /sbin/reboot que reinicializa o servidor. A conexão SSH é, portanto, interrompida antes que o código de saída seja retornado para o Ansible e o Ansible relata o erro.

A mensagem de erro é na verdade um pouco enganosa, mas significa que a conexão foi interrompida.

    
por 10.08.2016 / 01:51

Tags