Wie aktiviere ich zusätzliche Debugging-Ausgaben von Ansible und Vagrant?

43

Ich untersuche Ansible für die Bereitstellung von Servern und Anwendungen. Meine Anwendung wird derzeit mit Shell-Skripten in Vagrant bereitgestellt. Anstatt meine Skripte neu zu schreiben, habe ich ein Beispiel genommen und versucht, es bereitzustellen.

Die Bereitstellung scheint in Ordnung zu sein, aber nach einer Reihe erfolgreicher Schritte wurde eine Fehlermeldung angezeigt:

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

Wie erhalte ich zusätzliche Debug-Informationen? Ich habe bereits ansible.verbose = truezu meiner vagranten Konfiguration hinzugefügt , was dazu führt, dass die Wörterbücher in der obigen Ausgabe angezeigt werden.

Brian Lyttle
quelle
1
Laut github.com/mitchellh/vagrant/issues/2004 ist dies ein Fehler mit der aktuellen Version von Vagrant. Ich konnte /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/provisioners/ansible/provisioner.rb basierend auf github.com/mitchellh/vagrant/commit/… manuell patchen .
Brian Lyttle

Antworten:

59

Sie können dies auch in Ihr Vagrantfile einfügen:

ansible.verbose = "vvv"

Dies müsste dahin gehen, wo Sie die Bereitstellung starten:

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

Dies setzt die ausführliche Option von ansible:

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

Das Setzen auf vvvv(vier Vs) ist nützlich, um SSH-Verbindungsfehler zu debuggen. Es verursacht jedoch eine enorme Menge an Debug-Ausgaben. Verwenden Sie also nur vier Vs, wenn Sie Verbindungsprobleme haben.

Duncan Lock
quelle
10

Ich konnte folgende Ausgabe erhalten:

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

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

Das zeigt mir zumindest die Ausgabe, ist aber leider immer noch nicht gut lesbar formatiert.

user132837
quelle