てくなべ (tekunabe)

ansible / network automation / 学習メモ

YAML におけるノルウェー問題(The Norway Problem)

いろいろな書き方ができる真偽値 たとえば Ansible の Playbook では、真偽値を指定する時に、true/false 、yes/no などいろいろな書き方ができてしまいます。 去年、Ansible のコミュニティでは、ドキュメント上どう統一するのがいいかの投票がありました。…

[Ansible] インベントリの警告「[WARNING]: No inventory was parsed (略)」の表示有無を切り替える設定 INVENTORY_UNPARSED_WARNING

はじめに ansible-core 2.14.0 の changelog を眺めてて始めて気がついたのですが、INVENTORY_UNPARSED_WARNING という設定項目が追加されていました。 インベントリファイルを読み込めなかったときに表示される警告、[WARNING]: No inventory was parsed, o…

JANOG51 Meeting 参加レポート

はじめに 2023/01/25-27 に山梨県富士吉田市で開催(現地とオンラインのハイブリッド)された JANOG51 Meeting にオンラインで参加しました。 はじめて JANOG Meeting に参加したのが JANOG41 だったので、今回で10回目となりました。 現地は、満席で立ち見…

[Azure] いろんなツールでNSGを作ってみた(Azure CLI / Bicep / ARM テンプレート / Ansible / Terraform / CDKTF)

