2020-04-01から1ヶ月間の記事一覧
はじめに 以前の記事で、awx コマンドでジョブの実行を終了までリアルタイムに見届ける --monitor オプションをご紹介しました。 tekunabe.hatenablog.jp この --monitor オプションは、launch サブコマンドのオプションなので、起動とセットでした。 AWX 11…
はじめに Ansible Tower / AWX のジョブテンプレート、ワークフロージョブテンプレートにはコピー機能があります。 似たようなテンプレートを作成するときにとても便利です。 少し注意が必要なのは、スケジュール、通知、パーミションの設定はコピーされない…
はじめに Ansible の Junos モジュール郡は、コネクションプラグイン(接続方式)として、netconf と network_cli (いわゆるSSH)に対応しています。 ただし、各モジュールごとに、利用できるコネクションプラグインが決まっています。 Junos OS Platform Opt…
はじめに Ansible Tower / AWX には、Playbook をジョブテンプレートとして実行する機能の他にも、アドホックな ansible コマンドを実行する機能もありま -e オプションに相当する、追加変数の設定欄がありますが、指定できる変数が制限されています。 具体…
はじめに Ansible Tower / AWX には、Playbook をジョブテンプレートとして実行する機能の他にも、アドホックな ansible コマンドを実行する機能もあります。 デフォルトでは利用できるモジュールが限られていて、たとえばネットワーク機器に対して有効なモ…
はじめに Ansible には Playbook Debugger というPlaybookのデバッグ機能があります。 Playbook の途中のタスクで処理を止めて、変数の値を確認したり書き換えたりできるデバッグ機能です。Play や Task に debugger: 止める条件 という指定すると有効になり…
はじめに Ansible Tower / AWX の操作に対応する awx.awx コレクションには、ジョブテンプレートやワークフロージョブテンプレートを起動するモジュールがあります。 この記事では、簡単なサンプルをもとに使用例をご紹介します。 検証環境 AWX 11.0 ※ Ansib…
はじめに 各タスク内で、どのようなホストの順番で実行されるのか、を指定する order というディティブがあります。 先日たまたま知ったので、せっかくなので、検証します。 [2020/08/02 追記] order で指定できるのは、実行開始の順であって、結果の表示順…
はじめに Ansible Tower、AWX をコマンドで操作できる awx コマンドというツールがあります。 tekunabe.hatenablog.jp このコマンドツールのドキュメントの Creating and Launching a Job Template を見ていたときに、ジョブ起動時に --monitor というオプシ…
はじめに Ansible Tower / AWX では、Playbook の実行ログがサーバー内に自動的に保存されます。 いつだれが実行してどうなったかを追跡するのに便利です。 そのログを、ファイルとしてダウンロードすることもできます。 出力のダウンロード 数個ログだった…
はじめに Ansible Tower / AWX は GUI の他にも、REST API 機能があります。API を利用すると、プログラムから操作しやすくなったり、CLI 化しやすくなったリします。 AWX には、API をラッピングしたような awx という CLI ツールがあります。 (ここでは A…
はじめに Ansible で他のホストのホスト変数を参照、設定したりする方法ご紹介します。 ■ 他のホスト変数を参照する 他のホスト変数を参照するには hostvars を利用します。 Playbook サンプル Playbook です。 localhost、rt1 が実行対象で、rt1 のタスクの…
はじめに 2020/04/16 に AWX 11.0 がリリースされました。 Release Release 11.0.0 · ansible/awx · GitHub Ansible 2.9 まで、Ansible 本体に標準で付属していた tower_* モジュールは、AWX 側で開発され、awx.awx collection として配布されています。 tek…
はじめに (聞かれると「あれ、どうだったかな・・」と不安になるシリーズ) 以下の記事を拝見して思ったのですが、 zaki-hmkc.hatenablog.com register や set_fact した変数は Play を跨いで有効です。 言い換えると Playbook スコープです。 set_fact モ…
遭遇したエラー 先日、ansible-playbook コマンド実行時に、以下のエラーに遭遇しました。 $ ansible-playbook -i inventory.ini test.yml PLAY [sv] ***************************************************************************************************…
はじめに Ansible は、Inventory Plugin という機能によって、様々な形式のインベントリを利用できるようになっています。 よくある INI や YAML 形式のスタティックなファイル以外にも、ダイナミックにインベントリ情報を取得することもできます。 たとえば…
はじめに 2020/04/14 に開催された Ansible もくもく会にメンターとして参加させていただきました。 サーバー編、ネットワーク編とあるうちのネットワーク編を主に見ていました。 実際に自分自身もハンズオンで試してみると、Ansible Tower のパートで、ネッ…
はじめに VyOS では、コンフィギュレーションモードで save コマンドを実行すると、コンフィグを機器内に保存できます。 Ansible としては、vyos_config モジュールの save オプションの指定により、同じことができます。 一方で save my_config.txt のよう…
はじめに 前回の記事で、Ansible で VyOS を扱うための準備や、簡単な show コマンドを実行する方法をご紹介しました。 tekunabe.hatenablog.jp この記事では、vyos_config モジュールを利用した設定変更の Playbook をご紹介します。 動作確認環境 Ansible …
はじめに Ansible は VyOS にも対応していて、設定の変更や、各種 show コマンドの実行による情報取得ができます。 この記事では、VyOS モジュールを利用するためのインベントリファイルの作成、認証情報の定義などの準備と、簡単な show コマンドを実行する…
はじめに molecule とは molecule は、Ansible のロールをテストするフレームワークです。 これまで、バージョンアップするごとに結構インパクトの大きい変更があって、やや敬遠気味でした。バージョン 3.0 で、デフォルトの verifier(実際にテストを担うも…
はじめに 特定のパッケージがインストール済みであることを確認する Playbook です。 動作確認環境 ansible 2.9.19 ansible-base 2.10.4 仕組みは以下のとおりです。 yum モジュールの state オプションで installed を指定する このタスクをチェックモード…
はじめに Playbook を書いていて処理のかたまりをロール化したとき、一部の処理だけ変数で挙動を変えたいときはないでしょうか。この記事ではロールを引数ありの関数のように使う方法を紹介します。 Python でいうと以下のようなコードです。 greeting は、…
はじめに Ansible には PaloAlto(PAN-OS) 向けのモジュールがあります。Ansible 2.8 までは標準モジュールとして付属していました。2.9 では Deprecated(非推奨)となり、Collection モジュールを利用することになっています。 ですが、モジュールが用意さ…
はじめに PaloAlto (PAN-OS) には API 機能があります。どんな事ができるかはこのあたりのページを確認すると想像できます。 この記事では、API 経由でカスタムURLカテゴリの追加を試してみます。 画面で言うこれ 動作確認環境 PAN-OS 9.1 準備 API KEY の取…
はじめに AWX や Ansible Tower では、デフォルトで用意されている venv (/var/lib/awx/venv/ansible)の他に、でカスタムした Ansible 環境を用意して利用できます。 参考: Ansible Tower のドキュメント 「設定 > システム 」画面の「カスタムの仮想環境…
通常は変数展開される tower_credential_type モジュールを利用して、カスタムクレデンシャルの injectors オプションを利用して、以下のような値を投入する Playbook を作ろうと思ったことがありました。 こういうのを登録したい しかし、以下の「ここ」の…
はじめに AWX では、デフォルトの Python 環境として /var/lib/awx/venv/ansible が利用されています。 以前から不思議だったのですが、コマンドライン版の Ansible では 2.8 から、ネットワーク機器への接続に別途 paramiko をインストールする必要があるの…
はじめに 以前の記事で、Collection 版の tower モジュールである、tower_workflow_job_template、tower_workflow_job_template_nodeを利用してワークフローを作成する Playbook をご紹介しました。 tekunabe.hatenablog.jp そのなかで、 本当はノードの作成…
はじめに Ansible Tower / AWX のワークフローで、別のジョブテンプレートに変数を渡せる set_stats モジュールがあります。 set_stats に登録した変数は、かなり優先度が高く、追加変数(Extra Variables)を上書きするケースもあります。 この記事では一例…