Ubuntu18.04(KVM)とGNS3とCisco NX-OSv 9000 でpython実行してみた

Ciscoでも最近のCatalystなどではpythonが実行できていろいろ作業をAutomationできるそうですので、試してみたいなあと思っていましたところ、Nexus9000というデータセンタ向けのスイッチの仮想環境版がなんとなぜかCiscoから無料でダウンロード出来てなおかつGNS3で実行できることでしたので、早速実験してみました。

こちらの検証はこちらの先達の方のページを参考にさせていただきました。

1.GNS3インストール

まずGNS3のオフィシャルサイトに行ってユーザ登録ですね。

https://www.gns3.com/

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ファイルをダウンロードです。ここです

CiscoNXダウンロード

現時点(2019年9月)サポートされている一番高いバージョンはCisco NX-OSv 9000 9.3.1のようですので、ここからOVMF-20160813.fdファイルをダウンロードしておきます。

nxosv.9.3.1.qcow2 ファイルのリンクはcisco.comへのオフィシャルサイトへのリンクですね。ユーザ登録などをしてnxosv.9.3.1.qcow2をダウンロードします。下図の赤丸です。

CiscoNexus9000ダウンロードシスコサイト

3.GNS3でアプライアンスのインポート

GNS3を立ち上げて、Files-> import applianceでgns3aファイルを選択ですね。

GNS画面ADDAppliance

GNS画面ADDAppliance2

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

GNS画面ADDAppliance3

そのまま進めば無事完了するのではないかと思います。

うまく行きますとNX-OSv 9000 9.3.1が使えるようになるのではと思います。

GNS画面ADDAppliance4


4.GNS3でNX-OSv 9000起動

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

NX-OSv 9000起動

デフォルトのログインIDは「admin」パスワードは空でした。

ログイン後早速python実行してみます。「konnichiwa」を表示するだけです。

# guestshell run python
>>>print('konnichiwa')
NX-OSv 9000でPython実行

「konnichiwa」が表示されました。

pythonは2.7.5ですね。

ちなみにRAMが8GBも取られるとツライので4GBとかにすると私の環境では間違いなく立ち上がりませんね

メモリを減らすとエラー

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

メモリを減らすとエラー2

まとめ

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

Cisco

Posted by kitakantech