Ubuntu18.04(KVM)とGNS3とCisco NX-OSv 9000 でpython実行してみた
Ciscoでも最近のCatalystなどではpythonが実行できていろいろ作業をAutomationできるそうですので、試してみたいなあと思っていましたところ、Nexus9000というデータセンタ向けのスイッチの仮想環境版がなんとなぜかCiscoから無料でダウンロード出来てなおかつGNS3で実行できることでしたので、早速実験してみました。
こちらの検証はこちらの先達の方のページを参考にさせていただきました。
1.GNS3インストール
まずGNS3のオフィシャルサイトに行ってユーザ登録ですね。
Ubuntuへのインストールは以下のコマンドでOKと記載がありました。
$ sudo add-apt-repository ppa:gns3/ppa
$ sudo apt-get update
$ sudo apt-get install gns3-gui
起動はコマンドラインからですと
$ gns3
で特に問題なく起動するかと思いますがどうでしょうか。
2.GNS3用ファイルとCisco NX-OSv 9000のダウンロード
全部で3つファイルのダウンロードが必要です。
・アプライアンスファイル(.gns3a)
・fdファイル(.fd)
・KVM用仮想化ファイル(.qcow2)
このあたりが参考になりますでしょうか。
https://docs.gns3.com/appliances/cisco-nxosv9k.html
まずappliance file のダウンロードですが、こちらからのリンクではいけませんでしたので、gns3のmarketplaceから行きます。
https://www.gns3.com/marketplace/appliance/cisco-nx-osv-9000
「cisco-nxosv9k.gns3a」というファイルがダウンロードされるかと思います。
次はfdファイルとqcow2ファイルをダウンロードです。ここです。

現時点(2019年9月)サポートされている一番高いバージョンはCisco NX-OSv 9000 9.3.1のようですので、ここからOVMF-20160813.fdファイルをダウンロードしておきます。
nxosv.9.3.1.qcow2 ファイルのリンクはcisco.comへのオフィシャルサイトへのリンクですね。ユーザ登録などをしてnxosv.9.3.1.qcow2をダウンロードします。下図の赤丸です。

3.GNS3でアプライアンスのインポート
GNS3を立ち上げて、Files-> import applianceでgns3aファイルを選択ですね。


Nextを何度かクリックです。すべてのファイルを~/Download フォルダに置いていますが、自動的に見つけてくれるのか、「NX-OSv 9000 9.3.1」がReady to install になっているのを確認してNextです。

そのまま進めば無事完了するのではないかと思います。
うまく行きますとNX-OSv 9000 9.3.1が使えるようになるのではと思います。

4.GNS3でNX-OSv 9000起動
NX-OSv 9000は8GB RAMが必要なので私のノートPC(RAMは8GB)では厳しいですが、なんとか起動はします。

デフォルトのログインIDは「admin」パスワードは空でした。
ログイン後早速python実行してみます。「konnichiwa」を表示するだけです。
# guestshell run python
>>>print('konnichiwa')

「konnichiwa」が表示されました。
pythonは2.7.5ですね。
ちなみにRAMが8GBも取られるとツライので4GBとかにすると私の環境では間違いなく立ち上がりませんね

なにやらBOOTできないとのエラーになりますね。こちらなんとか直せるようですが、ちょっと私の実力では直せませんでした。仕方ないですので8GBで使います。

まとめ
なんとかCiscoスイッチ上でpythonでprint実行できるところまで確認できました。次回はAutomationぽいこと実行してみたいと思います。