NETCONF セッションを終了
NETCONF セッションでは、他のユーザーまたはアプリケーションがすでにロックを保持している場合、クライアント アプリケーションが受験者の設定をロックしようとする試みは失敗する可能性があります。この場合、NETCONF サーバーは、既存のロックを保持しているエンティティのユーザー名とプロセス ID(PID)を含むエラー メッセージを返します。
<rpc-reply xmlns="URN" xmlns:junos="URL"> <rpc-error> <error-severity>error</error-severity> <error-message> configuration database locked by: user terminal (pid PID) on since YYYY-MM-DD hh:mm:ss TZ, idle hh:mm:ss exclusive </error-message> </rpc-error> </rpc-reply> ]]>]]>
クライアント アプリケーションに Junos OS maintenance
権限<kill-session>
<session-id>
がある場合は、タグ要素内の要素とタグ要素を変更することで、ロックを保持するセッションを<rpc>
終了できます。要素<session-id>
は、エラー メッセージから取得した PID を指定します。
<rpc> <kill-session> <session-id>PID</session-id> </kill-session> </rpc> ]]>]]>
NETCONF サーバーは、タグ <ok/>
要素のタグを返して、別のセッションが終了したと <rpc-reply>
確認します。
<rpc-reply xmlns="URN" xmlns:junos="URL"> <ok/> </rpc-reply> ]]>]]>
ロックを保持しているユーザーやアプリケーションのアイデンティティ、アイドル時間の長さなどの要因に基づいて、別のセッションを終了するかどうかを決定するためのロジックをアプリケーションに含める必要があります。
セッションが終了すると、セッションを提供している NETCONF サーバーが、セッション中に行ったコミットされていないすべての変更をロール バックします。確認済みコミットが保留中(変更はまだコミットされていません)、NETCONF サーバーは確認済みコミット命令が発行される前に設定をその状態に復元します。確認されたコミット操作の詳細については、「 NETCONF を使用して確認した後にのみ受験者の設定を コミットする 」を参照してください。
次の例は、別のセッションを終了する方法を示しています。
