web-dev-qa-db-ja.com

アンシブル。構文をチェックする高速な方法は?

プレイブックの構文と変数を確認する方法はありますか?

ドライラン(--check)を試みていますが、何らかの理由で動作が非常に遅くなります。構文をチェックするだけでなく、アクションを実行しようとしているようです

私はこのようなエラーを省略したい:

..."msg": "AnsibleUndefinedVariable: ERROR! 'application_name' is undefined"}
35
kharandziuk

これは、ドキュメントによると予想される動作です。

Ansible-playbookを--checkで実行すると、リモートシステムで変更は行われません。代わりに、「チェックモード」(ほとんどの主要なコアモジュールを含むが、すべてのモジュールがこれを行う必要はありません)をサポートするようにインスツルメントされたモジュールは、変更を行うのではなく、行った変更を報告します。チェックモードをサポートしていない他のモジュールもアクションを実行しませんが、行った変更を報告しません。

http://docs.ansible.com/ansible/playbooks_checkmode.html

YAML構文を確認したい場合は、構文チェックを使用できます。

ansible-playbook rds_prod.yml  --syntax-check
playbook: rds_prod.yml
44
Istvan

私は同じものを探していましたが、--syntax-checkオプションに満足していませんでした。これは、ロールに至るまで機能しないためです。 ansible-lint を使用すると、より完全なチェックを実行できます。これにはスタイルチェックも含まれます。しかし、すべてのスタイルチェックをオフにすると、かなり完全な構文チェックができます。

だから何かのように

ansible-lint -x $(echo $(ansible-lint -L | awk -F':' '{print $1}' | grep '^[^ ]') | tr ' ' ',') my_playbook.yml
2
alex4532