ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)

207
-1

Published on

NetOpsCoding#2 LT資料

「これからネットワーク機器のAPIを使ってプログラミングしてみたい!」
「でも、APIってどんな違いがあるんだろう?」
「こんなタイプのAPI使いたいけど、サポートしている機器はどれだろう?」
そんな「興味あるけどこれから」な皆さんとご一緒に、色々なAPIの違いを理解し、既存機器のサポートしているAPIを比べてみましょう。

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
207
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • みなさん実践的なのが多いので、これから!という人を中心に、ネットワーク機器のAPIについて俯瞰してみましょう。
  • https://atnd.org/events/74772
  • 5分間の発表聞いた後には。。。
    ・ネットワーク機器の自動化に登場する各要素が理解できてる
    ・どんなAPI=インターフェースがあるか、その分類と特徴が分かる。
    ・試して、公開しようという気持ちになる。
  • 駆け足になるけど、最後に参考資料へのLINKまとめあるから詳しくはそれ読もう!
  • API それぞれでできる事はこんな感じ。
    アプリケーションによるアクセスが可能=これらを組み合わせた自動化が可能

    (Neighbor)
  • 「今は想像できてない使い方が産まれる可能性がある」 ⇒ 自分がAPIを勉強している理由
    API それぞれでできる事はこんな感じ。
    アプリケーションによるアクセスが可能=これらを組み合わせた自動化が可能

    (Neighbor)
  • Transport や Object どこまで標準化されているかも説明
  • セッション意識 ⇒ Config Modeなど1コマンドでは実行できない操作があるため、
    taiji tsuchiya

  • 例えば、インターフェイスの設定はNETCONFでできるけど、リンクアグリゲーションの設定はNETCONFだとできない。インターフェイスのUp/DownはSNMPで取得できるけど、LACP BlockedのステートはSNMPで取得できない。こういった状況にある場合は結局のところtelnet/sshしなくてはいけなくなります。
  • MTU変更するだけでこの煩雑さ。
    <config> に挟まれた部分が YANG を利用もしくはベンダー独自も可能。

  • 例えば、インターフェイスの設定はNETCONFでできるけど、リンクアグリゲーションの設定はNETCONFだとできない。インターフェイスのUp/DownはSNMPで取得できるけど、LACP BlockedのステートはSNMPで取得できない。こういった状況にある場合は結局のところtelnet/sshしなくてはいけなくなります。
  • それを踏まえて「対応状況」を見てみましょう
  • これみて 「REST使えば簡単!?」 とか思って調べてみた。
  • Good Video: https://www.youtube.com/watch?v=9sWux0GCZ78
    URI: 固定
    Encoding: JSON
    コマンド:BODY (JSON)
    パラメータ:BODY (JSON)
  • JunosのREST APIを使ってみる
    http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
    terse = 簡略なアウトプットを指定。他にbrief, detail, extensive等がある。
  • scheme://device-name:port/rpc/method[@attributes]?params
  • 規模によってはNetwork Controller利用を検討(機器共通のAPIを提供可能な場合も)
    実際に簡単に開発できるようになるにはSDK重要
    でも、SDKに無いことしたい(未成熟)、SDKが無い、などの場合アプリから直接
  • 自分もまだ数か月ですので、一緒に学んで試していきましょう。

    標準化は進んでいる。
    ちょっと進みは遅いけど十分?
    汎用的なので複雑になりがち。
    Gatewayで吸収できるので、勝手に作っちゃうのがベター?

    開発環境は?
    Swaggerとか便利そう
    NetConf/YANG, RESTConf, RESTの操作感の違い
    コードの書き方、生データの見え方、設定・モニター何に向いてる?
  • 16:03:02] Kentaro Fujinuma: Brocade の API を見ると
    [16:03:17] Kentaro Fujinuma: NetConf/YANG と REST/JSON を完全にパラレルに作っています
    [16:03:29] Kentaro Fujinuma: これは内部的には同じ処理をしているからだと思います。

  • 例えば、インターフェイスの設定はNETCONFでできるけど、リンクアグリゲーションの設定はNETCONFだとできない。インターフェイスのUp/DownはSNMPで取得できるけど、LACP BlockedのステートはSNMPで取得できない。こういった状況にある場合は結局のところtelnet/sshしなくてはいけなくなります。
  • ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)

    1. 1. ネットワーク機器のAPIあれこれ入門 How do you wan to talk with your Network Nodes? Twitter: @ebiken | ebiken.g@gmail.com ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 1
    2. 2. 本日のお題 「ネットワーク機器のAPIを使って何かしたい!」 と思っている人が、何かを始められるように ネットワーク機器APIの全体像をつかむ • APIを利用してできる事 • ネットワーク機器のインターフェース • REST (like) API の違い • Appendix:参考資料 ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 5 要は、自分がこの数か月勉強したことをシェアします。
    3. 3. ネットワーク自動化の全体像 ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 6 APIを利用してできる事 設定投入 ディスカバリー トポロジー描画 通知・アラート (Notification) コマンド実行 ネットワーク管理システム(NMS) アプリケーション ネットワーク機器 Ping Traceroute 設定(参照) RIB/FIB 隣接情報 複数機器 状態(Status) 統計(Stats)
    4. 4. 設定投入 複数機器 ネットワーク自動化の全体像 ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 7 APIを利用してできる事 ディスカバリー トポロジー描画 通知・アラート (Notification) コマンド実行 ネットワーク管理システム(NMS) アプリケーション ネットワーク機器 Ping Traceroute 設定(参照) RIB/FIB 隣接情報 状態(status) 統計(Stats) アプリケーション・プログラムによるアクセスが可能 ⇒ これらを組み合わせた様々な自動化が可能
    5. 5. ネットワーク自動化の全体像 ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 8 ネットワーク機器のインターフェース 昔ながらの インターフェース 標準化が進められているAPI 機器毎の独自API REST? API (JSON/XML+HTTP) (RPC over HTTP) NECONF/YANG (RESTCONF) CLI SNMP
    6. 6. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 9 CLI / SSH ネットワーク機器のAPI
    7. 7. ネットワーク機器のAPI ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 10 CLI / SSH • SSHセッション上でCLIコマンド を会話的に実行 • SSHセッションを意識した プログラミング(煩雑) • Exscript, expect等SSHパッケー ジの利用 • CLI経由でのみ実行可能なコ マンドが存在 参考: NetOpsCoding Advent Calendar 2015 ソフトウェアからルータにSSH(Exscript)で設定してみる http://qiita.com/taijijiji/items/351c48a8a77ee56f6e79
    8. 8. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 11 NETCONF / YANG ネットワーク機器のAPI
    9. 9. ネットワーク機器のAPI:NETCONF/YANG ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 12 ネットワーク機器設定の 「データモデル」「オペレーション」 「データストア」 を提供 • IETFで標準化@NETCONF WG • RFC 6241 NETCONF • RFC 6020 YANG https://datatracker.ietf.org/wg/netconf/documents/ オペレーション <get-config> <edit-config> <delete-config> <commit> etc. データストア candidate config running config startup config YANG (データモデル) 設定情報含むネットワーク機器のモデル化 NETCONF (プロトコル) オペレーション データストア XML-RPC SSH, TLS (トランスポート)
    10. 10. ネットワーク機器のAPI:NETCONF/YANG ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 13 NetConf / YANG Network Configuration Management with NETCONF and YANG http://www.ietf.org/edu/documents/2012-ietf-84-netconf-yang.pdf YANG NetConf <get-config> <edit-config> <delete-config> <commit> オペレーションの流れ
    11. 11. ネットワーク機器のAPI:NETCONF/YANG ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 14 YANG Model Example RFC 7223 : YANG Interface Management https://tools.ietf.org/html/rfc7223
    12. 12. ネットワーク機器のAPI:NETCONF/YANG ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 15 嬉しい点 • 標準化が進められている • データモデル(YANG) • プロトコル(NETCONF) • 多くのベンダーがサポート表明 • オペレーションやエンコーディン グ(XML)は各機器共通 つらい点 • 「設定」 関連情報・操作のみ • ベンダーや機器間でのデータモデ ルの差異 • YANGを使わなくても良い • 操作(設定)可能なパラメータの差異 • 操作できない設定も • エンコーディングはXML • 冗長で読みづらい ⇒ SDK/Libraryの利用が必須
    13. 13. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 16 ... その前に ... REST API ネットワーク機器のAPI
    14. 14. REST おさらい ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 17 REST おさらい • URI = リソース • HTTP Method=操作 • POST => Create • GET => Read • PUT => Update • DELETE => Delete • BODYエンコーディング(符号化) • 何でも良い:JSON, XML, CSV etc. • でも JSON が多い • ステート(セッション)もたない 操作 リソース
    15. 15. REST おさらい ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 18 REST な URI •/interface/ge-0-0-1 •/interface/ge-0-0-1/ipv4 •/version REST ではない URI •/show-interface/ge-0-0-1 •/set-interface/ge-0-0-1/ipv4 •/show-version 操作は REST URIに含まれない!
    16. 16. REST おさらい ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 19 RESTの特徴 • HTTP(S) トランスポート • プログラムしやすい! • コマンド1行でリクエスト作成可能 • curl, wget .. • 様々な言語のライブラリ • Ruby, Python, Go, Perl ... • (当然)標準化されていない • RESTは規約ではなく思想 • (個人の見解です) • 実際にはRESTfulだとできない事 も • Candidate config + commit とか。 • 結果、RESTfulではない&各機器異 なる実装に。
    17. 17. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 20 API対応状況(ネットワーク機器各種) なぜネットワーク運用自動化が進まないのか by Biglobe 土屋さん http://www.slideshare.net/taijitsuchiya5/ss-47398248 http://www.slideshare.net/taijitsuchiya5/whitebox-switch-48099814 REST API !?
    18. 18. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 21 REST (like) な API の分類 (概要) • URI • リソース • リソース+操作 • 常に同じ • エンコード • JSON • XML • セッション • 有り:URI/BODYにSessionID • 無し • オペレーション • CLIをBodyに入れて送信 • HTTP METHOD + URI • URIにコマンド入れる RESTと記載されてても、(基本)RESTfulではない • JSON-RPC, XML-RPC, WEB API?
    19. 19. Brocade vRouter 5600 (Vyatta) • URI: コマンドを表す(リソースではなく) • Encoding符号化: JSON • 参照・設定、共にセッションを持つ • Config Workflow • Ops: one-time output • Ops: continuous output • GET /rest/op/<cmd> • Ops with no session ID will return parameter definitions. • Very different from RESTful concept. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 22 Brocade vRouter 5600 (Vyatta)
    20. 20. Brocade vRouter 5600 (Vyatta) ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 23 設定投入&適用 Workflow 1. Begin a configuration session • Config Session ID named "conf-id" will be generated. 2. make configuration changes • PUT /rest/conf/<conf-id>/set/<path> • PUT /rest/conf/<conf-id>/delete/<path> 3. commit changes • POST /rest/conf/<conf-id>/commit 4. optional: view config • GET /rest/conf/<conf-id>/<path> 5. save config • POST /rest/conf/<conf-id>/save 6. Finish configuration session • DELETE /rest/conf/<conf-id> CLIをURLにマップしたイメージ
    21. 21. Brocade vRouter 5600 (Vyatta) ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 24 参照コマンド (One Time) • Begin a ops session • POST /rest/op/show/version • HTTP/1.1 201 Created • Location: rest/op/137AA3B22A362CA3 • Get output from the command just sent • GET /rest/op/137AA3B22A362CA3 • HTTP/1.1 200 OK • If request 2nd time, it's gone. • GET /rest/op/137AA3B22A362CA3 • HTTP/1.1 410 Gone
    22. 22. Brocade vRouter 5600 (Vyatta) ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 25 参照コマンド (継続的) • Begin a ops session (ex: ping) • POST /rest/op/ping/10.0.0.1 • Get ouput (1st) • GET /rest/op/02B3479CA1522F2A • HTTP/1.1 200 OK • PING 10.3.0.1 (10.3.0.1) 56(84) bytes of data. • 64 bytes from 10.3.0.1: icmp_seq=1 ttl=64 time=0.839 ms • 64 bytes from 10.3.0.1: icmp_seq=2 ttl=64 time=0.846 ms • ... • 64 bytes from 10.3.0.1: icmp_seq=18 ttl=64 time=0.821 ms • Get output (2nd) • GET /rest/op/02B3479CA1522F2A • HTTP/1.1 200 OK • 64 bytes from 10.3.0.1: icmp_seq=19 ttl=64 time=0.799 ms • 64 bytes from 10.3.0.1: icmp_seq=20 ttl=64 time=0.807 ms • ... • Stop a ops session (and the command ping) • DELETE /rest/op/02B3479CA1522F2A .
    23. 23. Brocade VDX • URI: リソースを表す • エンコード(符号化):XML • コマンド:HTTP Method (GET, POST, PUT, PATCH, DELETE, OPTIONS, and HEAD) • パラメーター:BODY (XML) • 設定のための “session-id” や “commit” という概念はない • POST http://host:80/rest/config/running/interface/TenGigabitEthernet/%221/0/5%22/ip • <address> • <address>192.168.10.1/24</address> • <ospf-ignore>true</ospf-ignore> • </address> • 参照(実行)コマンドには “session-id” があり実行結果をレスポンス • ex: l2traceroute-result, ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 26 Brocade VDX
    24. 24. REST (like) API のタイプ ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 27 JSON RPC 型 (Arista EOS eAPI) URI=固定(/command-api) BODYにCLIコマンド列挙(JSON) ex: http://admin:pAssW0rd@198.51.100.1/command-api Reference: https://eos.arista.com/arista-eapi-101/ <protocol>://<username>:<password>@<hostname or ip-address>/command-api
    25. 25. • CLIを投入するようにコマンドをシーケンシャルに記述可能 • 参考: Arista eAPI の概略を5分で説明してくれます。 • https://www.youtube.com/watch?v=9sWux0GCZ78 • Command API Explorer ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 28 JSON RPC 型 (Arista EOS eAPI)
    26. 26. JUNOS: XML RPC Single Method • CLIに紐づいた RPC Method をURIに記述 • インターフェース名などのパラメータもURI中に?で指定 • scheme://device-name:port/rpc/method[@attributes]?params • scheme: http or https • method: rpc command • 各コマンドに対してそれぞれRPC methodが定義されている。 • params: Optional parameter values (name[=value]) • Response Formatを指定可能 • @attributes で指定: @format=json • HTTP header “Accept:” で指定:application/xml, application/json ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 29 JUNOS: XML RPC Single Method 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
    27. 27. device-name port JUNOS: XML RPC Single Method ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 30 URI Example https://198.51.100.1:3000/rpc/get-software-information ... /get-interface-information?terse=&interface-name=ge-0/0/1 method method parameters 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
    28. 28. JUNOS: XML RPC Single Method ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 31 CLIコマンドに対応する RPC method 確認方法 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
    29. 29. JUNOS: XML RPC Single Method • 1. 設定投入:POST load-configuration • 設定内容は BODY に CLI 出力と同様のフォーマットで指定。 • Candidate Config に保存される • 2. 設定適用:POST commit-configuration ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 32 JUNOS 設定投入・適用 参考:JunosのREST APIを使ってみる http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a
    30. 30. REST (like) API のタイプ • (URIでなく)CLIに紐づくRPC Method をBODYに複数記述 ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 33 XML RPC Multi Method型 (JUNOS Multi RPC) Request Response
    31. 31. ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 34 REST (like) API の特徴(機器別) • Vyatta • URI = CLI Command • Encode: JSON • Session 設定:有|参照:有 • 設定はセッション(conf-id)毎にCandidate config を編集、Commit • 参照やOpsコマンド実行は2回以上リクエスト投 げて結果を受け取る • 継続的なコマンド(Ping)とか実行可能 • Brocade VDX • URI = Resource • Encode: XML • Session: 設定:無|参照:有(継続コマンドのみ) • HTTP Method で操作を表す • 設定のためのセッションという概念は無い。 • 継続的なコマンドにはセッションという概念あり。 • Arista • URI: 固定 /command-api • Encode: JSON • Session: 無 • コマンドは Request BODY に JSONで記述 • 複数コマンドを1度に送信できる。 • Juniper • URI = CLI mapped RPC method (or 固定URI + RPC method in BODY) • Encode: XML, JSON, TXT • Session: 無 • 設定投入は設定をBODYに記載して /load- configuration に投入 • 適用は commit-configuration を投入
    32. 32. プログラミングの階層構造&まとめ ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 35
    33. 33. Network Controller ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 36 プログラミングの階層構造 アプリケーション SDK / library (機器毎) Plug-in(機器毎) Wire Protocol CLI/SSH, NETCONF, REST (like) 各機器共通API REST (like) 「実現したいこと」&「機器仕様」 を元に検討
    34. 34. まとめ ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 37 SDK や Library の提供・活用 NECONF/YANG ⇒ 標準化進められているが複雑 REST (like) API ⇒ ベンダー毎に独自なAPI シンプルなAPIの必要性 直接APIアクセス (SDK や Library だけで はできないことを実装するために) ⇒ メーカーによる機能追加(要求) ⇒ API Proxy/Agent などの開発・公開 メーカーの視点から 多くの人に使ってもらえる(期待が持てる)機能は実装&改善可能 試して、できなかった事、足りない機能など公開して 「プログラミングしやすい環境」を加速させよう!
    35. 35. Appendix: LINK集 これからネットワークプログラムしたい人が読むと嬉しい資料 ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 38
    36. 36. ネットワーク自動化・アプリケーション連携への動き IDCF 井上さん • 2015年10月中心 : QIITAでAPI実装・実験色々 • http://qiita.com/inoueissei Biglobe 土屋さん • 2015/12/21 ソフトウェアからルータにNETCONF(ncclient)で設定してみる • http://qiita.com/taijijiji/items/394d6af5a71834c4e48a • 2015/12/02 ソフトウェアからルータにSSH(Exscript)で設定してみる • http://qiita.com/taijijiji/items/351c48a8a77ee56f6e79 • 2015/05/xx ?? なぜネットワーク運用自動化が進まないのか • Why is it difficult to automate network operation • http://www.slideshare.net/taijitsuchiya5/ss-47398248 • http://www.slideshare.net/taijitsuchiya5/whitebox-switch-48099814 ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 39
    37. 37. ネットワーク自動化・アプリケーション連携への動き Shintaro Kojima @codeout • NETCONF 入門 知ったかぶりしない NETCONF (2014/10/24) • http://codeout.hatenablog.com/entry/2014/10/24/230013 • NETCONF 入門 やってみよう NETCONF (2014/10/30) • http://codeout.hatenablog.com/entry/2014/10/30/224405 Hiroshi Ota @otahi • 2015/04/23 テスト自動化@第4回 ネットワークプログラマビリティ勉強会 • http://gvtkne.blogspot.jp/2015/04/npstudy4.html Brocade Yukihiro Kikuchi • 2014/04/04 Vyatta REST API解説@Vyatta Users Group • http://www.slideshare.net/YukihiroKikuchi/20140404-vyatta-users-group ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 40
    38. 38. ネットワーク自動化・アプリケーション連携への動き Twitter: @takech9203 • 2015/02/22 VyattaのREST APIを使ってみる • http://qiita.com/takech9203/items/2225c8e4ac7dc5bea1e0 Twitter: @kakkotetsu • 2014/12/14 Arista の REST API を ruby や Ansible で突いてみよう • http://qiita.com/kakkotetsu/items/944c263c1580a230a9c0 NetOpsCoding Advent Calendar 2015: • http://qiita.com/advent-calendar/2015/netopscoding • 2015/12/17 JunosのREST APIを使ってみる • http://qiita.com/kazubu/items/e5e0941f66f6c6f2f55a ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 41
    39. 39. ベンダーが作成している? ライブラリ • Juniper • https://github.com/Juniper/net-netconf • https://github.com/Juniper/netconf-perl • https://github.com/Juniper/netconf-java • https://github.com/Juniper/netconf-php • https://github.com/leopoul/ncclient • Cisco • https://github.com/jtimberman/ruby-cisco • https://github.com/nickpegg/ciscolib • Brocade • [https://github.com/brocade/ncclient • https://github.com/brocade/brocade (OpenStack Plugin) • https://github.com/BRCDcomm/BVC (VyattaController ) • https://github.com/zapman449/brocade_switchshow_aliases (Fiber switches) • Alaxala • https://github.com/sumikawa/netconf • Cumulus • https://github.com/CumulusNetworks/cumulus-linux- ansible-modules • https://github.com/CumulusNetworks/cumulus-linux-chef- modules • https://github.com/CumulusNetworks/net-next • https://github.com/CumulusNetworks/quagga • https://github.com/CumulusNetworks/cumulus-cl-interfaces- puppet • https://github.com/OpenRTMFP/Cumulus (MonaServer使っ たSW) • https://github.com/cotdsa/cumulus • http://cumulusnetworks.com/blog/cumulus-linux-2/ ネットワーク機器のAPIあれこれ入門|NetOpsCoding#2|2016/03/04|@ebiken 42 Slide 40, JANOG36, IDCF井上さん http://www.janog.gr.jp/meeting/janog36/download_file/view/188/170

    ×