キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

NX-OS Programmability: NX-API について

はじめに

 

このドキュメントでは、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 にあります。

 

バージョン履歴
改訂番号
1/1
最終更新:
‎07-15-2015 02:45 AM
更新者: