Cisco Nexus 1000V XML 管理インターフェイス ユーザ ガイド リリース 4.2(1)SV1(5.1)
XML 要求の設定
XML 要求の設定
発行日;2012/06/17 | 英語版ドキュメント(2012/01/31 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 528KB) | フィードバック

目次

XML 要求の設定

前提条件

注意事項および制約事項

XML サーバとのセッションの開始

XML 要求の作成

サーバへのドキュメントの手動送信

設定例

例:複数動作によるメッセージの作成

例 1

例 2

例:ポート プロファイルの作成

例:設定の削除

例:セッションの終了

例:独自セッション以外のセッションの終了

例:設定の編集

デフォルト設定

その他の関連資料

標準

RFC

XML 要求の設定

この章では、XML 要求を設定する方法について説明します。内容は次のとおりです。

「前提条件」

「注意事項および制約事項」

「XML サーバとのセッションの開始」

「XML 要求の作成」

「設定例」

「デフォルト設定」

「その他の関連資料」

前提条件

XML API インターフェイスには次の前提条件があります。

SSH バージョン 2 がクライアント PC にインストールされ、イネーブルにされていること。

注意事項および制約事項

Cisco Nexus 1000V XML API とのメッセージ交換を開始する前に、次の条件を確認します。

任意の XML エディタまたは XML 管理インターフェイス ツールを使用して、XML インスタンスを作成する必要があります。

XML 管理ツールを使用する場合は、そのツールで NETCONF over SSH がサポートされている必要があります。

XML サーバとのセッションの開始

XML クライアントと Cisco Nexus 1000V XML サーバの間の NETCONF セッションを開始するには、次の手順を実行します。


) Cisco Nexus 1000V xmlagent サービスは、XML サーバと呼ばれます。


はじめる前に

この手順を開始する前に、次のことを確認または実行する必要があります。

SSH バージョン 2 がイネーブルに設定された XML クライアント PC にログインしていること。

Cisco Nexus 1000V XML サーバの IP アドレスがわかっていること。

使用可能な XML サーバ セッションがあること。

詳細については、「許容されるセッション数の設定」を参照してください。

手順の概要

1. ssh username @ ipaddress -s xmlagent

2. password

手順の詳細

 

コマンド
目的

ステップ 1

ssh username@ip-address -s xmlagent

例:

ssh admin@172.23.232.160 -s xmlagent

User Access Verification

Password:

 

セキュア SSH 接続を通じて、Cisco Nexus 1000V XML エージェントに接続します。

(注) SSH コマンドの構文は、クライアント PC の SSH ソフトウェアによって異なることがあります。

ステップ 2

password

例:

Password: *******

クレデンシャルを認証し、クライアント PC と Cisco Nexus 1000V XML サーバ間の NETCONF セッションを開始します。

ステップ 3

<?xml version="1.0"?>

例:

<?xml version="1.0"?>

<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<capabilities>

使用している XML のバージョンを示す宣言ステートメントを入力します。サーバは自身の機能を示す hello メッセージで応答します。

ステップ 4

<capability>urn:ietf:params:xml:ns:netconf:base:1.0</capability>

例:

<capability>urn:ietf:params:xml:ns:netconf:base:1.0</capability>
</capabilities>
<session-id>17644</session-id>
</hello>
]]>]]>

クライアントの機能を示す hello メッセージを入力します。

NETCONF セッションが開始されます。

XML 要求の作成

XML サーバへのメッセージの XML 要求を作成するには、次の手順を実行します。

はじめる前に

この手順を開始する前に、次のことを確認または実行する必要があります。

すでにクライアント PC から XML サーバとの NETCONF セッションを開始している必要があります。

「XML サーバとのセッションの開始」を参照してください。

任意の XML エディタまたは XML 管理インターフェイス ツールを使用して、XML メッセージを作成する必要があります。

手順の詳細


ステップ 1 要求の開始タグを入力します。

例:
<nc:rpc message-id="1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:xml">
 

ステップ 2 要求する操作の NETCONF 動作開始タグを入力します。

<nc:get>
<nc:filter type="subtree">

 

ステップ 3 要求する動作の Cisco Nexus 1000V 動作開始タグを入力します。

<show>
<xml>
<server>
<status/>

 

ステップ 4 要求する動作の Cisco Nexus 1000V 動作終了タグを入力します。

</server>
</xml>
</show>

 

ステップ 5 要求する操作の NETCONF 動作終了タグを入力します。

