Bagaimana cara mengaktifkan hasil debug tambahan dari Ansible dan Vagrant?

43

Saya sedang menyelidiki Ansible untuk penyediaan server dan aplikasi. Aplikasi saya saat ini dilengkapi dengan skrip shell di Vagrant. Daripada menulis ulang skrip saya, saya mengambil sampel dan mencoba untuk menyebarkannya.

Tampaknya menyebarkan baik, tetapi saya telah melihat pesan kegagalan setelah apa yang tampak seperti serangkaian langkah-langkah sukses:

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

Bagaimana cara saya mendapatkan informasi debug tambahan? Saya sudah menambahkan ansible.verbose = trueke konfigurasi gelandangan saya yang menghasilkan kamus yang ditampilkan dalam output di atas.

Brian Lyttle
sumber
1
Menurut github.com/mitchellh/vagrant/issues/2004 ini adalah bug dengan rilis Vagrant saat ini. Saya dapat secara manual menambal /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/provisioners/ansible/provisioner.rb berdasarkan github.com/mitchellh/vagrant/commit/… .
Brian Lyttle

Jawaban:

59

Anda juga dapat menambahkan ini ke dalam Vagrantfile Anda:

ansible.verbose = "vvv"

ini perlu menuju tempat Anda memulai penyediaan, seperti ini:

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

Ini menetapkan opsi verbose dari ansible:

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

Mengatur ini ke vvvv(empat v) berguna untuk debugging kesalahan koneksi SSH - tetapi itu menciptakan sejumlah besar hasil debug, jadi hanya gunakan empat v jika Anda mengalami masalah koneksi.

Duncan Lock
sumber
10

Saya bisa mendapatkan output seperti ini:

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

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

Itu setidaknya menunjukkan kepada saya output, tetapi sayangnya masih belum diformat dengan cara yang sangat mudah dibaca.

pengguna132837
sumber