मैं अंसिबल और वैग्रांत से अतिरिक्त डिबगिंग आउटपुट कैसे सक्षम करूं?


43

मैं सर्वर और एप्लिकेशन प्रोविजनिंग के लिए Ansible की जांच कर रहा हूं। वर्तमान में मेरा आवेदन वग्रांत में शैल लिपियों के साथ प्रावधानित है। अपनी लिपियों को फिर से लिखने के बजाय, मैंने एक नमूना लिया और इसे तैनात करने का प्रयास किया।

यह ठीक-ठीक परिनियोजित करने के लिए प्रकट होता है, लेकिन मैंने सफल कदमों की एक श्रृंखला के बाद एक विफलता संदेश देखा है:

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

मैं अतिरिक्त डिबग जानकारी प्राप्त करने के बारे में क्या करूं? मैंने पहले से ही ansible.verbose = trueअपने योनि विन्यास में जोड़ा है, जिसके परिणामस्वरूप परिणाम ऊपर दिए गए शब्दकोशों में दिखाई देते हैं।


1
Github.com/mitchellh/vagrant/issues/2004 के अनुसार यह मौजूदा वैगंट रिलीज़ के साथ एक बग है। मैं मैन्युअल रूप से पैच /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/provisioners/ansible/provisioner.rb पर github.com/mititllh/vagrant/commit/… पर आधारित था ।
ब्रायन लिटल

जवाबों:


59

आप इसे अपने Vagrantfile में भी जोड़ सकते हैं:

ansible.verbose = "vvv"

आपको इस तरह से जाने की आवश्यकता होगी जहां आप इस तरह से प्रोविजनिंग को मार रहे हैं:

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

यह ansible का वर्बोज़ विकल्प सेट करता है:

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

vvvvSSH कनेक्शन त्रुटियों को डीबग करने के लिए इसे (चार v) सेट करना उपयोगी है - लेकिन यह डीबग आउटपुट की एक बड़ी मात्रा बनाता है , इसलिए यदि कनेक्शन समस्याएँ हैं, तो केवल चार v का उपयोग करें।


10

मैं इस तरह से उत्पादन प्राप्त करने में सक्षम था:

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

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

वह कम से कम मुझे आउटपुट दिखाता है, लेकिन दुर्भाग्य से अभी भी बहुत पठनीय तरीके से स्वरूपित नहीं हुआ है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.