</nc:filter>
</nc:get>

 

ステップ 6 要求の終了タグを入力し、続けてメッセージの終了を示す文字シーケンス ]]>]]> を入力します。

例:
</nc:rpc>]]>]]>

 

<?xml version="1.0"?>
<nc:rpc message-id="1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:xml">
<nc:get>
<nc:filter type="subtree">
<show>
<xml>
<server>
<status/>
</server>
</xml>
</show>
</nc:filter>
</nc:get>
</nc:rpc>]]>]]>


 

サーバへのドキュメントの手動送信

サーバに XML ドキュメントまたはメッセージを手動で送信するには、次の手順を実行します。

はじめる前に

この手順を開始する前に、次のことを確認または実行する必要があります。

一般的に自動化メソッドを使用してメッセージを送信しますが、このメソッドを使用して XML サーバへの SSH 接続を確認できます。

SSH バージョン 2 がイネーブルに設定された XML クライアント PC にログインします。

クライアント PC で XML エディタ アプリケーションが開いており、文字シーケンス ]]>]]> で終了する XML メッセージを作成します。

XML サーバで SSH セッションを開いており、すでに hello メッセージを交換している必要があります。

手順の詳細


ステップ 1 エディタ アプリケーションから XML メッセージをコピーします。

ステップ 2 アクティブな SSH セッションに XML メッセージを貼り付けます。

XML メッセージは XML サーバに送信され、解析および実行されます。その後、結果を示す応答がクライアントに送信されます。


 

設定例

ここでは、次の XML メッセージの例について説明します。

「例:複数動作によるメッセージの作成」

「例:ポート プロファイルの作成」

「例:設定の削除」

「例:セッションの終了」

「例:独自セッション以外のセッションの終了」

「例:設定の編集」

例:複数動作によるメッセージの作成

すべての要求が同じ NETCONF 動作用である場合は、1 つの XML メッセージに複数の NETCONF 動作を含めることができます。

XML サーバは、すべての要求がエラーなしで解析されてから、要求を適用します。エラーがあれば要求が失敗し、通知が送信されます。

ここでは、次の例について説明します。

「例 1」

「例 2」

例 1

次に、2 つの NETCONF が 1 つの XML メッセージでフォーマットされる 2 つの CLI コマンドを表す動作を取得する例を示します。

CLI コマンド:

次に、XML 要求メッセージに必要な CLI コマンドを示します。

switch# show ssh server
switch# show xml server status

メッセージ

次に、必要な CLI コマンドを表す XML 要求メッセージを示します。

<?xml version="1.0"?>
<nc:rpc message-id="1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:security_tree">
<nc:get>
<nc:filter type="subtree">
<show>
<ssh>
<server>
</server>
</ssh>
</show>
<show>
<xml>
<server>
<status/>
</server>
</xml>
</show>
</nc:filter>
</nc:get>
</nc:rpc>]]>]]>
 

返信

次に、クライアントからの要求の解析および実行後に XML サーバからクライアントに送信される RPC 返信を示します。


) XML サーバから送信される返信の順序は、要求の送信順序とは異なることがあります。


<?xml version="1.0" encoding="ISO-8859-1"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:security_tree" message-id="1">
<nc:data>
<show>
<xml>
<server>
<status>
<__XML__OPT_Cmd_show_xml___readonly__>
<__readonly__>
<operational_status>
<o_status>enabled</o_status>
</operational_status>
<maximum_sessions_c>
<max_session>8</max_session>
</maximum_sessions_c>
<TABLE_sessions>
<ROW_sessions>
<session_id>24559</session_id>
<user_name>admin</user_name>
<start_time>Tue Mar 25 16:14:17 2008</start_time>
<sap_id>10519</sap_id>
<timeout>1200</timeout>
<time_remaining_to_timeout>587</time_remaining_to_timeout>
<ip_addr>171.71.55.134</ip_addr>
</ROW_sessions>
</TABLE_sessions>
</__readonly__>
</__XML__OPT_Cmd_show_xml___readonly__>
</status>
</server>
</xml>
</show>
</nc:data>
</nc:rpc-reply>
]]>]]><?xml version="1.0"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:security_tree" message-id="1">
<nc:data>ssh is enabled
version 2 enabled
</nc:data>
</nc:rpc-reply>
]]>]]>
 

例 2

次に、2 つの NETCONF が 1 つの XML メッセージでフォーマットされる 1 つの有効な CLI コマンドと 1 つの誤った CLI コマンドを表す動作を取得する例を示します。

