はじめに
このドキュメントでは、configmgrにホストエントリがないために発生するRCMベースのUPFアップグレードエラーについて説明します。
問題
RCM (Redundancy Configuration Manager)コントローラがUPF 1 (アクティブ)からUPF 2 (スタンバイ)への計画的なUPF (ユーザープレーン機能)スイッチオーバーを開始すると、configmgrのホストリストにはUPF 1とUPF 2の両方が含まれます。ただし、何らかの理由で、configmgrのアクティブホストリストにアクティブUPF 1が含まれないため、コントローラのホストリストと矛盾します。
このような状態でRCMがUPF 1のUPF 2へのスイッチオーバーをトリガーすると、スイッチオーバープロセスが開始されます。スイッチオーバープロセス中に、configmgrはホストリスト内でアクティブ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)アクティブRCMオペレーションセンターにログインします。
b)コマンドrcm show-snmp-trap historyを実行します。
c) snmpトラップの内容を確認します。
スイッチオーバー障害2024-01-18T05:19:45.Z 2024-01-18T05:19:45.Z rz 10.244.127.23:22 から10.244.127.29:22 in Group:1 Failed!理由:アクティブが見つかりません
解決方法
永続的な修正が行われるまでは、Cisco Bug ID CSCwi70133 回避策は、kubectl delete <configmgr-pod-name> -n <k8-name-space>を使用して、対応するAIO(オールインワン)K8sマスターノードからconfigmgrポッドを削除することです
例:
1. UPFアップグレード自動化ワークフローの事前チェックの一部として、コントローラとconfigmgrホストリストを比較するためのチェックを実行できます。ホストがconfigmgrホストリストにない場合は、configmgr pod deleteを実行して、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