昨年12月に簡単に紹介したCisco Application Centric Infrastructure (ACI)のオープンソースツールである ACI Toolkitだが、リリースから半年が経過してACIの進化と合わせて色々と機能やサンプルアプリケーションも充実してきている。
ACI ToolkitはGitHubで公開されているので、Apache License 2.0の下で誰でもお使いいただける。
GitHub - datacenter/acitoolkit: A basic toolkit for accessing the Cisco APIC
特にサンプルアプリケーションはどれもWeb GUIでACIの情報を参照できたり、ちょっと役立つ管理機能が提供されていたりしてどれもいい感じ。
ちなみに、今日現在で含まれているサンプルアプリケーションは以下の通り。
- aci-diagram
- cableplan // Cableplan Application
- cli
- endpointtracker // ACI Endpoint Tracker
- lint // ACI Lint
- multiSite
- reports
- snapback // Configuration Snapshot and Rollback
- visualizations // Visualization Examples
たとえば、ACI Endpoint Trackerアプリケーションは、APIC経由でACI環境に存在するEndpointの情報を取得してDBに格納してくれる。Endpointが属しているテナント、アプリケーション、EPGの情報や、EndpointのMACアドレスおよびIPアドレス、ACIへの接続パスとなっているLeafのインターフェイス情報などをSQLやWeb GUI経由で取得することができる。
また、Vizualization Examplesは取得した情報を視覚化するサンプルとなっており、様々なダイアグラムやチャートなどをFlaskを使って生成してみることができるPythonスクリプトが用意されている。
…等々、様々なサンプルが提供されている。ある程度の実用性はあるサンプルアプリケーションとなっていて、ACIの構成チェックを行うACI Lintや、構成情報の変化をSnapshotのように取得し続けたりロールバックもできるアプリケーションもあったりなど、バラエティも豊かだ。
もちろん、これらはあくまでもサンプルなので、参考頂いてACIのAPIを活用したツールを色々と作ってみると面白いかもしれない。