CLI コマンド:

次に、XML 要求メッセージに必要な CLI コマンドを示します。

switch# show version
switch# show version-error-does-not-exist

メッセージ

次に、必要な CLI コマンドを表す XML 要求メッセージを示します。

<?xml version="1.0"?>
<nc:rpc message-id="1" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:sysmgrcli">
<nc:get>
<nc:filter type="subtree">
<show>
<version>
</version>
</show>
<show>
<version-error-doesnotexist>
</version-error-doesnotexist>
</show>
</nc:filter>
</nc:get>
</nc:rpc>]]>]]>

返信

次に、クライアントからの要求の解析および実行後に XML サーバからクライアントに送信される RPC 返信を示します。

<?xml version="1.0" encoding="ISO-8859-1"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns="http://www.cisco.com/nxos:1.0:sysmgrcli" message-id="1">
<nc:data>
<show>
<version>
<__XML__OPT_Cmd_sysmgr_show_version___readonly__>
<__readonly__>
<header_str>Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2009, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained in this software are
owned by other third parties and used and distributed under
license. Certain components of this software are licensed under
the GNU General Public License (GPL) version 2.0 or the GNU
Lesser General Public License (LGPL) Version 2.1. A copy of each
such license is available at
http://www.opensource.org/licenses/gpl-2.0.php and
http://www.opensource.org/licenses/lgpl-2.1.php
</header_str>
<loader_ver_str>1.2(2) [last: image booted through mgmt0]</loader_ver_str>
<kickstart_ver_str>4.0(4)SV1(2)</kickstart_ver_str>
<sys_ver_str>4.0(4)SV1(2) [gdb]</sys_ver_str>
<kick_file_name></kick_file_name>
<kick_cmpl_time> 9/22/2009 2:00:00</kick_cmpl_time>
<isan_file_name>bootflash:/isan.bin</isan_file_name>
<isan_cmpl_time> 9/22/2009 2:00:00</isan_cmpl_time>
<isan_tmstmp>09/26/2009 00:36:00</isan_tmstmp>
<chassis_id>Nexus 1000V Chassis</chassis_id>
<module_id>Virtual Supervisor Module</module_id>
<cpu_name>Intel(R) Xeon(R) CPU </cpu_name>
<memory>2075012</memory>
<mem_type>kB</mem_type>
<proc_board_id>T5056BE7598</proc_board_id>
<host_name>roshan-vsm</host_name>
<bootflash_size>2332296</bootflash_size>
<kern_uptm_days>3</kern_uptm_days>
<kern_uptm_hrs>16</kern_uptm_hrs>
<kern_uptm_mins>58</kern_uptm_mins>
<kern_uptm_secs>3</kern_uptm_secs>
</__readonly__>
</__XML__OPT_Cmd_sysmgr_show_version___readonly__>
</version>
</show>
</nc:data>
</nc:rpc-reply>
]]>]]>
 
 
 
<?xml version="1.0"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns="http://www.cisco.com/nxos:1.0:sysmgrcli" message-id="1">
<nc:rpc-error>
<nc:error-type>application</nc:error-type>
<nc:error-tag>invalid-value</nc:error-tag>
<nc:error-severity>error</nc:error-severity>
<nc:error-message>Syntax error while parsing 'show version-error-doesnotexist '
 
</nc:error-message>
<nc:error-info>
<nc:bad-element>show</nc:bad-element>
</nc:error-info>
</nc:rpc-error>
</nc:rpc-reply>
]]>]]>

例:ポート プロファイルの作成

次に、ポート プロファイルを作成するための XML 要求メッセージの例を示します。

コマンド

次に、XML 要求メッセージに必要な CLI コマンドを示します。

switch# config t
switch(config)# port-profile testppf
switch(config-port-prof)# description portprofile-test-description
switch(config-port-prof)# vmware port-group portprofile-test
switch(config-port-prof)# state enabled
switch(config-port-prof)# no shut

メッセージ

次に、必要なコマンドの XML メッセージの例を示します。

<?xml version="1.0"?>
<nf:rpc xmlns="http://www.cisco.com/nxos:1.0:ppm" xmlns:nf="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="110">
<nf:edit-config>
<nf:target>
<nf:running/>
</nf:target>
<nf:config>
<nxos:configure xmlns:nxos="http://www.cisco.com/nxos:1.0:ppm">
<nxos:__XML__MODE__exec_configure>
 
