てくなべ (tekunabe)

ansible / network / automation

ansible

[Ansible] 「つまずき Ansible 【Part17】ansible 2.10 まわり」ふりかえり

はじめに 2020/09/26 に、YouTube Live で「つまずき Ansible 【Part17】Ansible 2.10 まわり」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、2020/09/22 にリリースされたの Asnible 2.10.0…

[Ansible] 複数の assert を一通り実施したあとで全結果を再 assert する

はじめに Ansible には、値が期待したした条件を満たすかどうかをチェック assert モジュールがあります(標準モジュール)。 基本的には、assert 結果が fail だとその時点で Playbook の処理が中止されます。 一方で、1つ fail しただけで止めるのではなく…

[Ansible] ansible 2.10.0 で ini のインベントリファイルのansible_becomeのbool値解釈が修正された

はじめに ini ファイル形式のインベントリファイルで指定された ansible_become 変数の値の解釈が ansible 2.10.0 で修正されました。 changelog The ansible_become value was not being treated as a boolean value when set in an INI format inventory f…

[Ansible] ansible 2.10.0 が ansible-base 2.10.1 ベースである経緯を探る

はじめに まもなく ansible 2.10.0 がリリースされる予定です。 2.10 から collection 前提の運用が始まり、ansible を取り巻くパッケージは 2つになりました。 標準モジュールのみのパッケージを ansible-base 、 ansible-base に加えて各種コレクションを…

[Ansible] 「つまずき Ansible 【Part16】モジュールの指定をFQCN表記に移行する」ふりかえり

はじめに 2020/09/20 に、YouTube Live で「つまずき Ansible 【Part16】モジュールの指定をFQCN表記に移行する」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Asnible 2.10 と Collection …

[Ansible] role 単位で collections を指定する

はじめに Playbook 内で利用する collection のモジュールを利用する際、モジュール名を FQCN(例:cisco.ios.ios_config)で指定するほか、collections ディレクティブでまとめて指定することもできます。 現時点(2020/09/20)の最新版のドキュメントには、以…

[Ansible] モジュールの指定などを FQCN 表記に移行する手順

はじめに Ansible 2.10 から、多くのモジュールやプラグインなどが Collection へ移行しました。 collection は cisco.ios のようなドット区切りの名前空間が設けられます。その中のモジュールを利用する場合は、cisco.ios.ios_configのように指定します。こ…

[Ansible] デフォルトを gather_facts: false 扱いにする

はじめに gather_facts のデフォルトは true です。つまり、各種システム情報はデフォルトで収集されます。 実際のところは、お決まりのように gather_facts: false を指定して無効にするケースのほうが多いのではないでしょうか。 デフォルトの挙動は DEFAU…

[Ansible] collection のアップデートやバージョン指定の再インストール方法

はじめに Collection は ansible-galaxy collection install コマンドでインストールします。 ただし、現状はアップデートするための専用オプションはありません(issueはopen)。また、すでに同名の collection がインストールされている この記事では -f …

[Ansible] FQCN へのリダイレクト定義とansible とセットの collection の定義

はじめに Ansible 2.10 で Collection 運用が本格的に始まったことにより、本体側にも新しい仕組みができました。 わりと重要そうだけど埋もれそうな情報として以下の2点のリンクを掲載ます。 Ansible2.9までにあったモジュールを装飾なし表記(FQCNでない)…

[Ansible] collections ディレクティブはフィルターに適用できない

はじめに Ansible 2.10 あたりから、本格的に Collection によるモジュールなどの配布、運用がはじまりました。 docs.ansible.com 各モジュールやフィルターなどは、名前空間が設けられました。 たとえば、ios_config モジュールであれば、名前空間を含める…

[Ansible] os.path.join のようにいい感じにパスを連結する path_join フィルター

はじめに Ansible 2.10 で path_join というフィルターが追加されました。(対応PR) Python の os.path.join のように、与えられた文字列のリストを、ディレクトリの階層、ファイル名として扱い、/ を必要に応じて補いながら連結してくれます。 通常の文字…

