てくなべ (tekunabe)

ansible / network automation / 学習メモ

2024-01-01から1年間の記事一覧

[Ansible/AAP] コンテナでデプロイする AAP「Containerized AAP」を試して仕組みを少し調べた(AAP 2.4 時点の Technical Preview)

はじめに Automation Automates 2023 Japan での AAP のロードマップの話の中で、「Containerized AAP」という言葉がありました。その後、AAP 2.4 内で「Technical Preview」という扱いで提供が始まりました。 どんな感じか気になりつつ、試せていなかったの…

[Ansible/AAP] AAP 2.5 の変更点は?(リリース前の情報から)

はじめに AAP(Ansible Automation Platform)2.4 の Full support 期限が 2024/10/01 と迫っていることから、次期の AAP 2.5 の足音が聞こえてきました。 (過去、サポート期限の表記が延長されたことはありました) Red Hat Ansible Automation Platform L…

ntc-templates のパース結果のキー名は標準化によって変わってきている

はじめに ネットワーク機器の通常の show コマンド結果を、構造化データにパースしてくれる ntc-templates というパーステンプレート集があります。 TextFSM というパーサーに対応したテンプレートです。 例えば、Cisco IOS の 'show ip interface brief` の…

[Ansible] Ansible Automates 2024 Japan 参加メモ

はじめに 2024/08/07 に、Red Hat 社主催で、Ansible に関する年次イベント「Ansible Automates 2024 Japan」がオンラインで開催されました 今回のテーマは「実践から学ぶインフラ自動化、国内事例大集合!」 events.redhat.com ほぼハッシュタグ #ansibleau…

JANOG54 Meeting レポートその2: 登壇編「自動化の教育ってどうやってますか?」

はじめに 2024/07/03-05 に奈良県奈良市の奈良県コンベンションセンターで JANOG54 Meeting in NARA が開催されました。 本記事では、登壇の機会をいただいたプログラム「自動化の教育ってどうやってますか?」の、準備や当日のことなどをまとめます。 なお…

JANOG54 Meeting レポートその1: 参加編

はじめに 2024/07/03-05 に奈良県奈良市の奈良県コンベンションセンターで JANOG54 Meeting in NARA が開催されました。 今回はありがたいことに、登壇の機会とブース出展があったため、現地で参加しました。 来場者数は過去最多 3,249人だったそうです。大…

[Ansible/AAP] AAP のサポート期限の表記が伸びていることがある

Ansible Automation Platform の各サポート期限の表が以下のページにまとまっています。 access.redhat.com 見やすくてありがたいです。このサポート期限ですが、私が観測している範囲では伸びることがあるようです。 たまたま 2023年9月時点 にとったキャプ…

[Ansible] ansible-core 2.17.0 で Linux ディストリビューションに基づくインタープリター検出機能がなくなった

はじめに Ansible では、マネージドノード(自動化対象)が Linux の場合は、マネージドノード側の Python を利用します。どの Python インタープリターを利用するかは、設定項目 INTERPRETER_PYTHON (変数だと ansible_python_interpreter)で指定できます…

[Ansible] エラー「SyntaxError: future feature annotations is not defined」発生時は Python インタプリターを要チェック

はじめに ansible-core 2.17.0 で Linux サーバーをマネージドノード(自動化対象)に実行したとき、以下のエラーに出くわしたことがありました。 SyntaxError: future feature annotations is not defined 調べてみると、マネージドノード側の Python が 3.…

[Ansible] Playbook の実装ポリシーをチェックできる ansible-policy(開発進行中)をためした

はじめに 2024年5月の AnsibleFest 2024 のキーノートでたびたび「Policy as Code」という言葉が出てきました。Policy as Code 自体はほかでも耳にしますが、Ansible の場合は例えば、Playbook 中で指定するAWS インスタンスタイプを制限する、のようなこと…

[Ansible] ansible-core 2.17.0 で マネージドノード側の Python 2 系全部と Python 3.6 のサポートがなくなった

はじめに いよいよ、という感じですが、ansible-core 2.17.0 で、マネージドノード(自動化対象)側での Python 2系と Python 3.6 のサポートがなくなりました。 テスト対象からも外されているため、サポートされているバージョンよりバグが起こる可能性が大…

Interop Tokyo 2024 参加レポート(主に ShowNet)

はじめに 2024/06/12-14(現地展示期間として)に開催されたInterop Tokyo 2024に参加してきました。 ShowNet の展示やセッションを見てきましたので、いくつかまとめます。 ※ 口頭で聞いた内容を思い出しながら書いた記述が含まれます。正確な情報は一次ソ…

[Ansible] vyos.vyos や frr.frr コレクションなどが Deprecated (非推奨)になった(2024/06/26 に戻った)

3つのネットワーク系コレクションが Deprecated ネットワーク系のコレクションのうち、以下のコレクションが Deprecated (非推奨)になっていました。 vyos.vyos frr.frr openvswitch.openvswitch 例えば vyos.vyos コレクション README.md には以下のよう…

[Ansible/Terraform] terraform モジュールが2つのコレクションにある事情(cloud.terraform、community.general)

はじめに Ansible から Terraform を呼ぶ terraform モジュールですが、現状 cloud.terraform コレクションと community.general コレクションの2つにあります。 ここまでの経緯や、現在の状況になっている理由をまとめます。 経緯 もともと terraform モジ…

[Ansible/Terraform] cloud.terraform.terraform モジュールでどんな terraform コマンドが実行される確認する

