こちらの記事は Ansible lint Advent Calendar 2022 カレンダー2 23日目の記事になります。
今回はルール internal-error について説明します。
internal-error
internal-error は Ansible コンテンツに Ansible を実行できないようなエラーが含まれていた時にエラーを出力します。ただしほとんどの場合は Ansible 実行時に Ansible からより詳細なエラーメッセージが出力されます。
internal-error をあえて利用する理由はないのですが無効化すべき場面があるとしたら機能しないような Ansible コンテンツをテストファイルとして含み、それを修復するようなテストケースが書かれている時
と言うのがありそうです。
問題のあるコード
以下の playbook に対してansible-playbook
コマンドを実行してもエラーになります。internal-error でもエラーが検証できると言う程度になりそうです。
---
- name: Some title {{ # <- Ansible で jinja2 テンプレートの記述ミスと解釈されるためエラーになる
hosts: localhost
tasks: []
修正されたコード
---
- name: Some title
hosts: localhost
tasks: []