diff --git a/orchagent/dash/dashhaorch.cpp b/orchagent/dash/dashhaorch.cpp index 9d90e03193..3ef8b778b2 100644 --- a/orchagent/dash/dashhaorch.cpp +++ b/orchagent/dash/dashhaorch.cpp @@ -651,6 +651,9 @@ bool DashHaOrch::setHaScopeFlowReconcileRequest(const std::string &key) } SWSS_LOG_NOTICE("Set HA Scope flow reconcile request for %s", key.c_str()); + std::vector fvs = {{"flow_reconcile_pending", "false"}}; + m_dpuStateDbHaScopeTable->set(key, fvs); + return true; } @@ -678,6 +681,9 @@ bool DashHaOrch::setHaScopeActivateRoleRequest(const std::string &key) } SWSS_LOG_NOTICE("Set HA Scope activate role request for %s", key.c_str()); + std::vector fvs = {{"activate_role_pending", "false"}}; + m_dpuStateDbHaScopeTable->set(key, fvs); + return true; } @@ -1026,6 +1032,13 @@ void DashHaOrch::doTask(NotificationConsumer &consumer) fvs.push_back({"activate_role_pending", "true"}); SWSS_LOG_NOTICE("DPU is pending on role activation for %s", key.c_str()); } + else if (in(ha_scope_event[i].ha_state, {SAI_DASH_HA_STATE_STANDALONE, + SAI_DASH_HA_STATE_ACTIVE, + SAI_DASH_HA_STATE_STANDBY})) + { + fvs.push_back({"brainsplit_recover_pending", "false"}); + SWSS_LOG_NOTICE("DPU reached stable HA state for %s", key.c_str()); + } fvs.push_back({"ha_state", sai_ha_state_name.at(ha_scope_event[i].ha_state)}); fvs.push_back({"ha_state_start_time", to_string(now_time)});