私はカスタムのAnsibleモジュールにデバッグログを追加して、-vvvオプションがansible-playbookコマンドに提供されたときにログメッセージを表示するようにします。私はモジュールの結果がこのロギングの影響を受けないようにしたい。つまり、ログメッセージをstdoutまたはstderrに直接書き込むことは望ましくありません。カスタムAnsibleモジュールにデバッグロギングの標準/優先メソッドがありますか?
0
A
答えて
2
モジュールは通常リモートで実行されるため、実際には何も直接出力できません。
exit_json
コールでモジュール内の追加データを返すことができます。
if module._verbosity >= 3:
module.exit_json(changed=True, debug="wooha!")
else:
module.exit_json(changed=True)
module._verbosity
(-v = 1、-vvv = 3)詳細レベルに対応し、Ansible 2.1から利用可能です。
1
Ansibleモジュールがあるため、デバッグするのは難しいです:
- は、モジュールが正常にリモートで実行されている(ので、我々は、デバッグに
pdb
を使用することはできません)
このようにして、Ansibleモジュールをデバッグできます。
- モジュールをローカルで実行します。これは、ホストをlocalhostに設定するか、またはAnibly
local_action
モジュールを使用して実装できます。 - デバッグする変数を特定のファイルに書き込み/ログします。 Python qライブラリを使用してこれを行うことができます。
関連する問題
- 1. Ansible変数優先
- 2. Pythonにstatic_castキーワードまたは標準メソッドがありますか?
- 3. MySQL Workbench - SSH経由の標準TCP/IP上の標準(TCP/IP)が優先されますか?
- 4. ISO標準命名の標準はありますか?
- 5. 同じファイルと標準出力に直接標準エラーがありますか?
- 6. 標準のボタンサイズはありますか?
- 7. ATSに優先キューの実装がありますか?
- 8. Digital Ocean Ansibleモジュールのssh_key_idsはどこにありますか?
- 9. 標準ライブラリのデーモン化に役立つPythonモジュールはありますか?
- 10. haskellに標準モジュール/名前空間の命名規則はありますか?
- 11. .Net - リストはいつですか<T> .ForEachは標準のforeachループよりも優先されますか?
- 12. HTTPS標準はありますか?
- 13. Py2App標準モジュールが見つかりません
- 14. Javaに標準のGUIトグルスイッチがありますか?
- 15. どの標準に従う必要がありますか?
- 16. C++に標準のgetch()がありますか?
- 17. F#ライブラリには、 `argMax`の標準関数がありますか?
- 18. C/C++には標準のスライスコンテナがありますか?
- 19. Gnu-Linux/Unix-terminalの標準または標準幅はありますか?
- 20. Trace.CorrelationManagerに相当する.NET標準がありますか?
- 21. PriorityQueueには同じ優先順位のオブジェクトがあります
- 22. F#には標準オプションワークフローがありますか?
- 23. C++に標準キューがありますか?
- 24. SymfonyとDoctrineにデータベース標準がありますか?
- 25. UMLには標準的な方法がありますか?
- 26. Fortranには標準ライブラリがありますか?
- 27. OCaml標準ライブラリに `flip`関数がありますか?
- 28. Elixirには標準的なcurry()関数がありますか?
- 29. iPhoneのプログラミングで標準のファイルオープンダイアログがありますか?
- 30. 多くのサイトで標準のフィードバックボタンがありますか?