Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
36 changes: 18 additions & 18 deletions pkg/cvo/cvo_scenarios_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ func TestCVO_StartupAndSync(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionTrue, Message: "Working towards 1.0.0-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -420,7 +420,7 @@ func TestCVO_StartupAndSync(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionFalse, Message: "Cluster version is 1.0.0-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -657,7 +657,7 @@ func TestCVO_StartupAndSyncUnverifiedPayload(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionTrue, Message: "Working towards 1.0.0-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -826,7 +826,7 @@ func TestCVO_StartupAndSyncUnverifiedPayload(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionFalse, Message: "Cluster version is 1.0.0-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -1061,7 +1061,7 @@ func TestCVO_StartupAndSyncPreconditionFailing(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionTrue, Message: "Working towards 1.0.0-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -1225,7 +1225,7 @@ func TestCVO_StartupAndSyncPreconditionFailing(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionFalse, Message: "Cluster version is 1.0.0-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -1471,7 +1471,7 @@ func TestCVO_UpgradeUnverifiedPayload(t *testing.T) {
},
Conditions: []configv1.ClusterOperatorStatusCondition{
{Type: internal.ImplicitlyEnabledCapabilities, Status: "False", Reason: "AsExpected", Message: "Capabilities match configured spec"},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionFalse, Reason: "RetrievePayload",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionFalse, Reason: "RetrievePayload",
Message: "Retrieving payload failed version=\"1.0.1-abc\" image=\"image/image:1\" failure=The update cannot be verified: some random error"},
{Type: "Available", Status: "False"},
{Type: "Failing", Status: "False"},
Expand Down Expand Up @@ -1602,7 +1602,7 @@ func TestCVO_UpgradeUnverifiedPayload(t *testing.T) {
},
Conditions: []configv1.ClusterOperatorStatusCondition{
{Type: internal.ImplicitlyEnabledCapabilities, Status: "False", Reason: "AsExpected", Message: "Capabilities match configured spec"},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.1-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
{Type: configv1.OperatorAvailable, Status: configv1.ConditionTrue, Message: "Done applying 1.0.1-abc"},
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
Expand Down Expand Up @@ -1730,7 +1730,7 @@ func TestCVO_ResetPayloadLoadStatus(t *testing.T) {
},
Conditions: []configv1.ClusterOperatorStatusCondition{
{Type: internal.ImplicitlyEnabledCapabilities, Status: "False", Reason: "AsExpected", Message: "Capabilities match configured spec"},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionFalse, Reason: "RetrievePayload",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionFalse, Reason: "RetrievePayload",
Message: "Retrieving payload failed version=\"1.0.1-abc\" image=\"image/image:1\" failure=The update cannot be verified: some random error"},
{Type: "Available", Status: "False"},
{Type: "Failing", Status: "False"},
Expand Down Expand Up @@ -1849,7 +1849,7 @@ func TestCVO_ResetPayloadLoadStatus(t *testing.T) {
},
Conditions: []configv1.ClusterOperatorStatusCondition{
{Type: internal.ImplicitlyEnabledCapabilities, Status: "False", Reason: "AsExpected", Message: "Capabilities match configured spec"},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:0\""},
{Type: "Available", Status: "False"},
{Type: "Failing", Status: "False"},
Expand Down Expand Up @@ -2132,7 +2132,7 @@ func TestCVO_InitImplicitlyEnabledCaps(t *testing.T) {
},
Conditions: []configv1.ClusterOperatorStatusCondition{
{Type: internal.ImplicitlyEnabledCapabilities, Status: configv1.ConditionTrue, Reason: "CapabilitiesImplicitlyEnabled", Message: "The following capabilities could not be disabled: Build, CSISnapshot, CloudControllerManager, CloudCredential, Console, DeploymentConfig, ImageRegistry, Ingress, Insights, MachineAPI, NodeTuning, OperatorLifecycleManager, OperatorLifecycleManagerV1, Storage, marketplace, openshift-samples"},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.1-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
{Type: "Available", Status: "False"},
{Type: "Failing", Status: "False"},
Expand Down Expand Up @@ -2269,7 +2269,7 @@ func TestCVO_UpgradeUnverifiedPayloadRetrieveOnce(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionTrue, Message: "Working towards 1.0.1-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionFalse, Reason: "RetrievePayload",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionFalse, Reason: "RetrievePayload",
Message: "Retrieving payload failed version=\"1.0.1-abc\" image=\"image/image:1\" failure=The update cannot be verified: some random error"},
},
},
Expand Down Expand Up @@ -2401,7 +2401,7 @@ func TestCVO_UpgradeUnverifiedPayloadRetrieveOnce(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionFalse, Message: "Cluster version is 1.0.1-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.1-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -2709,7 +2709,7 @@ func TestCVO_UpgradePreconditionFailing(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionFalse, Message: "Cluster version is 1.0.1-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.1-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -2953,7 +2953,7 @@ func TestCVO_UpgradePayloadStillInitializing(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionFalse},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionFalse, Message: "Cluster version is 1.0.0-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: `Payload loaded version="1.0.0-abc" image="image/image:0" architecture="` + architecture + `"`},
},
},
Expand Down Expand Up @@ -3057,7 +3057,7 @@ func TestCVO_UpgradeVerifiedPayload(t *testing.T) {
// set progressing
{Type: configv1.OperatorProgressing, Status: configv1.ConditionTrue, Message: "Working towards 1.0.1-abc"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.1-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -3645,7 +3645,7 @@ func TestCVO_ErrorDuringReconcile(t *testing.T) {
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionTrue, Reason: "UpdatePayloadFailed", Message: "Could not update test \"file-yml\" (3 of 3)"},
{Type: configv1.OperatorProgressing, Status: configv1.ConditionFalse, Reason: "UpdatePayloadFailed", Message: "Error while reconciling 1.0.0-abc: the update could not be applied"},
{Type: configv1.RetrievedUpdates, Status: configv1.ConditionFalse},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
},
},
Expand Down Expand Up @@ -3849,7 +3849,7 @@ func TestCVO_ParallelError(t *testing.T) {
},
Conditions: []configv1.ClusterOperatorStatusCondition{
{Type: internal.ImplicitlyEnabledCapabilities, Status: "False", Reason: "AsExpected", Message: "Capabilities match configured spec"},
{Type: internal.DesiredReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
{Type: internal.ReleaseAccepted, Status: configv1.ConditionTrue, Reason: "PayloadLoaded",
Message: "Payload loaded version=\"1.0.0-abc\" image=\"image/image:1\" architecture=\"" + architecture + "\""},
{Type: configv1.OperatorAvailable, Status: configv1.ConditionFalse},
{Type: internal.ClusterStatusFailing, Status: configv1.ConditionTrue, Message: "Failed to reconcile 20-b-file resource"},
Expand Down
6 changes: 3 additions & 3 deletions pkg/cvo/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@ func setImplicitlyEnabledCapabilitiesCondition(cvStatus *configv1.ClusterVersion
func setDesiredReleaseAcceptedCondition(cvStatus *configv1.ClusterVersionStatus, status LoadPayloadStatus, now metav1.Time) {
if status.Step == "PayloadLoaded" {
resourcemerge.SetOperatorStatusCondition(&cvStatus.Conditions, configv1.ClusterOperatorStatusCondition{
Type: internal.DesiredReleaseAccepted,
Type: internal.ReleaseAccepted,
Status: configv1.ConditionTrue,
Reason: status.Step,
Message: status.Message,
Expand All @@ -492,15 +492,15 @@ func setDesiredReleaseAcceptedCondition(cvStatus *configv1.ClusterVersionStatus,
} else if status.Step != "" {
if status.Failure != nil {
resourcemerge.SetOperatorStatusCondition(&cvStatus.Conditions, configv1.ClusterOperatorStatusCondition{
Type: internal.DesiredReleaseAccepted,
Type: internal.ReleaseAccepted,
Status: configv1.ConditionFalse,
Reason: status.Step,
Message: status.Message,
LastTransitionTime: now,
})
} else {
resourcemerge.SetOperatorStatusCondition(&cvStatus.Conditions, configv1.ClusterOperatorStatusCondition{
Type: internal.DesiredReleaseAccepted,
Type: internal.ReleaseAccepted,
Status: configv1.ConditionUnknown,
Reason: status.Step,
Message: status.Message,
Expand Down
2 changes: 1 addition & 1 deletion pkg/cvo/upgradeable.go
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ func (optr *Operator) adminGatesEventHandler() cache.ResourceEventHandler {
//
// The cv parameter is expected to be non-nil.
func (intervals *upgradeableCheckIntervals) throttlePeriod(cv *configv1.ClusterVersion) time.Duration {
if cond := resourcemerge.FindOperatorStatusCondition(cv.Status.Conditions, internal.DesiredReleaseAccepted); cond != nil {
if cond := resourcemerge.FindOperatorStatusCondition(cv.Status.Conditions, internal.ReleaseAccepted); cond != nil {
deadline := cond.LastTransitionTime.Time.Add(intervals.afterPreconditionsFailed)
if cond.Reason == "PreconditionChecks" && cond.Status == configv1.ConditionFalse && time.Now().Before(deadline) {
return intervals.minOnFailedPreconditions
Expand Down
8 changes: 4 additions & 4 deletions pkg/cvo/upgradeable_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,18 @@ func TestUpgradeableCheckIntervalsThrottlePeriod(t *testing.T) {
},
{
name: "passing preconditions",
condition: &configv1.ClusterOperatorStatusCondition{Type: internal.DesiredReleaseAccepted, Reason: "PreconditionChecks", Status: configv1.ConditionTrue, LastTransitionTime: metav1.Now()},
condition: &configv1.ClusterOperatorStatusCondition{Type: internal.ReleaseAccepted, Reason: "PreconditionChecks", Status: configv1.ConditionTrue, LastTransitionTime: metav1.Now()},
expected: intervals.min,
},
{
name: "failing but not precondition",
condition: &configv1.ClusterOperatorStatusCondition{Type: internal.DesiredReleaseAccepted, Reason: "NotPreconditionChecks", Status: configv1.ConditionFalse, LastTransitionTime: metav1.Now()},
condition: &configv1.ClusterOperatorStatusCondition{Type: internal.ReleaseAccepted, Reason: "NotPreconditionChecks", Status: configv1.ConditionFalse, LastTransitionTime: metav1.Now()},
expected: intervals.min,
},
{
name: "failing preconditions but too long ago",
condition: &configv1.ClusterOperatorStatusCondition{
Type: internal.DesiredReleaseAccepted,
Type: internal.ReleaseAccepted,
Reason: "PreconditionChecks",
Status: configv1.ConditionFalse,
LastTransitionTime: metav1.NewTime(time.Now().Add(-(intervals.afterPreconditionsFailed + time.Hour))),
Expand All @@ -45,7 +45,7 @@ func TestUpgradeableCheckIntervalsThrottlePeriod(t *testing.T) {
},
{
name: "failing preconditions recently",
condition: &configv1.ClusterOperatorStatusCondition{Type: internal.DesiredReleaseAccepted, Reason: "PreconditionChecks", Status: configv1.ConditionFalse, LastTransitionTime: metav1.Now()},
condition: &configv1.ClusterOperatorStatusCondition{Type: internal.ReleaseAccepted, Reason: "PreconditionChecks", Status: configv1.ConditionFalse, LastTransitionTime: metav1.Now()},
expected: intervals.minOnFailedPreconditions,
},
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/internal/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ const (
// condition is set.
ClusterVersionInvalid configv1.ClusterStatusConditionType = "Invalid"

// DesiredReleaseAccepted indicates whether the requested (desired) release payload was successfully loaded
// ReleaseAccepted indicates whether the requested (desired) release payload was successfully loaded
// and no failures occurred during image verification and precondition checking.
DesiredReleaseAccepted configv1.ClusterStatusConditionType = "ReleaseAccepted"
ReleaseAccepted configv1.ClusterStatusConditionType = "ReleaseAccepted"

// ImplicitlyEnabledCapabilities is True if there are enabled capabilities which the user is not currently
// requesting via spec.capabilities, because the cluster version operator does not support uninstalling
Expand Down