はじめに Ansible の cloud.terraform.terraform モジュールは、Ansible から Terraform を呼べるモジュールです。 モジュールで指定するオプションに応じて、さまざま terraform コマンドが実行されます。 で、「このときは実際にどういうコマンドが実行さ…

[Ansible/AAP] Automation Controller の API エンドポイントは末尾のスラッシュ(trailing slash)を付けるのが吉

はじめに タイトルがほぼ全てです。 Automation Controlle の API エンドポイントには、末尾のスラッシュ(trailing slash)があります。 developers.redhat.com ドキュメント通り末尾のスラッシュを付けるべきですが、付けなくて問題なく見えることがあるの…

[Ansible] ansible-core 2.17 で yum モジュールがなくなった

はじめに ansible-core 2.17.0 (Ansible Community Package だと 10)では、ansible.builtin.yum モジュールがなくなりました。 With the removal of Python 2 support, the yum module and yum action plugin are removed and redirected to dnf. https://…

[Terraform] plan 時に差分の有無を終了コードで判断できる -detailed-exitcode オプション

はじめに Ansible から Terraform を呼べる cloud.terraform.terraform モジュールのコードを眺めているときに、terraform plan の -detailed-exitcode オプションの存在を知りました。 どんなオプションだろうと、公式ドキュメントを見てみると、以下のよう…

[Ansible/Terraform] cloud.terraform.terraform モジュールの init 関連オプションの関係

はじめに cloud.terraform.terraform モジュールは、Ansible から Terraform を実行できるモジュールです。 Terraform には init、plan、apply、destroy といったサブコマンドがあります。当初「モジュール のstate オプションで init、plan、apply、destroy…

[Ansible] ロールの vars や defaults 配下の main.yml は「main ディレクトリ」でもいい

はじめに Ansible のロールでは、ロールの変数を vars/main.yml に、デフォルト値を defaults/main.yml に定義するというのが基本的なディレクトリ、ファイル構造です。 いつのバージョンからかはわかりませんが、それぞれ main.yml ではなくて main ディレ…

[Ansible/Terraform] Terraform 入りの Execution Environment (EE) をビルドする定義ファイル例

はじめに Ansible を Execution Environment (EE: コンテナベースの Ansible 実行環境)を利用していて、Ansible から EE の中の Terraform を呼び出す場合、EE の中に Terraform をインストールしておく必要があります。 AWX の標準の EE である quay.io/a…

[Asnible] Playbook の品質改善プルリクを出してくれる Ansible code bot を試してみた

はじめに AnsibleFet 2024 のキーノートで、Ansible code bot というものを知りました。 動画の 17:45 頃から。 GitHub 上の Playbook の品質上の修正提案のプルリクエストを出してくれる bot です。 おもしろそうだったの試してみました。 手順 スクショを…

Red Hat Summit 2024 のキーノートで気になったキーワード

はじめに 2024/05/6-9 (現地時間)、デンバーで Red Hat Summit 2024 と AnsibleFest 2024 が開催されています。 このうち、AnsiblefFest のキーノートについては以下の記事でふれました。 tekunabe.hatenablog.jp 本記事では、Red Hat Summit 側のキーノート…

[Ansible] AnsibleFest 2024 のキーノートで気になったポイント(事例、Event-Driven Ansible、Policy as Code など)

はじめに 2024/05/6-9 (現地時間)、デンバーで Red Hat Summit 2024 と AnsibleFest 2024 が開催されています。去年からこの 2つのイベントが合同開催になりました。 私は現地には行っていませんが、両イベント合計4つのキーノートを YouTube Live で見れま…

[Ansible] meta/argument_specs.yml による Role argument validation の注意点

はじめに Ansible にはロールの実行に必要な変数のバリデーションができる「Role argument validation」という機能があります。ansible-core 2.11 から利用できます。 どのような変数が必須か、どういう値を取りうるか(選択肢)を、各ロールの meta/argumen…

[Terraform/AAP] Terraform で Automation Controller を設定する ansible/aap プロバイダーを試す

はじめに Terraform から AAP (厳密には Automation Controller)の設定を操作する ansible/aap プロバイダー 1.0.0 が 2024/05/01 にリリースされました。 registry.terraform.io これまでも、Terraform から Playbook を呼び出す ansible/ansible プロバ…

[Ansible] ハンドラー名はユニークにしておいた方が良い理由と検証

はじめに Ansible には、タスクのステータスが changed のときだけ実行したい処理を定義するために、ハンドラーという機能があります。 docs.ansible.com ハンドラーには、通常のタスクと同様に name を指定できます。ハンドラーで指定した name をこの記事…

[Ansible/AAP] AAP のドキュメントから Ansible 2.9 の記載がなくなってきている

いよいよという感じですが、AAP (Ansible Automation Platform)のドキュメントから Ansible 2.9 の記載がなくなってきています。 たまたま、Before / After のキャプチャーが撮れたので載せておきます。 たとえば、システム要件のページ。 Before (Ansible 2…

[Ansible/AAP] Automation Controller へのマニフェストファイル適用時にエラー「Request failed with status code 413」になる現象と対処

はじめに Automation Controller にライセンスを適用する方法には以下の2つがあります。 予め作成したマニフェストファイル(zip)をライセンス適用画面でアップロード ライセンス適用画面でユーザー名 / パスワードを入力してライセンスを選択 このうち、1 …

[Ansible] IOS-XR 向けのタスクがエラー「No existing session」になる原因のひとつ

はじめに Ansible のネットワークモジュールでたまに見かけるエラー "msg": "No existing session" は、個人的に切り分けが難しいエラーの一つだと思っています。 先日は IOS-XR に対する Playbook で、認証系の誤りによってこのエラーが表示されたことがあ…