てくなべ (tekunabe)

ansible / network automation / 学習メモ

2023-04-01から1ヶ月間の記事一覧

[Ansible] Playbookの実行結果(エラー含む)を改行付きで表示する(デフォルトのコールバックプラグイン編)

はじめに 先日、community.general.yaml コールバックプラグイン を使って、Playbook の実行結果を改行付きで表示させる方法を投稿しました。 tekunabe.hatenablog.jp ふと、デフォルトの ansible.builtin.default コールバックプラグイン でも似たようなこ…

[VSCode] エディターの表示のみ倍率変更(拡大/縮小)できるようにする設定 "editor.mouseWheelZoom": true

はじめに Visual Studio Code (VS Code ) では、表示の拡大/縮小操作ができますが、デフォルトでできる操作の場合はメニューやターミナルも倍率が変更されます。 個人的には、エディターのみ倍率変更したい機会のほうが多いので、それができればなーと思って…

[Ansible] Playbookの実行結果(エラー含む)を改行付きで表示する(community.general.yaml コールバックプラグイン編)

はじめに Ansible のエラーメッセージは、改行のない JSON で表示されるため読みにくいという意見を見かけました。確かにデフォルトだとそうです。 Ansible は Playbook 実行結果をコールバックプラグインという仕組みで扱われます。いくつか種類があるので…

[Ansible] pre-commit を使って git commit 前に自動で ansible-lint する

はじめに 先日の記事で、ansible-lint コマンドの即時性を高めるには別途仕組みが必要な旨を書きました。今回は、自動化の仕組みとして pre-commit を使って仕込んでみます。 だいぶシンプルな設定に抑えています。 導入 venv への pre-commit のインストー…

[ansible] ansible-core 2.15 で vars 直下にリストで変数定義すると Deprecated(非推奨)で警告が表示される

はじめに 2023年5月にリリース予定の ansible-core 2.15 で、vars ディレクティブ直下にリストで変数を定義する方法が Deprecated(非推奨)として警告が表示されるようになります。ansible-core 2.15 の Porting Guide にも掲載されています。 言葉にすると…

[Ansible] VS Code の Ansible 拡張経由で ansible-lint する際のチェック範囲

はじめに VS Code には、Ansible Playbook を書く際に便利な拡張があります。 marketplace.visualstudio.com とても便利な拡張で様々な機能があり、ファイル保存時に自動で ansible-lint を実行することもできます。 Playbook の保存時に、そのPlaybook を起…

[Ansible] ansible-navigator 経由で ansible-lint するには基本的に EE 内に ansible-lint が必要

はじめに ansible-navigator は、Playbook を実行するだけでなく ansible-lint を呼び出す機能もあります。 タイトル通り、多分 EE 側に ansible-lint が必要だろうと思っていたものの、一応確かめてみようと思ったので試しました(結果タイトル通りでした)…

[Ansible] ansible-lint でファイル名と無視したいルールを指定する .ansible-lint-ignore

はじめに ansible-lint 6.13.0 で、無視するルールを定義するファイル が導入されました。 定義ファイル名は .ansible-lint-ignore または .config/ansible-lint-ignore.txt です(個人的には後者が好み)。ファイル名の先頭の . 有無や、拡張子の有無が異な…

[Ansible] ansible-lint 経由の yamllint と、直接 yamllint する場合とではデフォルトルールが異なる

はじめに ansible-lint にはは、yamllint を呼んで YAML としてのチェックをする機能があります。 たとえば、1行あたりの文字数が何文字以内であるべきか、真偽値はどう指定するべきか、などのルールです。 うすうす感じていた(?)のですが、ansible-lint …

[Ansible] ansible-navigator で vars_prompt のような対話式入力を有効する --enable-prompts オプション

はじめに ansible-navigator 3.0.0 で、vars_prompt ディレクティブや ansible.builtin.pause モジュール のような、ユーザーの入力を待つ機能と組み合わせて使うためのオプション --enable-prompts (短縮形は --ep )が追加されました。 該当 changelog: A…

[Ansible] インストールされているコレクションから requirements.yml を生成する(Playbook編)

はじめに pip でいう pip freeze で requirements.txt のフォーマットを出力できるのと同じように、Ansible のコレクションでもコレクションの一覧を requirementst.yml のフォーマットで出力できれば便利かもしれないなと思いました。 ansible-galaxy colle…