はじめに
このドキュメントでは、NX-API に関する設定情報等を提供しています。NX-API では、従来の CLI による操作だけではなく、HTTP/HTTPS による機器へのアクセス (設定変更・情報取得など) を実現します。
前提条件:
要件
- Nexus 9000 シリーズ スイッチ Standalone mode (NX-OS mode): version 不問
- Nexus 7000 シリーズ スイッチ: 7.2(0)D1(1) 以降
- Nexus 5000/6000 シリーズ スイッチ: 7.2(0)N1(1) 以降
(Nexus 3000 シリーズでは、2015年7月現在実装されておりません)
使用コンポーネント
このドキュメントの例では、以下の環境を使用しております。
N9K-C9504 + N9K-SUP-A, NX-OS 6.1(2)I3(3a)
設定例
NX-API を使用するためには、management interface の設定と NX-API の有効化が必要です。
switch# conf t
switch(config)# interface mgmt 0
switch(config-if)# ip address 10.71.168.129/24
switch(config-if)# exit
switch(config)# vrf context managment
switch(config-vrf)# ip route 0.0.0.0/0 10.71.168.254
switch(config-vrf)# exit
switch(config)# feature nxapi
NX-API が有効になっていること、および使用しているポート番号等は以下のコマンドで確認可能です。(HTTP/HTTPS が共に使われていることがわかります)
switch# show nxapi
nxapi enabled
Listen on port 80
Listen on port 443
show command 出力例
以上の設定の完了後、Web browser にて HTTP or HTTPS で management IP にアクセスし、CLI ログイン時と同様の username/password にてログインすると以下の画面 (NX-API Developer Sandbox) にたどり着きます。
右上部の "Message format", "Command type" でそれぞれお好みの書式を選択します。
まずは show command の出力を見るため、Command type を cli_show にします。
画面上部の空欄に、出力を得たいコマンド、例えば "show interface e1/32 brief" を入力すると、左下の "REQUEST" の枠に XML 形式の同コマンドが出力されます。
その後、POST をクリックすると、右下の "RESPONSE" に同コマンドの出力結果 (XML 形式) が出力されます。show command の出力結果が、各変数とその値という XML 形式で出力されることがわかります。
configuration 変更例
次は configuration の変更例です。実際に CLI と比較しながら見ていきます。
例として、Eth1/5 の設定を変更します。まず、何も設定されていないことは以下の CLI より確認できます。
switch# sh run int e1/5
!Command: show running-config interface Ethernet1/5
!Time: Wed Jul 15 18:03:47 2015
version 6.1(2)I3(3a)
interface Ethernet1/5
switch#
Command type を cli_conf として、show command の時と同様に CLI command (今回はinterface の設定) を上部の枠内に入力すると、左下の "REQUEST" に XML 形式のコマンドが出力されます。
前回と同様にこれを POST すると、RESPONSE が得られます。エラーが出ていなければ OK です。
CLI で確認すると、設定が反映されていることがわかります。
switch# sh run int e1/5
!Command: show running-config interface Ethernet1/5
!Time: Wed Jul 15 18:11:41 2015
version 6.1(2)I3(3a)
interface Ethernet1/5
switchport
switchport access vlan 100
no shutdown
switch#
NX-API Developer Sandbox は上記のような操作例の実行時だけでなく、NX-OS の CLI command を XML, JSON に変換したい、といった用途でも活用できるかと思います。
関連情報
このドキュメントでは非常に簡単な操作例をお見せしましたが、実際には script を書くことによって Nexus switch の操作を自動化することが可能です。sample script の置き場所は上記 GitHub にあります。