キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
957
閲覧回数
0
いいね!
0
コメント
Asami Agarie
Cisco Employee
Cisco Employee

 

 

はじめに

NSOは、ユーザーからリクエストを受けると、トランザクションと呼ばれる論理単位で一連の処理を実行します。トランザクションは、全ての対象デバイス及び CDB に対し、一貫性やアトミック性等を提供します。本記事は、トランザクションの処理の概要を、図を使用し紹介します。

 

  

トランザクションが実行される順序

変更が Commit されると、次のような順序で処理が実行されます。

tran-steps.JPG

  

ユーザー側からみたイメージ

tran1.JPG

ユーザーからみた変更の適用
1.    (オペレーターがログインし) セッション開始 
2.  (オペレーターが) 変更を入力 
3.  (オペレーターが) "commit"を送信し変更の適用をリクエストする
4.  NSO は Fail か Success の何れかの結果を返す

  

 

トランザクション: Lock から Prepare まで

tran2.JPG

Transaction Lock が取得されると、transaction hook を開始します。ここでは、現行モデルやサービスインスタンスを基に変更を計算していきます。計算の結果、トランザクションの内容は更新されます。また、validation では、生成した変更が適用可能か検証します。

tran3.JPG

Prepare では変更が書き込まれますが、まだ適用されません。ここでは更に、southbound diff が生成され、NEDを介し変更をデバイスへ送信します。エラーが返らないことを確認します。

 

トランザクション: Commit から Unlock まで

tran4.JPG

ここまでの処理が問題なく実行されていれば、実際に commit の処理へ進みます。問題が発生した場合は、abort 処理が開始されます。

tran5.JPG

commit の処理では、ロールバックファイルが更新されて、prepare で書き込んだ内容が確定されます。対象のデバイスが NETCONF であれば、"commit" を送信しますが、トランザクションをサポートしないデバイスは既に変更を送信済みのため、特に何もしません。Notifyでは、Kickers や subscribers に変更の完了を知らせます。最後に transaction lock が解放され、次のトランザクションが処理を開始します。

*commit queueについては、下記参考情報もご参照ください。abort の処理については、追記予定です。            

参考情報

Secrets of the NSO Transaction Phases

https://community.cisco.com/t5/-/-/ba-p/3663993

NSO: Progress Trace について

https://community.cisco.com/t5/-/-/ta-p/3374775

NSO Developer Days 2020: Demystifying NSO Commit Queues

https://www.youtube.com/watch?v=9pEdvZS5yE0

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします