Comment activer des sorties de débogage supplémentaires à partir de Ansible et de Vagrant?

43

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

Il semble bien se déployer, 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 puis-je obtenir des informations de débogage supplémentaires? J'ai déjà ajouté ansible.verbose = trueà ma config vagrant, ce qui entraîne l'affichage des dictionnaires dans la sortie ci-dessus.

Brian Lyttle
la source
1
Selon github.com/mitchellh/vagrant/issues/2004, il s'agit d'un bogue de la version actuelle de Vagrant. J'ai pu patcher manuellement /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/provisioners/ansible/provisioner.rb sur la base de github.com/mitchellh/vagrant/commit/… .
Brian Lyttle

Réponses:

59

Vous pouvez également ajouter ceci dans votre Vagrantfile:

ansible.verbose = "vvv"

ceci devrait aller là où vous lancez le provisioning, comme ceci:

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

Ceci définit l'option verbose d'ansible:

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

Définir ceci sur vvvv(quatre v) est utile pour déboguer les erreurs de connexion SSH - mais cela crée une énorme quantité de sortie de débogage, utilisez donc seulement quatre v si vous rencontrez des problèmes de connexion.

Duncan Lock
la source
10

J'ai pu obtenir une sortie comme ceci:

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 pas encore formaté de manière très lisible.

utilisateur132837
la source