Skip to content

Commit 3c78b02

Browse files
committed
Do not rm MinorUpdateAvailable condition
Instead of removing the condtion, let's set it to False, with severity Info and a message "AtLatestKnown". With the CLI it is not possible to wait for a condition to be removed, With this change we can do wait --for condition=MinorUpdateAvailable=True Patch the targetVersion and wait for: wait --for condition=MinorUpdateAvailable=False
1 parent c1cdd8c commit 3c78b02

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

apis/core/v1beta1/conditions.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,4 +540,13 @@ const (
540540

541541
// OpenStackVersionMinorUpdateAvailableMessage
542542
OpenStackVersionMinorUpdateAvailableMessage = "update available"
543+
544+
// OpenStackVersionMinorUpdateAtLatestKnownMessage
545+
OpenStackVersionMinorUpdateAtLatestKnownMessage = "at latest known"
546+
)
547+
548+
// Reasons used for API objects.
549+
const (
550+
// OpenStackVersionMinorUpdateAtLatestKnownReason
551+
OpenStackVersionMinorUpdateAtLatestKnownReason = "AtLatestKnown"
543552
)

controllers/core/openstackversion_controller.go

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ func (r *OpenStackVersionReconciler) Reconcile(ctx context.Context, req ctrl.Req
172172
*condition.UnknownCondition(corev1beta1.OpenStackVersionMinorUpdateKeystone, condition.InitReason, string(corev1beta1.OpenStackVersionMinorUpdateInitMessage)),
173173
*condition.UnknownCondition(corev1beta1.OpenStackVersionMinorUpdateControlplane, condition.InitReason, string(corev1beta1.OpenStackVersionMinorUpdateInitMessage)),
174174
*condition.UnknownCondition(corev1beta1.OpenStackVersionMinorUpdateDataplane, condition.InitReason, string(corev1beta1.OpenStackVersionMinorUpdateInitMessage)),
175+
*condition.UnknownCondition(corev1beta1.OpenStackVersionMinorUpdateAvailable, condition.InitReason, string(corev1beta1.OpenStackVersionMinorUpdateInitMessage)),
175176
)
176177
}
177178
instance.Status.Conditions.Init(&cl)
@@ -392,13 +393,19 @@ func (r *OpenStackVersionReconciler) Reconcile(ctx context.Context, req ctrl.Req
392393
Log.Info("Setting DeployedVersion")
393394
instance.Status.DeployedVersion = &instance.Spec.TargetVersion
394395
}
395-
if instance.Status.DeployedVersion != nil &&
396-
*instance.Status.AvailableVersion != *instance.Status.DeployedVersion {
397-
instance.Status.Conditions.Set(condition.TrueCondition(
398-
corev1beta1.OpenStackVersionMinorUpdateAvailable,
399-
corev1beta1.OpenStackVersionMinorUpdateAvailableMessage))
400-
} else {
401-
instance.Status.Conditions.Remove(corev1beta1.OpenStackVersionMinorUpdateAvailable)
396+
397+
if instance.Status.DeployedVersion != nil {
398+
if *instance.Status.AvailableVersion != *instance.Status.DeployedVersion {
399+
instance.Status.Conditions.Set(condition.TrueCondition(
400+
corev1beta1.OpenStackVersionMinorUpdateAvailable,
401+
corev1beta1.OpenStackVersionMinorUpdateAvailableMessage))
402+
} else {
403+
instance.Status.Conditions.Set(condition.FalseCondition(
404+
corev1beta1.OpenStackVersionMinorUpdateAvailable,
405+
corev1beta1.OpenStackVersionMinorUpdateAtLatestKnownReason,
406+
condition.SeverityInfo,
407+
corev1beta1.OpenStackVersionMinorUpdateAvailableMessage))
408+
}
402409
}
403410

404411
return ctrl.Result{}, nil

0 commit comments

Comments
 (0)