Como habilitar a saída de depuração adicional do Ansible e do Vagrant?

36

Estou investigando o Ansible para provisionamento de servidores e aplicativos. Meu aplicativo é atualmente provisionado com scripts de shell no Vagrant. Em vez de reescrever meus scripts, peguei um exemplo e tentei implantá-lo.

Parece que foi implementado corretamente, mas vi uma mensagem de falha depois do que parece ser uma série de etapas bem-sucedidas:

» vagrant provision                                       ~/vm/blvagrant 1 ↵
[default] Running provisioner: ansible...

PLAY [web-servers] ************************************************************

GATHERING FACTS ***************************************************************
ok: [192.168.9.149]

TASK: [install python-software-properties] ************************************
ok: [192.168.9.149] => {"changed": false, "item": ""}

TASK: [add nginx ppa if it ubuntu 10.04 and up] *******************************
ok: [192.168.9.149] => {"changed": false, "item": "", "repo": "ppa:nginx/stable", "state": "present"}

TASK: [update apt repo] *******************************************************
ok: [192.168.9.149] => {"changed": false, "item": ""}

TASK: [install nginx] *********************************************************
ok: [192.168.9.149] => {"changed": false, "item": ""}

TASK: [copy fixed init for nginx] *********************************************
ok: [192.168.9.149] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0755", "owner": "root", "path": "/etc/init.d/nginx", "size": 2321, "state": "file", "uid": 0}

TASK: [service nginx] *********************************************************
ok: [192.168.9.149] => {"changed": false, "item": "", "name": "nginx", "state": "started"}

TASK: [write nginx.conf] ******************************************************
ok: [192.168.9.149] => {"changed": false, "gid": 0, "group": "root", "item": "", "mode": "0644", "owner": "root", "path": "/etc/nginx/nginx.conf", "size": 1067, "state": "file", "uid": 0}

PLAY RECAP ********************************************************************
192.168.9.149              : ok=8    changed=0    unreachable=0    failed=0

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

Como faço para obter informações adicionais de depuração? Eu já adicionei ansible.verbose = true à minha configuração vagrant, o que resulta nos dicionários sendo exibidos na saída acima.

    
por Brian Lyttle 19.08.2013 / 04:18

2 respostas

51

Você também pode adicionar isso ao seu Vagrantfile:

ansible.verbose = "vvv"

isso precisaria ir para onde você está iniciando o provisionamento, como este:

config.vm.provision "ansible" do |ansible|
    ansible.verbose = "vvv"
end

Isso define a opção detalhada de ansible:

-v, --verbose         verbose mode (-vvv for more, -vvvv to enable
                        connection debugging)

Configurar isto para vvvv (quatro v's) é útil para depurar erros de conexão SSH - mas cria uma quantidade enorme de saída de depuração, portanto use somente quatro v's se você está tendo problemas de conexão .

    
por 08.07.2014 / 22:52
9

Consegui obter uma saída assim:

tasks:
- name: Run puppet
  command: /root/puppet/run_puppet --noop
  register: puppet_output

- name: Show puppet output
  debug: msg="{{ puppet_output.stdout_lines }}"

Isso pelo menos me mostra a saída, mas infelizmente ainda não foi formatado de uma forma muito legível.

    
por 07.11.2013 / 15:51