web-dev-qa-db-fra.com

Comment activer une sortie de débogage supplémentaire à partir d'Ansible et de Vagrant?

J'étudie Ansible pour le provisionnement de serveurs et d'applications. Mon application est actuellement provisionnée avec des scripts Shell dans Vagrant. Plutôt que de réécrire mes scripts, j'ai pris n exemple et tenté de le déployer.

Il semble se déployer correctement, mais j'ai vu un message d'échec après ce qui ressemble à une série d'étapes réussies:

» 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.

Comment obtenir des informations de débogage supplémentaires? J'ai déjà ajouté ansible.verbose = true à ma configuration vagabonde, ce qui entraîne l'affichage des dictionnaires dans la sortie ci-dessus.

43
Brian Lyttle

Vous pouvez également l'ajouter à votre Vagrantfile:

ansible.verbose = "vvv"

cela devrait aller là où vous lancez l'approvisionnement, comme ceci:

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

Cela définit l'option verbeuse de ansible:

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

La définition de vvvv (quatre v) est utile pour déboguer les erreurs de connexion SSH - mais cela crée une quantité de sortie de débogage énorme, donc n'utilisez que quatre v si vous rencontrez des problèmes de connexion .

59
Duncan Lock

J'ai pu obtenir une sortie comme celle-ci:

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

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

Cela me montre au moins la sortie, mais malheureusement toujours pas formatée de manière très lisible.

10
user132837