Skip to content

Commit 32e6fdb

Browse files
committed
Re-init conditions for each reconcile
This patch is part of the updates/upgrades related effort, and as proposed for other operators, it re-init the conditions when a reconcile is performed. By doing this we can catch issues and set conditions to False if a requirement is not met. Signed-off-by: Francesco Pantano <[email protected]>
1 parent ca21186 commit 32e6fdb

File tree

2 files changed

+34
-41
lines changed

2 files changed

+34
-41
lines changed

controllers/glance_controller.go

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -152,31 +152,28 @@ func (r *GlanceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (res
152152
//
153153
// initialize status
154154
//
155-
if instance.Status.Conditions == nil {
156-
instance.Status.Conditions = condition.Conditions{}
157-
// initialize conditions used later as Status=Unknown
158-
cl := condition.CreateList(
159-
condition.UnknownCondition(condition.DBReadyCondition, condition.InitReason, condition.DBReadyInitMessage),
160-
condition.UnknownCondition(condition.DBSyncReadyCondition, condition.InitReason, condition.DBSyncReadyInitMessage),
161-
condition.UnknownCondition(condition.MemcachedReadyCondition, condition.InitReason, condition.MemcachedReadyInitMessage),
162-
condition.UnknownCondition(condition.InputReadyCondition, condition.InitReason, condition.InputReadyInitMessage),
163-
condition.UnknownCondition(condition.ServiceConfigReadyCondition, condition.InitReason, condition.ServiceConfigReadyInitMessage),
164-
condition.UnknownCondition(glancev1.GlanceAPIReadyCondition, condition.InitReason, glancev1.GlanceAPIReadyInitMessage),
165-
// right now we have no dedicated KeystoneServiceReadyInitMessage
166-
condition.UnknownCondition(condition.KeystoneServiceReadyCondition, condition.InitReason, ""),
167-
condition.UnknownCondition(condition.NetworkAttachmentsReadyCondition, condition.InitReason, condition.NetworkAttachmentsReadyInitMessage),
168-
// service account, role, rolebinding conditions
169-
condition.UnknownCondition(condition.ServiceAccountReadyCondition, condition.InitReason, condition.ServiceAccountReadyInitMessage),
170-
condition.UnknownCondition(condition.RoleReadyCondition, condition.InitReason, condition.RoleReadyInitMessage),
171-
condition.UnknownCondition(condition.RoleBindingReadyCondition, condition.InitReason, condition.RoleBindingReadyInitMessage),
172-
condition.UnknownCondition(condition.CronJobReadyCondition, condition.InitReason, condition.CronJobReadyInitMessage),
173-
)
155+
//if instance.Status.Conditions == nil {
156+
instance.Status.Conditions = condition.Conditions{}
157+
// initialize conditions used later as Status=Unknown
158+
cl := condition.CreateList(
159+
condition.UnknownCondition(condition.DBReadyCondition, condition.InitReason, condition.DBReadyInitMessage),
160+
condition.UnknownCondition(condition.DBSyncReadyCondition, condition.InitReason, condition.DBSyncReadyInitMessage),
161+
condition.UnknownCondition(condition.MemcachedReadyCondition, condition.InitReason, condition.MemcachedReadyInitMessage),
162+
condition.UnknownCondition(condition.InputReadyCondition, condition.InitReason, condition.InputReadyInitMessage),
163+
condition.UnknownCondition(condition.ServiceConfigReadyCondition, condition.InitReason, condition.ServiceConfigReadyInitMessage),
164+
condition.UnknownCondition(glancev1.GlanceAPIReadyCondition, condition.InitReason, glancev1.GlanceAPIReadyInitMessage),
165+
// right now we have no dedicated KeystoneServiceReadyInitMessage
166+
condition.UnknownCondition(condition.KeystoneServiceReadyCondition, condition.InitReason, ""),
167+
condition.UnknownCondition(condition.NetworkAttachmentsReadyCondition, condition.InitReason, condition.NetworkAttachmentsReadyInitMessage),
168+
// service account, role, rolebinding conditions
169+
condition.UnknownCondition(condition.ServiceAccountReadyCondition, condition.InitReason, condition.ServiceAccountReadyInitMessage),
170+
condition.UnknownCondition(condition.RoleReadyCondition, condition.InitReason, condition.RoleReadyInitMessage),
171+
condition.UnknownCondition(condition.RoleBindingReadyCondition, condition.InitReason, condition.RoleBindingReadyInitMessage),
172+
condition.UnknownCondition(condition.CronJobReadyCondition, condition.InitReason, condition.CronJobReadyInitMessage),
173+
)
174174

175-
instance.Status.Conditions.Init(&cl)
175+
instance.Status.Conditions.Init(&cl)
176176

177-
// Register overall status immediately to have an early feedback e.g. in the cli
178-
return ctrl.Result{}, nil
179-
}
180177
if instance.Status.Hash == nil {
181178
instance.Status.Hash = map[string]string{}
182179
}

controllers/glanceapi_controller.go

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -149,26 +149,22 @@ func (r *GlanceAPIReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
149149
//
150150
// initialize status
151151
//
152-
if instance.Status.Conditions == nil {
153-
instance.Status.Conditions = condition.Conditions{}
154-
// initialize conditions used later as Status=Unknown
155-
cl := condition.CreateList(
156-
condition.UnknownCondition(condition.ExposeServiceReadyCondition, condition.InitReason, condition.ExposeServiceReadyInitMessage),
157-
condition.UnknownCondition(condition.InputReadyCondition, condition.InitReason, condition.InputReadyInitMessage),
158-
condition.UnknownCondition(condition.ServiceConfigReadyCondition, condition.InitReason, condition.ServiceConfigReadyInitMessage),
159-
condition.UnknownCondition(condition.DeploymentReadyCondition, condition.InitReason, condition.DeploymentReadyInitMessage),
160-
condition.UnknownCondition(condition.TLSInputReadyCondition, condition.InitReason, condition.InputReadyInitMessage),
161-
// right now we have no dedicated KeystoneEndpointReadyInitMessage
162-
condition.UnknownCondition(condition.KeystoneEndpointReadyCondition, condition.InitReason, ""),
163-
condition.UnknownCondition(condition.NetworkAttachmentsReadyCondition, condition.InitReason, condition.NetworkAttachmentsReadyInitMessage),
164-
condition.UnknownCondition(condition.CronJobReadyCondition, condition.InitReason, condition.CronJobReadyInitMessage),
165-
)
152+
instance.Status.Conditions = condition.Conditions{}
153+
// initialize conditions used later as Status=Unknown
154+
cl := condition.CreateList(
155+
condition.UnknownCondition(condition.ExposeServiceReadyCondition, condition.InitReason, condition.ExposeServiceReadyInitMessage),
156+
condition.UnknownCondition(condition.InputReadyCondition, condition.InitReason, condition.InputReadyInitMessage),
157+
condition.UnknownCondition(condition.ServiceConfigReadyCondition, condition.InitReason, condition.ServiceConfigReadyInitMessage),
158+
condition.UnknownCondition(condition.DeploymentReadyCondition, condition.InitReason, condition.DeploymentReadyInitMessage),
159+
condition.UnknownCondition(condition.TLSInputReadyCondition, condition.InitReason, condition.InputReadyInitMessage),
160+
// right now we have no dedicated KeystoneEndpointReadyInitMessage
161+
condition.UnknownCondition(condition.KeystoneEndpointReadyCondition, condition.InitReason, ""),
162+
condition.UnknownCondition(condition.NetworkAttachmentsReadyCondition, condition.InitReason, condition.NetworkAttachmentsReadyInitMessage),
163+
condition.UnknownCondition(condition.CronJobReadyCondition, condition.InitReason, condition.CronJobReadyInitMessage),
164+
)
166165

167-
instance.Status.Conditions.Init(&cl)
166+
instance.Status.Conditions.Init(&cl)
168167

169-
// Register overall status immediately to have an early feedback e.g. in the cli
170-
return ctrl.Result{}, nil
171-
}
172168
if instance.Status.Hash == nil {
173169
instance.Status.Hash = map[string]string{}
174170
}

0 commit comments

Comments
 (0)