[Ansible] 「つまずき Ansible 【Part15】cli_parse モジュールで構造化データを取得する」ふりかえり

はじめに 2020/09/12 に、YouTube Live で「つまずき Ansible 【Part15】cli_parse モジュールで構造化データを取得する」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、ansible.netcommon c…

[Ansbile] set_fact した変数の値は -v で確認できる

はじめに Playbook 内で新たに変数を定義する set_fact というモジュールがあります。 固定で簡単な値だったらよいのですが、動的に値を設定する場合は中身を確認したくなります。 そんなとき、debug モジュールで新たにタスクを作らなくても ansible-playbo…

[Ansible] 文字列にキャストして連結する演算子 ~

はじめに ~ は、文字列を連結する演算子です。 文字列の連結というと + でいいのでは?と思った方もいるかも知れません。(私もそうでした) + の場合は、型によって挙動が異なります(数字の場合は足し算)。 一方で ~ は、数字が与えられても文字列にキャ…

[Ansible] Jinja2 の select フィルターでリストから特定の型の要素を抽出する

はじめに Ansible が内部で利用しているテンプレートエンジン Jinja2 には select というフィルターがあります。(逆は reject) これまでは、Jinja2 公式ドキュメントの例のように、条件と一致する要素を抽出するものだと思っていました。 あるとき「指定…

[Ansible] 「つまずき Ansible 【Part14】ネットワーク機器のshowコマンドログ収集」ふりかえり

はじめに 2020/08/22 に、YouTube Live で「つまずき Ansible 【Part14】ネットワーク機器のshowコマンドログ収集」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Cisco のネットワーク機器…

[Ansible] 「つまずき Ansible 【Part12】実行順序などの制御」ふりかえり

はじめに 2020/08/08 に、YouTube Live で「つまずき Ansible 【Part12】実行順序などの制御」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、forksや、order など、実行の方式や順序などに関…

[Ansible] IPv4/v6アドレスをホストとして利用可能かどうか assert でチェックする

はじめに Ansible には、ipaddr という、IPv4/v6アドレスを扱う便利なフィルターがあります。 この記事では、与えられたIPv4/v6アドレス(プレフィックス数付き)が、ホストとして利用可能なアドレス かどうかassert するサンプルをご紹介します。 動作確認…

[Ansible] 「つまずき Ansible 【Part11】トラブルシューティング手法を試す」ふりかえり

はじめに 2020/08/01 に、YouTube Live で「つまずき Ansible 【Part11】トラブルシューティング手法を試す」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、July Tech Festa 2020 や Cloud O…

[Ansible] 「AnsibleでA10 Thunder のADC機能を設定しよう!(基礎編)」に参加させていただきました

はじめに 2020/07/28 に A10ネットワークス株式会社さん主催の「【リモート勉強会】第2回:AnsibleでA10 Thunder のADC機能を設定しよう!(基礎編)」に参加させていただきました。 www.a10networks.co.jp 第1回が好評だっため、同じ内容で再度開催された…

[Ansible] 記号類をURLエンコードする urlencode()

はじめに @ や などをURLエンコード(%40 や %20)したいと思い、Ansible の Filter のページ を参照しましたが、それらしいフィルターはありませでした。 ならばと思って、Jinja2 のドキュメントを見ると urlencode() というフィルターがありました。 この…

[Ansible] 「つまずき Ansible 【Part10】インベントリーのあれこれ」ふりかえり

はじめに 2020/07/11 に、YouTube Live で「つまずき Ansible 【Part10】インベントリーのあれこれ」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、インベントリ関する TIPS 的なことをご紹…

Ansibleについて語る会【ビヨンド勉強会#25】に参加、登壇させていただきました

はじめに 2020/07/08 に開催された Ansibleについて語る会【ビヨンド勉強会#25】 にリモート参加、登壇させていただきました。 beyondjapan.connpass.com togetter.com 発表の内容などを簡単にまとめます。 主催のビヨンドさんと勉強会について 「サーバーの…

[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…