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 = truevagrant configに追加しているため、上記の出力に辞書が表示されています。


回答:


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)

これを設定するvvvv(4 Vの)がSSH接続エラーをデバッグするために有用である-それが作成されます巨大なデバッグ出力の量を、あなたは接続の問題を抱えている場合はその4つだけの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.