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