Ansible 및 Vagrant의 추가 디버깅 출력을 활성화하려면 어떻게합니까?


43

서버 및 응용 프로그램 프로비저닝에 대한 Ansible을 조사 중입니다. 내 응용 프로그램은 현재 Vagrant에서 쉘 스크립트로 제공됩니다. 스크립트를 다시 작성하지 않고 샘플을 가져 와서 배포하려고했습니다.

잘 배포 된 것으로 보이지만 일련의 성공적인 단계가 끝나면 실패 메시지가 표시됩니다.

» 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 에 따르면 이것은 현재 Vagrant 릴리스의 버그입니다. github.com/mitchellh/vagrant/commit/…을 기반으로 /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/provisioners/ansible/provisioner.rb를 수동으로 패치 할 수있었습니다 .
Brian Lyttle

답변:


59

이것을 Vagrantfile에 추가 할 수도 있습니다.

ansible.verbose = "vvv"

이것은 다음과 같이 프로비저닝을 시작하는 곳으로 이동해야합니다.

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

이것은 ansible의 verbose 옵션을 설정합니다 :

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

이 설정 vvvv(사 V의)는 SSH 연결 오류를 디버깅하는 데 유용합니다 -하지만이 만들어 거대한 연결 문제가 발생하는 경우 이렇게 네 개의 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 }}"

적어도 출력을 보여 주지만 불행히도 여전히 읽을 수있는 형식으로 포맷되지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.