2020-02-01から1ヶ月間の記事一覧
はじめに 2020/02/24 にシスコ認定技術者試験の制度が大きく改定されました。 それに伴い新しく始まった、ネットワーク自動化、プログラマビリティに関する資格である DevNet Associate Exam v1.0 (DEVASC 200-901) を受験して合格しました。 この記事では私…
はじめに 以前の記事で、gather_facts を利用して Junos のインターフェースの状態を取得して debug で表示するという Playbook をご紹介しました。 tekunabe.hatenablog.jp 今回は普通に show interfaces terse コマンドを利用します。ただし、せっかく JSO…
はじめに 以下の記事で、Junos のインターフェースの状態を取得して debug で表示するという Playbook が紹介されていました。 qiita.com 面白いネタだなと思って、拝見しました。特に、以下のディクショナリをループする書き方が参考になりました。 with_it…
capitalize フィルターは、最初の文字だけ大文字に変換するものです。 Ansible の公式ドキュメントの Filter ページには載っていませんが、Jinja2 のドキュメントに載っています。 以下に、使用例を紹介します。 --- - hosts: localhost gather_facts: false…
はじめに JANOG45 Meeting in Sapporo で、Fastly の土屋さんから「急成長を支えるFastlyスケーラブル・グローバルネットワーク」という発表がありました。 www.janog.gr.jp シンプルさを追及した設計や、自動化の話があって大変興味深いものでした。 なかで…
はじめに Ansible には、テキストデータの内容を整形するための多数のフィルターがあります。 json 形式に変換するフィルターもいくつかあり、そのなかで to_nice_json フィルターは、人にとって見やすく整形するのにとても便利です。 公式ドキュメントでは…
はじめに Ansible のインベントリファイルでは、効率よく定義するためにパターン表記ができます。 例えば、 web_[1:3] は web_1 web_2 web_3 と同じです。 この様にパターン表記を利用した場合、うまく解釈されるかどうか事前に確認したくなるのではないでし…
はじめに set_fact モジュールは、Playbook 内のタスクとして、新たな変数を定義できるモジュールです。 便利といえば便利なのですが、プログラムでいう変数の代入のようなことをタスクで実現させるには、少々大げさに感じることがあります。 set_fact モジ…
はじめに Ansible には、指定した条件を満たすまでタスクを繰り返す until というループ機能があります。 until を利用すると、ネットワーク機器に設定を投入した後に、期待した状態になるまで待つ、といった処理を Playbook で実現できます。 この記事では…
はじめに vars lookup pluginは、変数名を引数にして変数の値を取得できます。 この性質を利用すると、変数名を変数で指定して、その値を取得できます。 簡単な例でご紹介します。 サンプル Playbook 値を取得したい変数名を、var_name 変数の値で指定します…
はじめに Ansible にはネットワークモジュールが多数用意されていて、ネットワーク機器に接続してコマンドを実行できます。 では、機器に接続できない環境で投入コンフィグを準備するにはどのようにすればよいでしょうか。 それには template モジュールが利…
はじめに ケーブルを追っていく方法を紹介した以下ツイートの補足です。 機器につながってるLANケーブルや電源の先っちょをおっていくとき、普通に指でやると途中でわからなくなっちゃったりしますが、マジックテープ的なものをくくりつけて、つるつるーーっ…
はじめに Ansible の lineinfile や replace などのファイルを編集するモジュールには validate オプションを備えているものがあります。 validate オプションには編集後のファイルの妥当性を検証するコマンドを指定します。 これにより、編集に問題がなけれ…
はじめに Ansible には lookup plugin という仕組みがあり、ファイルの内容を取得したり、指定したURLの情報を取得したりできます。(一覧はこちら) たとえば、file という lookup plugin であれば、 lookup("file", "ファイル名") のような形式で指定しま…