はじめに Azure の操作を自動化するとき、みなさんどんなツール使うことが多いのかなと思い、先日こんなアンケートをとってみました。 (アンケートです)Azure リソース操作の自動化で主に使ってるもの(選択肢1/2)— よこち (@akira6592) 2023年1月11日 (…

[Azure/Ansible] 関連付けされていない NSG を Ansible で洗い出してまとめ削除する

はじめに 先日、関連付けされていない NSG を Azure CLI で洗い出してまとめ削除するという記事を投稿しました。 tekunabe.hatenablog.jp これを Ansible でもやってみようとおもって、やってみました。 環境 ansible-core 2.12.1 azure.azcollection 1.14.0…

[Azure] 関連付けされていない NSG を Azure CLI で洗い出してまとめ削除する

はじめに セキュリティグループ(NSG)の設定の自動化を試しているうちに、どのサブネット、どのネットワークインターフェースにも関連づいていない不要な NSG がちらほらできてしまいました。これらを洗い出したり、まとめ削除したいなと思うことがありまし…

[Azure] ネットワークセキュリティグループ(NSG)のルールのプロトコルの大文字小文字事情

はじめに 先日、以下の記事を拝見しました。 zenn.dev そこで、ネットワークセキュリティグループのルール内のプロトコル(TCP など)の大文字小文字が、ポータルから設定するときと、Ansible から設定するときとで異なることを知りました。 気になったので…

[Azure] Azure CLI が叩いてる REST API のリクエストやレスポンスを確認する方法(--debug、ログファイル有効化)

はじめに Azure 情報さまざまなリソースをコマンドラインで操作できる Azure CLI というツールがあります。 裏では Azure REST API を叩いていたりするようです。ときどき、Azure CLI による操作がどういう API を叩いてるのか(エンドポイント、ボディ)、…

[Ansible] aws_ec2 インベントプラグインで CloudFormation のスタック名でグループ化やフィルターする

この記事は、Ansible Advent Calendar 2022 (Adventar 版) の 24日目の記事です。 はじめに Ansible には AWS の EC2 インスタンスの情報を取得し、動的なインベントリとして扱える amazon.aws.aws_ec2_inventory というインベントリプラグインがあります。 …

[Ansible] 2022年の Ansible 関連リリースまとめ

この記事は Ansible Advent Calendar 2022 23日目の記事です。 はじめに 2022年もAnsible関連で様々なリリースがありました。ansible-core や AAP も予定通りバージョンアップされてきました。 ansible-rulebook(developer preview)もインパクトがありまし…

[Ansible] ansible-galaxy collection install がオフライン環境で少し便利になった(ansible-core 2.13.5 以上)

この記事は、Ansible Advent Calendar 2022 (Adventar 版) の 23日目の記事です。 はじめに コレクションをインストールするための ansible-galaxy collection install というコマンドがあります。 コレクション名(cisco.ios など)を指定して、オンライン…

[Ansible] community.zabbix 内のモジュールを httpapi で使うとエラー「Invalid JSON response」となる場合の対処

この記事は、Ansible Advent Calendar 2022 (Adventar 版) の 22日目の記事です。 はじめに community.zabbix コレクション内のモジュールは、最近のバージョンでは httpapi コネクションプラグインに対応してきたようです。 これにより、各タスクで server_…

[Ansible] URLの文字列をチェックするテストプラグインをためしてた

この記事は、Ansible Advent Calendar 2022 (Adventar 版) の 21日目の記事です。 はじめに ansible-core 2.14.0 で、URL、URI、URN の文字列をチェックするテストプラグインが追加されました。 url uri urn 使用例は、それぞれのドキュメントページの Examp…

[Ansible] ディクショナリのキーを元に、残す、除外する、置き換えるフィルターをためしてみた

この記事は、Ansible Advent Calendar 2022 (Adventar 版) の 20日目の記事です。 偶然ですが、同日 Qiita 版に同じフィルターを扱った記事がアップされています。こちらも是非ご覧ください。 ansible.utilsコレクションのフィルタ(keep_keys/remove_keys/re…

[Ansible] 公式ドキュメントの更新状況を追う

この記事は、Ansible Advent Calendar 2022 (Adventar 版) の 19日目の記事です。 はじめに Ansible の公式ドキュメントは、GitHub のリポジトリ ansible/ansible 上で追加や修正されています。 devel ブランチのコミットを追っても分かるといえば分かるので…

[Ansible] インベントリ変数、set_fact、include_vars などで定義した変数の評価タイミング

この記事は、Ansible Advent Calendar 2022 (Adventar 版) の 18日目の記事です。 はじめに あらためて考えると「あれ、どうだっけ?」となることの一つに、変数の評価タイミングがあります。 インベントリ変数や、Play変数、vars_files 、set_fact、include…

[Ansible] AWS 系コレクションは 2つある(amazon.aws、community.aws)

この記事は、Ansible Advent Calendar 2022 の 14日目の記事です。 はじめに もともと Ansible 本体とセットだったモジュール類の多くが、ansible(-base) 2.10 でコレクションに移行しました。 少しややこしく感じるかもしれませんが AWS の各種リソースを操…

[Ansible] ansible-config dump コマンドで設定を JSON や YAML で表示する (ansible-core 2.14.0 から)

この記事は Ansible Advent Calendar 2022 6日目の記事です。 はじめに ansible-core 2.14.0 で、ansible-config dump コマンドにで出力フォーマットを指定する -f、--format オプションが追加されました。 ansible community package のバージョンとしては …

[Ansible] Ansible動画 をみんなで観て語る会 #6 参加レポート(Introducing Ansible Network Validated Content)

この記事は Ansible Advent Calendar 2022 4日目の記事です。 はじめに 2022/12/01 に開催開催された「Ansible 動画 をみんなで観て語る会 #6」参加しました。 ansible-users.connpass.com どんなことをどんな流れでやっていったのか、レポートします。 Ansi…

Cloudflare Zero Trust を API で操作してみた(トークン作成・Gateway ポリシー取得・追加)

この記事は エーピーコミュニケーションズ Advent Calendar 2022 の1日目の記事です。 はじめに Cloudflare Zero Trust が 50ユーザーまで無料というプランがあるとのことで、試すにちょうどいいと思って少し触っていました。 触ってまもなく、API あるかな…

[Ansible] paramiko と ansible-pylibssh のどっちが使われたか確認する方法

はじめに ネットワークモジュールが長らく内部的に利用している SSH クライアントライブラリとして、paramiko があります。 最近は ansible-pylibssh というもの新しいものもあります。登場した経緯は Ansible の公式ブログの記事に書かれています。 そして…

[Ansible] 「ansible-pylibssh not installed, falling back to paramiko」という警告の意味と対処

はじめに 最近のバージョンの Ansible で Cisco IOS などのネットワーク機器に操作する Playbook を実行すると、以下のような警告(WARNING)を見かけたことはないでしょうか、 [WARNING]: ansible-pylibssh not installed, falling back to paramiko エラー…

[Ansible] AnsibleをバージョンアップしたらCisco IOSに対するPlaybookが認証エラーになった原因と対処

はじめに 先日、Ansible 4系から 6系にバージョンアップしたら、今まで正常に動いていた Cisco IOS に対して処理する Playbook が動かなくなる現象に出会いました。 以下のように、認証エラーです。 fatal: [sw01]: FAILED! => {"changed": false, "msg": "F…

[Ansible] Python から Playbook を実行できる ansible-sdk をためしてみた

はじめに 最近、ansible/ansible-sdk というリポジトリが公開されました。 Python から Playbook を実行できるようです。とりあえず気になるので試してみました。 リポジトリ内にサンプルの Python スクリプトと、Playbookが入ってるので試すだけならかなり…

[Ansible] Playbook ならぬ Rulebook、イベントドリブンな ansible-rulebook を試してみた

はじめに 先日 Ansible の公式ブログで、Event-Driven Ansible という言葉が含まれるブログが次々と投稿されました。 Introducing the Event-Driven Ansible developer preview Getting Started with Event-Driven Ansible It takes a community: how partne…

[Ansible/AAP] 書籍「Demystifying Ansible Automation Platform」はAAPの全体と自動化と応用が学べる貴重な書籍

はじめに 2022/09/30 に Ansible Automation Platform の Automation Controller を中心とした各プロダクト、サービスについて解説している「Demystifying Ansible Automation Platform」という書籍が発売されました。 demystifying と言う言葉は今回はじめ…

[Ansible/AAP] Ansible Automation Platform のツール・プロダクト群を学べる書籍「Demystifying Ansible Automation Platform」が発売された

はじめに 2022/09/30 に、Ansible Automation Platform(AAP)について解説された書籍(洋書)「Demystifying Ansible Automation Platform」が発売されました。 Ansible をとりまくツールやプロダクト群を学んだり、Automation Controller (旧Ansible Towe…

[AWX/React] はじめて AWX の UI を修正するまでにやったこと(React何もわからん状態から)

はじめに AWX の UI (画面)で一部修正したい箇所があり、修正してPRを出したところマージしていただきました。 github.com AWX の UI 修正は今回が初めてでした。特にフロントエンドは分からないことが多い状態からでしたが、どうにか無事にマージしていた…

[Ansible] VS Code の Ansible 拡張でファイル内容によって関連付けされるようになった

はじめに 以前の記事で、VS Code の Ansible 拡張で「ファイル名やモードライン」によって、ファイルが関連付けされるようになったことを書きました。 tekunabe.hatenablog.jp その後のアップデートで、バージョン 0.14.0では、ファイルの内容までチェックし…

[Ansible] netbox.netbox.nb_inventory インベントリプラグインの token でJinja2テンプレートが使えるようになった

はじめに リリースされたばかりの netbox.netbox コレクション 3.8.0で、こんな changelog がありました。 Allow netbox api access token to be templated by @TWitzenrath in #806 パッと見では分からなかったのですが、元の PR #806を見ると、netbox.netb…