てくなべ (tekunabe)

ansible / network automation / 学習メモ

awx

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

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

[AWX/Ansible] 開発用に AWX の UI と API の環境を別々につくってみた

はじめに AWX のユーザーインターフェイスを少し修正したい機会があって、どうやって試す環境を作れるのだろうと調べていました。 このあたりは公式ドキュメントがしっかりしていて、以下のページが非常に参考になりました。 UI を用意: https://github.com/…

[Ansible] UI が新しくなった AWX 16.0.0 ちょっと触ってみた

かっこいい はじめに AWX 16.0.0 がリリースされました。CHANGELOG はこちら 以前から、ui_next というコードネーム?で UI の刷新が進められていましたが、AWX 16.0.0 でついにリリースされたようです。 早速触ってみて、AWX 15.0.0 との比較の観点でツイー…

[Ansible/AWX] カスタム venv でジョブ実行時 ansible-playbook コマンドが No such file or directory のエラーになる

はじめに こちらの記事で紹介した方法で、ホスト側に カスタム venv を作って ansible をインストールし、awx_task コンテナにマウントさせてジョブテンプレートを実行したとろころ、以下のようなエラーが発生しました。 エラー 環境 AWX 15.0 エラー詳細 エ…

[Ansible] Ansible Tower / AWX の API で情報取得する汎用 lookup plugin の tower_api

はじめに Ansible には、Ansible Tower や AWX の情報を取得したり、設定を行うモジュールが多数あります。 docs.ansible.com バージョンを追うごとに増えていて、対応範囲が広がっていますが、それでもまだのものもあります。 そんなときに便利そうなのが、…

[Ansible/AWX] ジョブテンプレートやワークフロージョブテンプレートを一括削除するワンライナー

はじめに awx コマンドを利用すると、API を通じて Ansible Tower / AWX 上の 様々な操作ができます。 少し組み合わせて、ジョブテンプレートやワークフロージョブテンプレートを一括削除するワンライナーをご紹介します。 awx コマンドのインストールや接続…

[Ansible] コマンド版で使用している Playbook を Ansible Tower / AWX に載せる前にチェックしたいポイント

はじめに Ansible Tower / AWX は、GUI からジョブという実行単位を経由して、Playbook を実行します。 そのため、CLI からの対話的な操作は受け付けられません。 Ansible Tower / AWX に載せる前に他の方法に変える必要があります。 vars_prompt による対話…

[Ansible/AWX] AWX コマンドで git プロジェクトを更新する

はじめに 先日以下のツイートを拝見しました。煩わしさ同感です。 1.新規playbookをリポジトリに追加 → 2.プロジェクト同期 → 3.ジョブテンプレートで新規playbookを選択としたい場合に、2.で同期しないとplaybook選択するプルダウンに新規playbookが出てこ…

[Ansible/AWX] 起動したジョブをあとから awx コマンドでモニターする(monitor サブコマンド)

はじめに 以前の記事で、awx コマンドでジョブの実行を終了までリアルタイムに見届ける --monitor オプションをご紹介しました。 tekunabe.hatenablog.jp この --monitor オプションは、launch サブコマンドのオプションなので、起動とセットでした。 AWX 11…

[Ansible/AWX] ジョブテンプレート・ワークフロージョブテンプレートのコピーではスケジュール、通知、パーミション設定はコピーされない

はじめに Ansible Tower / AWX のジョブテンプレート、ワークフロージョブテンプレートにはコピー機能があります。 似たようなテンプレートを作成するときにとても便利です。 少し注意が必要なのは、スケジュール、通知、パーミションの設定はコピーされない…

[Ansible/AWX] アドホック実行画面の追加変数欄では ansible_ で始まる変数名を指定できない

はじめに Ansible Tower / AWX には、Playbook をジョブテンプレートとして実行する機能の他にも、アドホックな ansible コマンドを実行する機能もありま -e オプションに相当する、追加変数の設定欄がありますが、指定できる変数が制限されています。 具体…

[Ansible/AWX] アドホック実行画面で選択できるモジュールを追加する

はじめに Ansible Tower / AWX には、Playbook をジョブテンプレートとして実行する機能の他にも、アドホックな ansible コマンドを実行する機能もあります。 デフォルトでは利用できるモジュールが限られていて、たとえばネットワーク機器に対して有効なモ…

[Ansible] Tower/AWXのジョブテンプレートやワークフロージョブテンプレートを専用モジュールで起動する

はじめに Ansible Tower / AWX の操作に対応する awx.awx コレクションには、ジョブテンプレートやワークフロージョブテンプレートを起動するモジュールがあります。 この記事では、簡単なサンプルをもとに使用例をご紹介します。 検証環境 AWX 11.0 ※ Ansib…

[Ansible] awx コマンドでジョブの実行を終了までリアルタイムに見届ける(--monitor オプション)

はじめに Ansible Tower、AWX をコマンドで操作できる awx コマンドというツールがあります。 tekunabe.hatenablog.jp このコマンドツールのドキュメントの Creating and Launching a Job Template を見ていたときに、ジョブ起動時に --monitor というオプシ…

[Ansible/AWX] ワークフロー内の一連のジョブの実行ログをファイルで保存するPlaybook