<port-profile>
<name>
<__XML__PARAM_value isKey="true">testppf</__XML__PARAM_value>
<__XML__MODE_port-prof>
<description>
<desc_text>portprofile-test-description</desc_text>
</description>
<vmware>
<port-group>
<__XML__OPT_Cmd_ppm_port_group_pg_name>
<pg_name>portprofile-test</pg_name>
</__XML__OPT_Cmd_ppm_port_group_pg_name>
</port-group>
</vmware>
<state>
<enabled />
</state>
<no>
<shutdown />
</no>
</__XML__MODE_port-prof>
</name>
</port-profile>
 
</nxos:__XML__MODE__exec_configure>
</nxos:configure>
</nf:config>
</nf:edit-config>
</nf:rpc>]]>]]>

例:設定の削除

次に、スタートアップ コンフィギュレーションの write erase コマンドと同等に動作する、NETCONF の delete-config 動作 の例を示します。

CLI コマンド

switch# write erase

メッセージ

次に、必要なコマンドの XML メッセージの例を示します。

<?xml version="1.0"?>
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<delete-config>
<target>
<running/>
</target>
</delete-config>
</rpc>]]>]]>
 

返信

次に、NETCONF メッセージへの XML サーバの返信を示します。

<?xml version="1.0"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0" message-id="101">
<nc:ok/>
</nc:rpc-reply>]]>]]>

例:セッションの終了

次に、XML サーバとのセッションを閉じる NETCONF close-session 動作が SSH セッションも終了する例を示します。

メッセージ

次に、NETCONF close-session 動作の XML メッセージを示します。

<?xml version="1.0"?>
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<close-session/>
</rpc>]]>]]>
 

返信

次に、メッセージへの XML サーバの返信を示します。

<?xml version="1.0"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0" message-id="101">
<nc:ok/>
</nc:rpc-reply>]]>]]>

例:独自セッション以外のセッションの終了

次に、独自のセッション以外のサーバ セッションを終了する NETCONF kill-session 動作の例を示します。

メッセージ

次に、NETCONF kill-session 動作の XML メッセージを示します。

<?xml version="1.0"?>
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<kill-session>
<session-id>31990</session-id>
</kill-session>
</rpc>]]>]]>
 

返信

次に、メッセージへの XML サーバの返信を示します。

<?xml version="1.0"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0" message-id="110">
<nc:ok/>
</nc:rpc-reply>]]>]]>\
 

例:設定の編集

次に、NETCONF edit-config 動作を使用して設定を編集する要求の例を示します。

CLI コマンド

次に、メッセージに必要な CLI コマンドを示します。

switch# config t
switch(config)# interface ethernet 2/30
switch(config-if)# description Marketing Network
 

メッセージ

次に、NETCONF edit-config 動作による XML メッセージと必要な CLI コマンドを示します。

<?xml version="1.0"?>
<nc:rpc message-id="16" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:if_manager">
<nc:edit-config>
<nc:target>
<nc:running/>
</nc:target>
<nc:config>
<configure>
<__XML__MODE__exec_configure>
<interface>
<ethernet>
<interface>2/30</interface>
<__XML__MODE_if-ethernet>
<__XML__MODE_if-ethernet>
<description>
<desc_line>Marketing Network</desc_line>
</description>
</__XML__MODE_if-ethernet>
</__XML__MODE_if-ethernet>
</ethernet>
</interface>
</__XML__MODE__exec_configure>
</configure>
</nc:config>
</nc:edit-config>
</nc:rpc>]]>]]>
 

返信

次に、メッセージへの XML サーバの返信を示します。

<?xml version="1.0"?>
<nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
xmlns="http://www.cisco.com/nxos:1.0:if_manager" message-id="16">
<nc:ok/>
</nc:rpc-reply>]]>]]>

デフォルト設定

表 3-1 に、SSH のデフォルト設定値を示します。

 

表 3-1 SSH のデフォルト

パラメータ
デフォルト

SSH Version 6

イネーブル

その他の関連資料

XML 管理インターフェイスの実装に関連する詳細情報については、次の項を参照してください。

「標準」

「RFC」

標準

 

標準
タイトル

この機能でサポートされる新規の標準または変更された標準はありません。また、既存の標準のサポートは変更されていません。

--

RFC

 

RFC
タイトル

RFC 4741

『NETCONF Configuration Protocol』

RFC 4742

『Using the NETCONF Configuration Protocol over Secure Shell (SSH)』