Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -369,15 +369,6 @@ func testUpgradeOperatorStateTransitions(events monitorapi.Intervals, clientConf
(condition.Status == configv1.ConditionUnknown && condition.Reason == "UpdatingPrometheusFailed") {
return "https://issues.redhat.com/browse/OCPBUGS-23745"
}
case "olm":
if condition.Type == configv1.OperatorAvailable &&
condition.Status == configv1.ConditionFalse &&
// "OperatorcontrollerDeploymentOperatorControllerControllerManager_Deploying"
// "CatalogdDeploymentCatalogdControllerManager_Deploying"
// "CatalogdDeploymentCatalogdControllerManager_Deploying::OperatorcontrollerDeploymentOperatorControllerControllerManager_Deploying"
strings.HasSuffix(condition.Reason, "ControllerManager_Deploying") {
return "https://issues.redhat.com/browse/OCPBUGS-62517"
}
case "openshift-apiserver":
if condition.Type == configv1.OperatorAvailable && condition.Status == configv1.ConditionFalse {
if isTwoNode && condition.Reason == "APIServices_PreconditionNotReady" {
Expand Down Expand Up @@ -634,12 +625,14 @@ func testUpgradeOperatorProgressingStateTransitions(events monitorapi.Intervals,
multiUpgrades := platformidentification.UpgradeNumberDuringCollection(events, time.Time{}, time.Time{}) > 1

isTwoNode := false
isSingleNode := false
if clientConfig != nil {
topology, err := getControlPlaneTopology(clientConfig)
if err != nil {
logrus.Warnf("Error checking for ControlPlaneTopology configuration for MCO co-progressing monitor (unable to apply two-node TNF exceptions): %v", err)
logrus.Warnf("Error checking for ControlPlaneTopology configuration for MCO co-progressing monitor (unable to apply topology exceptions): %v", err)
} else {
isTwoNode = topology == configv1.HighlyAvailableArbiterMode || topology == configv1.DualReplicaTopologyMode
isSingleNode = topology == configv1.SingleReplicaTopologyMode
}
}

Expand Down Expand Up @@ -802,11 +795,17 @@ func testUpgradeOperatorProgressingStateTransitions(events monitorapi.Intervals,
case "olm":
// CatalogdDeploymentCatalogdControllerManager_Deploying
// OperatorcontrollerDeploymentOperatorControllerControllerManager_Deploying
if strings.HasSuffix(reason, "ControllerManager_Deploying") {
// On HA, cluster-olm-operator PR #202 (2 replicas + PDB) prevents this.
// On SNO there is only one replica and the node reboot restarts all pods simultaneously.
if strings.HasSuffix(reason, "ControllerManager_Deploying") && isSingleNode {
return "https://issues.redhat.com/browse/OCPBUGS-62635"
}
case "operator-lifecycle-manager-packageserver":
if reason == "" {
// On HA, isAPIServiceBackendDisrupted() in operator-framework-olm detects terminating
// pods and returns RetryableError to prevent the CSV phase from changing to Failed.
// On SNO the OS-level node reboot kills all pods simultaneously so no terminating pod
// is ever observed; the detection does not fire and Progressing=True is still set.
if reason == "" && isSingleNode {
return "https://issues.redhat.com/browse/OCPBUGS-63672"
}
case "openshift-apiserver":
Expand Down