てくなべ (tekunabe)

ansible / network automation / 学習メモ

network

【Ansible】net_get モジュールで SCP でコンフィグをバックアップする

■ はじめに Ansible 2.6 で SCP/SFTP でネットワーク機器とファイルを送受信する net_get モジュールと、 net_put モジュール ができました。 このうち、この記事ではファイルを受信する net_get モジュールを使って、Cisco IOS の startup-config のバック…

Ansible 2.7 で導入予定のネットワークモジュール cli_command を試す

■ はじめに 現在開発中の Ansible 2.7 (develブランチ) で、ネットワーク機器への 参照系コマンドを実行するモジュール cli_command が登場したことを知りました。 Ansible 2.7 New Modules2018/08/07cli_command名前の通り、ネットワークデバイスに対して、…

Ansible Night in Fukuoka 2018.08 で「Ansibleではじめるネットワーク自動化」という発表をしてきました

■ はじめに 【祝】初福岡開催! Ansible Nitght (旧Meetup)は2017年までは東京でのみの開催でしたが、2018年は他の場所でも開催されています。 7月には大阪で、そして8月3日には福岡で Ansible Night in Fukuoka 2018.08 が開催されました。 ansible-users.c…

日本のネットワーク機器ベンダーの Ansible 対応状況(Alaxala・APRESIA・古河電工)

■ はじめに Ansible は Cisco、Juniper、ARISTAなどのネットワーク機器にも対応しています。 公式ドキュメント上のネットワークモジュールの一覧ページを確認すると分かりますが、日本のネットワーク機器に対応するモジュールは標準モジュールにはありません…

StackStorm と Ansible で Cisco IOS ルーターに設定を投入する(st2 run編)

■ はじめに StackStorm と Ansible 連携を試すために、Cisco IOS ルーターに設定を投入する方法を確認しました。 この記事では、環境の準備と st2 run コマンドによる簡単な Ansible 連携の方法をご紹介します。 ■ StackStorm側の準備 StackStorm 本体のイン…

Ansible 2.5.3 で ios_config モジュールのコンフィグバックアップ時に defaults オプションを参照するようになった

■ はじめに ios_config モジュールには、コンフィグのバックアップファイルを生成する際に利用するコマンドを show running-config にするか、show running-config all または full (以降 show run all) にするかを決める、defaults というオプションがあり…

[Ansible] ios_config モジュールで意図せず chaneged になってしまうバグが 2.5.3 で修正された

はじめに Ansible 2.5.0 - 2.5.2 の ios_configモジュールには、コンフィグが変更されていないにもかかわらず意図せず changed になってしまうバグがありました。2018/05/18 にリリースされた Ansible 2.5.3 で修正されましたので、簡単な動作確認をします。…

Ansible でNW機器のインターフェースが意図通りのVLANに所属しているかチェックする(associated_interfaces)

■ はじめに Ansible 2.4 から、ネットワークモジュールに、設定だけでなく「意図した状態か」チェックする Declarative Intent という機能が追加されました。 参考 https://www.ansible.com/blog/networking-features-in-ansible-2-4 Ansible 2.4 時点では、…

Ansible ネットワークモジュールにおける facts の扱い

■ はじめに Ansible のネットワークモジュールは、通常のモジュールとは facts の扱いが異なります。 この記事では、ネットワークモジュール固有の facts の扱い方についてご紹介します。 想定バージョンは Ansible 2.5.2 です。 [2019/11/14追記] Ansible 2…

Ansible Network Team によってメンテナンスされているネットワークモジュール一覧

Ansible Network Team によってメンテナンスされているネットワークモジュール一覧は以下のページにまとめられています。 Modules Maintained by the Ansible Network Team — Ansible Documentation (参考リンク) www.redhat.com What networking platforms …

Ansible ネットワークモジュールの aggregate オプションによる繰り返し処理の特徴

■ はじめに Ansible 2.4 から、ネットワークモジュールの一部で、繰り返しを伴う設定を効率的に投入できる aggregate というオプションが利用できるようになりました。 この記事では、既存の with_items による繰り返しとの比較を通じて、動作の紹介をします…

Ansible Night in Tokyo 2018.04 で「Junosモジュールのコネクションタイプの使い分け」という発表をしてきました

■ はじめに 2018/04/26 に開催された Ansible Night in Tokyo 2018.04 で「Junosモジュールのコネクションタイプの使い分け」という発表をさせていただきました。 ansible-users.connpass.com Ansible 2.5 で、ネットワークモジュール向けに network_cli 、 …

JANOG41.5 で「もっと気軽に始めるAnsible」という発表をしてきました

■ はじめに 2018/04/20 に開催された JANOG41.5 Interim Meeting で「もっと気軽に始めるAnsible」という発表をさせていただきました。 janog.connpass.com Ansible はネットワーク機器にも対応しています。YAML形式の定義ファイル(Playbook)を書かずに、…

Ansible の panos_object モジュール使用時のエラー「Missing required libraries.」の対策

■ はじめに Ansible には PaloAlto (PAN-OS) 用のモジュールがいくつかあります。これらのモジュールを利用するにあたって、別途Pythonライブラリが必要なものもあります。 たとえば、 アドレスやサービスオブジェクトを操作する panos_object モジュール の…

JANOG41で「勉強会のフィードバックから得られた自動化への壁」という発表をしてきました

■ はじめに 2018/01/24-26 に開催された JANOG41 Meeting のネットワーク運用自動化BoFの枠の中で「勉強会のフィードバックから得られた自動化への壁」というLTをさせていただきました。 この記事では、発表資料の共有と、私なりのディスカッションのおさら…

JANOG41 Meeting in Hiroshima 参加メモ

はじめに 2018/01/24-26 に JANOG41 Meeting が広島国際会議場で開催されましました。 JANOGとは (https://www.janog.gr.jp/information/ から引用) JANOGとはJApan Network Operators' Groupを意味し、インターネットに於ける技術的事項、および、それにま…

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

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

ネットワーク自動化(Salt)についての Free eBookがダウンロード可能

O'Reilly Velocity Conference 開催に合わせてだと思いますが、 「Network Automation at Scale」という Free eBook がダウンロード可能になっています。 ご興味がある方はダウンロードしてみてはいかがでしょうか。 www.cloudflare.com 中身は Salt の話が…

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

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

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に対応していないネットワーク機器でも自動化できる方法が増えてきました。 一方で、「興味はあるけど、試してみる時間も環境もない!…

ネットワーク自動化関連の気になる書籍

ネットワーク自動化関連で、気になっている書籍が2つあるのでご紹介します。 どちらも現在のところ2017年8月発売予定となっています。 Network Programmability and Automation: Skills for the Next-generation Network Engineer https://www.amazon.co.jp/…

Netmikoで 「TELNET」経由のネットワーク機器自動化を試す

■ はじめに Netmiko とは、Cisco IOS や Juniper Junos などのネットワーク機器にSSHでログインして操作するのを助けてくれるPythonのライブラリです。 例えば、ログインやコンフィギュレーションモードへの移行、ログアウトなどの操作は関数として抽象化さ…

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

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

ネットワークプログラマビリティ勉強会(#npstudy) #12 参加メモ

2017/04/21 にIIJさんで行われたネットワークプログラマビリティ勉強会 #12に行ってきました。ちょっとしたことですがメモを記録しておきます。 オープンソースコンテナネットワークプラグインContiv @shogokatsurada さん www.slideshare.net 関連記事: シ…

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

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