2024-01-01から1ヶ月間の記事一覧
はじめに hosts: "{{ targets }}" のように、hosts に変数を利用していると、ansible-lint のチェックで変数未定義のエラーになってしまいます。 $ ansible-lint debug.yml WARNING Listing 1 violation(s) that are fatal syntax-check[specific]: The fiel…
はじめに コレクションというモジュール類の管理単位がだいぶ浸透してきてると思いますが、それに伴ってか、ドキュメント上にも変化が見られます。 もともとAnsible本体側にあったページがコレクション側に移動してたりします。 コレクション側に移動してい…
はじめに ネットワーク機器の show コマンドのパーサーとして TextFSM や TTP (Template Text Parser) を使い分けています。 個人的には TTP が直感的に使える一方で、ちょっとしたことでつまずくことがあります。 例えば今回紹介する、スペースを含めて値を…
そもそもコレクションとは Ansible は現在、モジュール類の管理はコレクションという単位でまとめられています。 このコレクションは「名前空間(namespace).コレクション名」という形式で識別されます。例えば、ansible.utisl や cisco.ios などです。 コレ…
はじめに コレクションの分類の仕方にはいろいろな観点があります。 例えば、どこからそのコレクションを入手できるか、マネージドノードはどいういう特性か(サーバー、ネットワーク、クラウドなど)などです。 最近私の周りで少し話題になったので、この記…
はじめに 以前の記事でもご紹介しましたが、ロールの実行に必要な変数をチェックする「Role argument validation」という機能があります。 tekunabe.hatenablog.jp ロールの meta/argument_specs.yml というファイルに、どういう変数が必須か、型は何かなど…
はじめに Ansible の周辺にはさまざまなツールがあります。 その中に、antsibullや antsibull-docs、antsibull-changelogのように、antsibull という言葉を含むツールがあります。 この antsibull (よくスペルを間違えます)が、なぜこのようなスペルなのか…
はじめに 以前の記事でもご紹介した、ansible.utils.fact_diff フィルター のちょっとした活用方法です。 ansible.utils.fact_diff 「モジュール」ではなく「フィルター」なので、別のモジュールのオプションに組み込めます。 この特性を活用して、ansible.b…
はじめに Ansible には、パス文字列からディレクトリを抽出するための ansible.builtin.dirname というフィルターがあります。 正規表現などのパターンマッチングするより、こういう専用のフィルターがあるならそれを使うのが良いかなと思います。 応用する…
はじめに 周囲のエンジニアは息を吸うように色々受験(そして合格)されているようなのですが、私はしばらく何もやっていませんでした。確か直近は、4年前の DevNet Associates(失効)。 久々に、なにかやってみとうと思っていたところ「Pythonによるネット…