てくなべ (tekunabe)

ansible / network / automation

ansible

[Ansible] 「つまずき Ansible 【Part9】Ansible Tower か AWX」ふりかえり

はじめに 2020/07/04 に、YouTube Live で「つまずき Ansible 【Part9】Ansible Tower か AWX」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、こまで作ったインベントリファイルやPlaybookな…

[Ansible] eos_command モジュールで show コマンドの結果を JSON で取得する

はじめに Arista EOS のネットワーク機器向けに、主に show コマンドを実行する eos_command というモジュールがあります。 このモジュールでは、コマンドの実行結果を JSON 形式でも取得できます。 簡単なサンプルでご紹介します。 試した限り コネクション…

[Ansible] 「つまずき Ansible 【Part8】Collection を使う」ふりかえり

はじめに 2020/06/27 に、YouTube Live で「つまずき Ansible 【Part8】Collection を使う」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Collectionのインストールと、Collection のモジュ…

[Ansible] 「つまずき Ansible 【Part7】Ansible 2.10.0b1 でずっこける」ふりかえり

はじめに 2020/06/21 に、YouTube Live で「つまずき Ansible 【Part7】Ansible 2.10.0b1 でずっこける」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、前日リリースされた Ansible 2.10.0b1…

[Ansible] cisco.ios collection 0.0.3 リリース、ACL や OSPF などのモジュールなどが追加

はじめに 追加モジュール cisco.ios.ios_acl_interfaces cisco.ios.ios_acls cisco.ios.ios_ospfv2 cisco.ios.ios_static_routes これらモジュールを利用するには? おわりに はじめに Ansible は、Ansible 本体の標準モジュールの他に、Collection という形…

[Ansible] 「つまずき Ansible 【Part6】Juniper Junos に何かしてみる」ふりかえり

はじめに 2020/06/20 に、YouTube Live で「[つまずき Ansible 【Part6】Juniper Junos に何かしてみる(https://www.youtube.com/watch?v=jJedVzaGDRU)」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.co…

[Ansible] Network Resource Module で実際に実行されるコマンドを確認する方法

はじめに Ansible のネットワークモジュールの中には、コンフィグを直接指定しないタイプのものがあります。 中でも Ansible 2.9 から追加された Network Resource Module の機能は強力です。 とはいえ、ネットワークエンジニアとしては「実際どういうコマン…

[Ansible] 「つまずき Ansible 【Part5】Arista EOS に何かしてみる」ふりかえり

はじめに 2020/06/13 に、YouTube Live で「つまずき Ansible 【Part5】Arista EOS に何かしてみる」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Arista EOS の機器(cEOS-lab) への接続…

[Ansible] netconf_get モジュールで Cisco IOS XE の情報を NETCONF で取得する

はじめに 以前、restconf_get モジュールで Cisco IOS XE のインターフェース情報を取得してみる という記事で、Ansible で RESTCONF 経由で情報取得する Playbook をご紹介しました。 この記事では RESTCONF ではく、netconf_get モジュールでCisco IOS XE …

[Ansible] 変数名に使える文字

利用できない変数名を利用しようとしてハマったことはありませんでしょうか。 私はあります。 変数名に使える文字は公式ドキュメントに掲載されています。一度目を通しておくと、ハマらなくて済みそうです。 docs.ansible.com 上記は devel ブランチのドキュ…

[Ansible] 変数名を参照する際に "{{ varname }}" のようにクォーテーションで囲う理由

はじめに 2020/06/09 開催の【リモート開催】Ansibleもくもく会 (サーバ編 & NW編)2020.06 にメンターとして参加させていただきました。 いただいた質問の中に、変数名の参照の際にダブルクォーテーションで囲う場合と囲わない場合があるが必須?というも…

[Ansible] 「つまずき Ansible 【Part4】インターフェースとOSPFの設定」ふりかえり

はじめに 2020/06/06 に、YouTube Live で「つまずき Ansible 【Part4】インターフェースとOSPFの設定」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Cisco IOS の機器に、インターフェース…

[Ansible] つまずきながら進める Ansible 【Part3】ふりかえり

はじめに 2020/05/30 に、YouTube Live でつまずいきながら進める Ansible 【Part3】という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 前回までは、Ansible のインストールとインベントリファイルの作成…

[Ansible] ios_config モジュールで save_when: modified 指定時に常に changed になる原因

はじめに Cisco IOS 機器に設定コンフィグを流し込む、ios_config モジュールには、コンフィグの保存(copy running-config startup-config)する条件を指定する、save_whenをいうオプションがあります。 ここで、modified を指定すると「running-config と …

[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] つまずきながら進める Ansible 【Part2】ふりかえり

はじめに 2020/05/23 に、YouTube Live でつまずいきながら進める Ansible 【Part2】という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 前回の Part1(動画、ふりかえりブログ)では、Ansible のインストール、インベントリファ…

[Ansible] Ansible Tower 3.7.0 でワークフローノード作成モジュール(awx.awx.tower_workflow_job_template_node)が使えるようになった

はじめに 先日、Ansible Tower 3.7 がリリースされました。 ワークフロージョブテンプレートに対して、ワークフローノードを定義する awx.awx.tower_workflow_job_template_node が、Asnible Tower 3.6 系に対しては使えなかったのですが、3.7 に試したら使…

[Ansible] 特定バージョンの collection をインストールするには

基本コマンド collection をインストールするコマンドは ansible-galaxy collection install です。 たとえば、cisco.ios であれば以下のとおりです。 ansible-galaxy collection install cisco.ios この場合、最新の安定版リリースがインストールされます。…

[Ansible] 変数優先順位の「20. role (and include_role) params」とは何なのか

はじめに Ansible は、様々な場所に変数を定義できます。便利な半面、優先順位がどうだったか混乱してしまうこともあります。 調べたいときに確認するのが、以下の公式ドキュメントのページです。 docs.ansible.com この中で、20. role (and include_role) p…

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

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

[Ansible] つまずきながら進める Ansible 【Part1】ふりかえり

はじめに 2020/05/16 に、YouTube Live でつまずいきながら進める Ansible 【Part1】という配信をしました。 実際に作業しながらエラーと戦ってすすめるものです。 とりあえず目指したのは以下のアンケートで一番多かった、show コマンドの結果をファイルで…

[Ansible] nclu モジュールでエラー「Error in pending config. You may want to view `net pending` on this target.」発生時はbecomeを確認

はじめに Ansible には Cumulus Linux のネットワーク管理コマンドツール nclu を扱う nclu モジュールがあります。 先日、試しに使ってみたところ以下のエラーになりました。 Error in pending config. You may want to view `net pending` on this target.…

[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] Playbook に手を加えずにデバッガーを有効にする(ENABLE_TASK_DEBUGGER)

はじめに Ansible には Playbook Debugger というがあります。 Playbook の途中のタスクで処理を止めて、変数の値を確認したり書き換えたりできるデバッグ機能です。Play や Task に debbuger: 止める条件 という指定すると有効になります。 たとえば、以下…

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

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

[Ansible] 各タスク内で実行するホストの順番を指定する(order)

はじめに 各タスク内で、どのようなホストの順番で実行されるのか、を指定する oder というディティブがあります。 先日たまたま知ったので、せっかくなので、検証します。 order で タスク内のホスト実行順を指定する 検証環境 Ansible 2.9.6 order で指定…