はじめに
このドキュメントでは、configmgrにホストエントリがないために発生するRCMベースのUPFアップグレードエラーについて説明します。
問題
RCM (Redundancy Configuration Manager)コントローラがUPF 1 (アクティブ)からUPF 2 (スタンバイ)への計画されたUPF (ユーザープレーン機能)スイッチオーバーを開始すると、configmgrのホストリストにはUPF 1とUPF 2の両方が含まれることが想定されます。ただし、何らかの理由で、configmgrのアクティブホストリストにActive UPF 1がないため、コントローラのホストリストと矛盾します。
このような状態でRCMがUPF 1からUPF 2へのスイッチオーバーをトリガーすると、スイッチオーバープロセスが開始されます。スイッチオーバープロセス中に、configmgrはホストリスト内のActive UPF 1ホストの詳細を検索しようとしますが、見つけられません。
UPFスイッチオーバープロセスが「Old Active moved from PendingStandby to Active due to timeout in receiving Standby state (planned switchover)」の理由で失敗し、UPF1がPendingStandbyからActiveに、UPF 2がPendingActiveからStandbyに移行します。
//ホストリストにホストの詳細が欠落していることが原因でスイッチオーバー障害が発生したことを検出する方法
このようなスイッチオーバーの障害時間をカバーするRCM tac dbgでは、configmgrポッドログでログイベントを探します。
2024/01/12 09:08:26.878 rcm-configmgr [DEBUG] [sshclient.go:980] [rcm_grpc_ep.msg-process.Int] [RcmGenTrap]: SNMP Trap Raised: (SwitchoverFailure) - Switchover from 10.248.187.151:22 to .10 248.187.153:22 in Group:1 Failed!理由:アクティブが見つかりません
rcm tac dbgが存在しない場合は、RCMコントローラops-centerからsnmpトラップを探すことにより、この問題が原因で失敗したUPFスイッチオーバーを確認することもできます。
a) Active RCMオペレーションセンターにログインします。
b)rcm show-snmp-trap historyコマンドを実行します。
c)存在するsnmpトラップを調べます。
SwitchoverFailure 2024-01-18T05:19:45.Z 2024-01-18T05:19:45.Z rcm-configmgr Switchover from 10.244.127.23:22 to 10.244.127.29:22 in Group:1 失敗しました。理由:アクティブが見つかりません
解決方法
永続的な修正がCisco Bug ID CSCwi70133で提供されるまで 回避策は、kubectl delete <configmgr-pod-name> -n <k8-name-space>を使用して、対応するAIO(オールインワン)K8sマスターノードからconfigmgrポッドを削除することです
以下に例を挙げます。
1. UPFアップグレード自動化ワークフローの事前チェックの一部として、コントローラとconfigmgrホストリストを比較するチェックを実行できます。configmgrのホストリストにホストがない場合は、configmgrポッドの削除を実行して、configmgrがコントローラから完全なホストリストを新たに取得できます。
2. UPFスイッチオーバーを手動で行っている場合は、アクティブRCMから2つのCLIコマンド出力を収集し、それらを比較して、configmgrホスト出力にホスト(アクティブ/スタンバイ)が欠落しているかどうかを確認します。いずれかのホストが見つからない場合は、RCM AIO K8sマスターノードからconfigmgr pod deleteを発行し、コントローラとconfigmgrのホストリストを再確認します。コントローラとconfigmgrでホストが一致している場合は、「コントローラからのUPFの手動スイッチオーバー」に進みます。
a) rcm show-statisticsコントローラ
b) rcm show-statistics configmgr