はじめに Ansible Tower / AWX では、Playbook の実行ログがサーバー内に自動的に保存されます。 いつだれが実行してどうなったかを追跡するのに便利です。 そのログを、ファイルとしてダウンロードすることもできます。 出力のダウンロード 数個ログだった…

[Ansible] Tower や AWX をコマンドで操作できる awx コマンドのインストール、設定、動作確認

はじめに Ansible Tower / AWX は GUI の他にも、REST API 機能があります。API を利用すると、プログラムから操作しやすくなったり、CLI 化しやすくなったリします。 AWX には、API をラッピングしたような awx という CLI ツールがあります。 (ここでは A…

[Ansible] AWX11.0 リリースによる tower モジュールの変更点

はじめに 2020/04/16 に AWX 11.0 がリリースされました。 Release Release 11.0.0 · ansible/awx · GitHub Ansible 2.9 まで、Ansible 本体に標準で付属していた tower_* モジュールは、AWX 側で開発され、awx.awx collection として配布されています。 tek…

[Ansible/AWX] AWX でカスタムの仮想環境(venv)パスを認識させる方法

はじめに AWX や Ansible Tower では、デフォルトで用意されている venv (/var/lib/awx/venv/ansible)の他に、でカスタムした Ansible 環境を用意して利用できます。 参考: Ansible Tower のドキュメント 「設定 > システム 」画面の「カスタムの仮想環境…

[Ansible] tower_workflow_job_template_node モジュールでノード定義とリンク定義をうまくやる

はじめに 以前の記事で、Collection 版の tower モジュールである、tower_workflow_job_template、tower_workflow_job_template_nodeを利用してワークフローを作成する Playbook をご紹介しました。 tekunabe.hatenablog.jp そのなかで、 本当はノードの作成…

[Ansible] Ansible Tower / AWX のワークフローで別のジョブテンプレートに変数を渡せる set_stats と 追加変数の関係

はじめに Ansible Tower / AWX のワークフローで、別のジョブテンプレートに変数を渡せる set_stats モジュールがあります。 set_stats に登録した変数は、かなり優先度が高く、追加変数(Extra Variables)を上書きするケースもあります。 この記事では一例…

[Ansible] Collection 版の tower モジュールでワークフローを作成する(tower_workflow_job_template/tower_workflow_job_template_node)

はじめに 以前の記事で、Ansible Tower / AWX の各種オブジェクトを作成、管理できる tower モジュールのうち、Collection 版のモジュールについてご紹介しました。 tekunabe.hatenablog.jp Collection 版のモジュールでは、ワークフローを扱うモジュールと…

[Ansible] tower モジュールの最近の事情と Collection 版モジュールの使い方(AWX10.0時点)

■ はじめに Ansible には、Ansible Tower / AWX の各オブジェクトを作成、管理するための tower_* モジュール郡があります。GUI 操作を自動化できるのでとても便利です。 これらのモジュールは転換期を迎えています。 この記事では、最近の tower_* モジュー…

[Ansible/AWX] ワークフローですべてのジョブが正常で収束したときみ処理を進めるには(CONVERGENCEオプション)

はじめに Ansible Tower と、そのアップストリーム版である AWX には、ワークフローという機能があります。 ワークフローは、ジョブテンプレート(Playbook + α のオブジェクト)を複数つなぎあわせて、一連の処理を組み上げる機能です。 ワークフローは以下…

[Ansible] Ansible Tower / AWX の設定済みオブジェクトをエクスポート、編集、インポートする(ワークフロー編)

はじめに Ansible Tower / AWX で画面から設定を続けていくと、自動化したくなるのではないでしょうか。 これから新たに設定する分は、Ansible で Ansible Tower / AWX の各オブジェクトを管理できる tower_* モジュールを利用するのも手かと思います。 では…

[Ansible] Ansible Tower / AWX のワークフロー定義を YAML で表示する(tower-cli編)

はじめに Ansible Tower / AWX では、ワークフロービジュアライザーという画面で、ワークフローを可視化できます。 ワークフローの定義 ビジュアル的に可視化されていると直感的で分かりやすいです。一方で、複数のワークフロー定義を比較したいなどの場合、…

[Ansible] Ansible で Ansible Tower / AWX のワークフローを作成する(tower_workflow_template モジュール編)

■ はじめに Ansible には Ansible Tower の各オブジェクトを管理するモジュールがあります。 ワークフローを管理するモジュールは tower_workflow_template です。 環境 Ansible 2.9.0 AWX 7.0.0 ■ 環境の準備 Ansible 側に ansible-tower-cli が必要なので…

[Ansible] AWX を RHEL 8 にインストールする(HTTPS化もあり)

■ はじめに Red Hat Enterprise Linux 8 (以下、RHEL 8)に、Ansible Tower のアップストリームである AWX をインスールする手順をまとめます。 環境 RHEL 8.0 on AWS EC2 t2-medium (ami-0520e698dd500b1d1) Python 3.6.8 デプロイ方法 docker-compose AWX …

[Ansible] AWX から Cisco IOS と Juniper Junos を操作する

■ はじめに Ansible には GUI 付きの Ansible Tower という製品があります。そのアップストリーム版 OSS にあたるものとして AWX があります。 AWXのダッシュボード画面 この記事では、AWX から IOS と Junos の機器に対して簡単な操作(show versionの実行…