てくなべ (tekunabe)

ansible / network automation / 学習メモ

automation

netmiko と TextFSM を利用してネットワーク機器の show コマンド結果をパースする

■ はじめに ネットワーク自動化 Python ライブラリ netmiko では、状態表示のための show コマンドや、設定変更のコマンドを実行できます。 TextFSM というパーサーと連携して、 show コマンド結果を パース して扱う事ができます。 パースされた Junos の s…

[Ansible] ios_config モジュールの src で指定するファイルの内容には正しいインデントが必要

これは Ansible Blogger 2018 (sponsored by Red Hat) Advent Calendar 2018 の22日目の記事です。 ■ はじめに Ansible には、 Cisco IOS ネットワーク機器に対して設定変更コマンドを実行できる ios_config モジュールがあります。 ios_config モジュール…

[Bolt] エージェントレスなインフラ自動化ツール「Puppet Bolt」かんたんチュートリアル

■ はじめに Puppet Bolt はエージェントレスなインフラ自動化ツール Ansible や Chef などとよく比較される Puppet という構成管理ツールがあります。 Puppet といえばエージェント型のイメージがありますが、2018年10月にエージェントレス型の別ツール「Pup…

[nornir] 指定できるプラットフォーム名(ios / junos / eos / vyos など)

■ はじめに Python 製自動化フレームワークライブラリ nornir は、ネットワーク機器への接続に、 NAPALM や netmiko をデフォルトで利用できます。 接続の際のコネクションパラメーターとして、どのプラットフォームに接続するかを示す platform ( nornir 1.…

[Ansible] 2018年のAnsible ネットワークモジュールのアップデートまとめ(詳細版)

これは Ansible Advent Calendar 2018 の15日目の記事です。 ■ はじめに 2018年、Ansible は 2.5、2.6、2.7 とバージョンアップを重ねてきました。ネットワーク関連では、新規対応プラットフォームやモジュールの追加の他にも、ネットワークモジュール用コネ…

[Ansible] グループ変数を活用したネットワーク機器への Syslog サーバー追加

この記事は、Software Design 2018年12月号 の 特集1「[超速]入門 Ansible」内の「第3章:Ansibleでネットワーク作業も自動化」(以下、基本編)の続きです。 ソフトウェアデザイン 2018年12月号作者: 中島倫明,横地晃,齊藤秀喜,楠正憲,三廻部大,鷲北賢,くつ…

[Batfish] 重複したインターフェースのIPアドレスを検出する(Cisco IOS編)

ネットワーク機器のコンフィグ解析ツール Batfish には、重複したインターフェースのIPアドレスを検出する機能があります。 Batfish の Python ライブラリpybatfish でいう ipOwners() に、パラメータ duplicatesOnly=True を与えたときの動作です。 以下に…

[Batfish] ネットワーク機器のコンフィグを読み込んでルーティングなどの様々な検証ができるツール「Batfish」の紹介

■ Batfish とは: 実機に接続することなくコンフィグを検証 Batfish は、ネットワーク機器のコンフィグの様々な検証ができるツールです。 実機に接続する必要はありません。 準備したコンフィグファイルを読み込んでパースし、解析して内部でネットワーク機器…

[nornir] Python 製自動化フレームワーク「nornir」かんたんチュートリアル(Ansibleと比較しながら)

※2018/12/18 更新: nornir 2.0.0 リリース に伴い、全面的に 2.0.0 対応に更新しました。 ■ nornir とは nornir は、Python 製の新しい自動化フレームワークです。 netmiko や NAPALM も取り込んでいるため、ネットワーク機器にも対応しています。 この記事…

ネットワーク自動化 Python ライブラリ NAPALM 2.3.3 リリース、公式 Docker イメージ追加など

■ NAPALM 2.3.3 リリース github.com 2018/10/15 にネットワーク自動化 Python ライブラリである NAPALM 2.3.3がリリースされました。詳細は 2.3.3 CHNGELOG に記載があります。 この記事では、個人的に気になった Docker イメージの追加と、モックの利用法…

自動化を考える前に読んでおきたいプレゼン資料たち

はじめに 以前こんな記事を書きました。(ほぼリンク集ですが・・) tekunabe.hatenablog.jp 今回はこれのプレゼン資料版のような記事です。ここ半年くらいの資料を対象にしています。 具体的なツールの使い方などのスキルとは別に、考え方についても備えて…

StackStorm の Ansible Pack で利用するPythonパッケージの追加インストール方法

はじめに StackStorm の Ansible Pack を利用して Junos のルーターに接続しようとしたところ、 ncclient is not installed というエラーになってしまいました。 このエラー自身はAnsible 単体で利用した時にも見かけたことがあったので対処方法を知っていま…

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 で StackStorm をインストールする

■ はじめに イベントドリブンな自動化ツール StackStorm の公式ドキュメントに、Ansibleでのインストール方法が記載されていたので、試してみます。 ・ドキュメント https://docs.stackstorm.com/install/ansible.html ・Playbook github.com ■ 環境 インス…

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を意味し、インターネットに於ける技術的事項、および、それにま…

HashiCorp Japan による Terraform 日本語ウェビナー動画が見れる件

2017/12/21 に HashiCorp Japan による Terraform の日本語ウェビナーがありました。 HashiCorp Japan 日本語ウェブセミナー始めます! 第一弾は12/21 18:00より 「基礎から徹底解説!マルチプラットフォーム対応の構成管理ソフトウェア「Terraform」につい…

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

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

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

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

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

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