てくなべ

ネットワーク、自動化などの技術的なことを書いていきます。

ansible

Ansible で Cisco IOS からの ping 結果を CSV 出力する

これは Ansible Advent Calendar 2017 の18日目の記事です。 ■ やりたいこと Ansible で Cisco IOS から複数のIPアドレスに対してpingを実行し、その結果をCSVファイルに出力します。本記事では、利用する ios_ping モジュールの説明と、 Playbookのサンプル…

2017年の社内外発表のまとめ(ほぼAnsible)

今年は社内社内外で発表することが増えた年でした。 アウトプットするとフィードバックを頂けるという点では、ブログ等でも同じなのですが、発表の場合はより早く頂ける印象があります。 フィードバックを頂いた皆様や、イベント運営の皆様に感謝いたします…

Ansible の jinja2 フィルタを色々試すときも ansible-console が便利

以前のエントリでもご紹介しましたが、 ansible-console というインタラクティブな Ansible 環境が便利です。 tekunabe.hatenablog.jp 最近、また便利だなと思ったのは使い方は、jinja2 フィルタを色々試すときです。 ・デモ動画 試してみて、やり方が定まっ…

Ansibleのインベントリファイルの拡張子に .ini を使わない方がいい理由

オライリーの「初めてのAnsible」の訳注で初めて知ったのですが、 ansible.cfg の hostfile パラメータや、ansible-playbook コマンドなどの -i オプションでディレクトリごと指定して、複数のインベントリファイルをマージして扱う場合、 拡張子が .ini の…

Ansible の playbook をデバッグしたいときのあれこれ

■ -v オプション ansible-playbook コマンドの -v オプションでデバッグ的な情報が画面に表示されるようになります。 -v、-vv、-vvv といったように、 v の数が多いほど詳細な表示となります。 ■ --step でステップ実行 playbook 中のタスクを一つ一つステッ…

ansible-console はモジュール名やオプションのTAB補完ができて便利

はじめに Ansible 2.1 から ansible-console という、REPL のような対話型コンソール機能があります。 モジュール名やオプションのTAB補完ができて便利なので、動画付きでご紹介します。 デモ動画 以下のデモ動画でお分かりになるかと思います。 補足 確認し…

「3社共催 Ansible セミナー "経験から学ぶ Ansible の活用方法" Part 3」参加メモ

2017/10/06 にレッドハットさんを会場として開催された 「3社共催 Ansible セミナー "経験から学ぶ Ansible の活用方法" Part 3」 に参加してきました、参加メモを掲載いたします。 殴り書きに近い箇所もあるため、貼り付け付けたPDF資料もあわせてご参照し…

NetOpsCoding#5 × ネットワークプログラマビリティ勉強会#13 に参加と登壇してきました

2017/10/10 に NetOpsCoding#5 × ネットワークプログラマビリティ勉強会#13 が開催され、参加と登壇してきました。 簡単な個人的な気付きやメモを記述します。 network-programmability.connpass.com ■ イントロダクション NetOpsCoding#5 introduction from…

AnsibleFest San Francisco 2017 で気になったネットワークとテスト自動化の動画

はじめに 先日行われた AnsibleFest San Francisco 2017 での発表の動画が、26個ほど以下のページに掲載されています。 www.ansible.com 私が特に気になったネットワークとテストの動画を簡単にご紹介します。 ■ ANSIBLE FOR NETWORKS: GOING BEYOND STATIC …

【実機不要】 Ansible の FortiOSモジュールでコンフィグファイルの操作を試す(残課題あり)

■ 1. はじめに Ansible のネットワークモジュールは基本的に動作中の機器に対して操作を行います。 ただし、一部のモジュールでは実機ではなくコンフィグファイルを操作できるモジュールもあります。 この記事では fortios_address モジュールを利用して、Fo…

Ansibleでネットワーク機器のshowコマンド結果をパースする方法まとめ

Ansibleでshowコマンドの結果をパースする方法が増えてきています。 この記事ではCisco IOSを対象として、標準でできるかどうか、どういう情報をパースできるかなどの観点で、4つの方法を簡単にまとめます。 ■ 概要 parse_cli_textfsm フィルター Ansible 2.…

ネットワーク機器のコマンド結果をパースする parse_cli_textfsm フィルタープラグインを試す (Ansible 2.4新機能)

Ansible 2.4 で Ansible でネットワーク機器のコマンド結果をパースするための parse_cli_textfsm というフィルタープラグインが搭載されました。 http://docs.ansible.com/ansible/latest/playbooks_filters.html#network-cli-filters 今回は簡単な例で試し…

7/21 ネットワーク自動化の勉強会を開催しました(Ansible/SaltStack/Netmiko/NAPALM)

2017/07/21 に 「ネットワークの自動化、何つかう?~自動化ツール紹介~」という発表をしました。 8a1-apc.connpass.com 発表に使用した資料はこちらです。 ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催) from akira6592 www.slid…

ネットワーク自動化の勉強会を開催します(Ansible/SaltStack/Netmiko/NAPALM)

7月と8月にネットワーク自動化の勉強会を開催しますのでご案内いたします。(2回とも同一内容です。) 実施概要 近年、APIに対応していないネットワーク機器でも自動化できる方法が増えてきました。 一方で、「興味はあるけど、試してみる時間も環境もない!…

Ansible のフィルターでリストから組み合わせを生成する(combinations, zip, zip_longest)

■ はじめに Ansible 2.3 でCombination Filters というリストの組み合わせを生成するフィルターが追加されました。 公式ドキュメントに使用例が載っていますが、いくつか実際に試してみて出力結果を含めて確認します。 Filters — Ansible Documentation ■ co…

Ansible の napalm-ansible モジュール群でCisco IOS 機器の様々な情報を取得する

■ はじめに マルチベンダー対応のネットワーク機器制御ライブラリのNAPALMには、ansibleと連携するための napalm-ansible というモジュール群があります。 今回はその中の napalm_get_facts というモジュールを利用して Cisco IOS 機器の様々な情報を取得し…

Ansible の ios_facts モジュールでCisco IOS 機器のシステム情報やインターフェース情報を取得する

■ はじめに Ansible には 2.2 から Cisco IOS の システム情報やインターフェース情報などを収集する ios_facts というモジュールが追加されています。 どのような結果になるのか確認するために試してみます。 [公式ドキュメント] ios_facts - Collect facts…

Ansible の標準lookup pluginの「dig」で名前解決する

はじめに Ansible には標準で「dig」という名前解決ができる lookup plugin があることを知りました。 Lookups — Ansible Documentation 基本的な書式は lookup('dig', 'example.com.') です。 公式ドキュメントに実行例がなかったので試してみることにしま…

Ansible でネットワーク機器のコマンド結果をパースしてくれるフィルタープラグイン「ansible_helpers」を試してみた

■ はじめに Ansible はCisco IOS や、Juniper JUNOSなど様々なネットワーク機器に対応するモジュールがあります。 show系のコマンドを実行して結果を取得することもできますが、取得した結果を良い感じにパースしてくれるフィルタープラグイン 「ansible_hel…

Ansible でネットワーク機器を操作したい時に参考になりそうな日本語情報

はじめに 構成管理ツールのAnsible はCisco IOS、NX-OS、Juniper JUNOS、ARISTA、VyOS、等々のネットワーク機器に対応したモジュールもあります。 参考:Network Modules一覧 しかし、比較的最近対応したためか、サーバー系のモジュールと比較すると情報が少…