LSP が保留中またはPCC_PENDING状態でスタックしている
問題
LSP のコントローラステータスに保留ステータスが表示される場合があります。このエラーは、トポロジ サーバー (Toposerver) がノードを PCEP 対応としてマークし、ラベル スイッチ パス (LSP) をプロビジョニングした後も続くことがあります。コントローラのステータス(ネットワーク情報テーブルの[トンネル]タブに表示されている)には、PENDINGまたはPCC_PENDINGという単語が表示されます。
ソリューション
プロビジョニングプロセスを通じて、LSP にはプロビジョニングのステータスを示すさまざまなプロビジョニング状態があります。ネットワーク情報テーブルの [トンネル] タブの [コントローラの状態] 列には、これらのプロビジョニング状態が表示されます。最も一般的な LSP 状態は、 保留中 と PCC_PENDINGです。
次のシーケンスは、舞台裏で何が起こるかを説明しています。
-
LSP をプロビジョニングするために、パス計算サーバー(PCS)は、LSP のすべての要件を満たすパスを計算します。その後、PCS はプロビジョニング順序をパス計算要素 (PCE) サーバーに送信します。
次に、このプロセスの実行中に PCS ログに表示されるログ メッセージの例を示します。
メモ:表示されるログは、このドキュメントのログとは異なる場合があります。ログは、インストールされているParagon Automationのバージョンに応じて変わります。
Apr Apr 25 10:06:44.798336 user-PCS PCServer [->TopoServer] push lsp configlet, action=ADD Apr 25 10:06:44.798341 user-PCS PCServer {#012"lsps":[#012{"request-id":928380025,"name":"JTAC","from":"10.0.0.102", "to":"10.0.0.104","pcc":"172.25.158.66","bandwidth":"100000","metric":0,"local-protection":false,"type":"primary", "association-group-id":0,"path-attributes":{"admin-group":{"exclude":0,"include-all":0, "include-any":0},"setup-priority": 7,"reservation-priority":7,"ero":[{"ipv4-address":"10.102.105.2"},{"ipv4-address":"10.105.107.2"}, {"ipv4-address": "10.114.117.1"}]}}#012]#012} Apr 25 10:06:44.802500 user-PCS PCServer provisioning order sent, status = SUCCESS Apr 25 10:06:44.802519 user-PCS PCServer [->TopoServer] Save LSP action, id=928380025 event=Provisioning Order(ADD) sent request_id=928380025 Apr 25 10:06:44.802534 user-PCS PCServer lsp action=ADD JTAC@10.0.0.102 path= controller_state=PENDING
-
LSP のコントローラのステータスは PENDING です。このステータスは、PCS がプロビジョニング注文を PCE サーバに送信したが、PCS がまだ確認応答を受信していないことを意味します。LSP が PENDING 状態のままである場合は、PCE サーバに問題があることを示しています。
PCE サーバのログを表示することで、問題を特定できます。
PCE サーバのログを表示するには、次の手順を実行します。
-
サーバーの認証情報を使用して、Paragon Automationのプライマリノードにログインします。
-
プライマリノードから次のコマンドを使用して、PCE サーバープロセスが実行されているポッドの名前を取得します。
kubectl -n northstar get pod | grep pceserver
-
次のコマンドを使用して、PCE サーバー ポッドにログインします。
kubectl -n northstar exec -it ns-pceserver-pod-name -c ns-pceserver -- bash
コマンドの ns-pceserver-pod-name は、 手順 b で取得したポッドの名前です。
-
次のコマンドを使用して、PCE サーバーに関連付けられているログを表示します。
kubectl -n northstar logs -f ns-pceserver-pod-name -c syslog
次に、PCE サーバ ログ エントリの例を示します。
2016-04-25 10:06:45.196263(27897)[EVENT]: 172.25.158.66:JTAC UPD RCVD FROM PCC, ack 928380025 2016-04-25 10:06:45.196517(27897)[EVENT]: 172.25.158.66:JTAC ADD SENT TO PCS 928380025, UP
-
PCE サーバーのログに PCE サーバーの問題が示されている場合は、次のコマンドを使用して PCE サーバー ポッドを手動で再起動できます。
kubectl -n northstar rollout restart deployment pce-server-pod-name
探している情報がログに含まれていない場合は、PCE サーバでさまざまな
show
コマンドを実行して情報を取得することもできます。Junos OSの構文と同様に、 を入力するshow ?
とコマンドオプションshow
が表示されます。 -
-
PCE サーバーは、プロビジョニング命令を受信した後、次のアクションを実行します。
-
PCE サーバーは、パス計算クライアント (PCC) に注文を転送します。
-
PCE サーバは確認応答を PCS に送り返します。
-
-
LSP コントローラのステータスが [PCC_PENDING] に変わり、PCE サーバがプロビジョニング命令を受信して PCC に転送したが、PCC がまだ応答していないことを示します。LSP が PCC_PENDING 状態でスタックしている場合は、PCC に問題があることを示しています。PCC の設定を確認します。PCC の設定を確認する方法については、PCC のベンダーのドキュメントを参照してください。
-
PCC がプロビジョニング順序を正常に受信すると、PCE サーバに応答が送信され、PCE サーバが応答を PCS に転送します。PCS がこの応答を受信すると、PCS は LSP コントローラのステータスを完全にクリアします。明確なステータスは、PCS が LSP をプロビジョニングし、PCE サーバまたは PCC から保留中のアクションがないことを示します。その後、トンネルの動作ステータスがトンネルの状態のインジケータとなります。動作ステータスは、ネットワーク情報テーブルのトンネル タブの Op ステータス 列で確認できます。PCS が生成するログ エントリの例を次に示します。
Apr 25 10:06:45.203909 user-PCS PCServer [<-TopoServer] JTAC@10.0.0.102, LSP event=(0)CREATE request_id=928380025 tunnel_id=9513 lsp_id=1 report_type=ACK