@@ -94,8 +94,7 @@ func (r *ReconfigureReconciler) Reconcile(ctx context.Context, req ctrl.Request)
9494 }
9595
9696 config := & corev1.ConfigMap {}
97- // TODO(leon): data or universal?
98- if err := r .Client .Get (reqCtx .Ctx , reqCtx .Req .NamespacedName , config , inDataContextUnspecified ()); err != nil {
97+ if err := r .Client .Get (reqCtx .Ctx , reqCtx .Req .NamespacedName , config ); err != nil {
9998 return intctrlutil .CheckedRequeueWithError (err , reqCtx .Log , "" )
10099 }
101100 if model .IsObjectDeleting (config ) {
@@ -232,12 +231,12 @@ func (r *ReconfigureReconciler) sync(reqCtx intctrlutil.RequestCtx, configMap *c
232231 return r .performUpgrade (rctx , tasks )
233232}
234233
235- func (r * ReconfigureReconciler ) genReconfigureActionTasks (templateSpec * appsv1.ComponentFileTemplate , rctx * ReconcileContext , patch * core.ConfigPatchInfo , restart bool ) ([]ReloadAction , error ) {
236- var tasks []ReloadAction
234+ func (r * ReconfigureReconciler ) genReconfigureActionTasks (templateSpec * appsv1.ComponentFileTemplate , rctx * ReconcileContext , patch * core.ConfigPatchInfo , restart bool ) ([]reconfigureTask , error ) {
235+ var tasks []reconfigureTask
237236
238237 // If the patch or ConfigRender is nil, return a single restart task.
239238 if patch == nil || rctx .ConfigRender == nil {
240- return []ReloadAction {r .buildRestartTask (templateSpec , rctx )}, nil
239+ return []reconfigureTask {r .buildRestartTask (templateSpec , rctx )}, nil
241240 }
242241
243242 // needReloadAction determines if a reload action is needed based on the ParametersDefinition and ReloadPolicy.
@@ -268,7 +267,7 @@ func (r *ReconfigureReconciler) genReconfigureActionTasks(templateSpec *appsv1.C
268267
269268 // If no tasks were added, return a single restart task.
270269 if len (tasks ) == 0 {
271- return []ReloadAction {r .buildRestartTask (templateSpec , rctx )}, nil
270+ return []reconfigureTask {r .buildRestartTask (templateSpec , rctx )}, nil
272271 }
273272
274273 return tasks , nil
@@ -279,7 +278,7 @@ func (r *ReconfigureReconciler) buildReloadTask(policy parametersv1alpha1.Reload
279278 rctx * ReconcileContext ,
280279 pd * parametersv1alpha1.ParametersDefinition ,
281280 configDescription * parametersv1alpha1.ComponentConfigDescription ,
282- patch * core.ConfigPatchInfo ) ReloadAction {
281+ patch * core.ConfigPatchInfo ) reconfigureTask {
283282 reCtx := reconfigureContext {
284283 RequestCtx : rctx .RequestCtx ,
285284 Client : rctx .Client ,
@@ -294,13 +293,12 @@ func (r *ReconfigureReconciler) buildReloadTask(policy parametersv1alpha1.Reload
294293 ReconfigureClientFactory : getClientFactory (),
295294 Patch : patch ,
296295 }
297-
298- return reconfigureTask {ReloadPolicy : policy , taskCtx : reCtx }
296+ return reconfigureTask {policy : policy , taskCtx : reCtx }
299297}
300298
301- func (r * ReconfigureReconciler ) buildRestartTask (configTemplate * appsv1.ComponentFileTemplate , rctx * ReconcileContext ) ReloadAction {
299+ func (r * ReconfigureReconciler ) buildRestartTask (configTemplate * appsv1.ComponentFileTemplate , rctx * ReconcileContext ) reconfigureTask {
302300 return reconfigureTask {
303- ReloadPolicy : parametersv1alpha1 .RestartPolicy ,
301+ policy : parametersv1alpha1 .RestartPolicy ,
304302 taskCtx : reconfigureContext {
305303 RequestCtx : rctx .RequestCtx ,
306304 Client : rctx .Client ,
@@ -350,19 +348,20 @@ func (r *ReconfigureReconciler) updateConfigCMStatus(reqCtx intctrlutil.RequestC
350348 return intctrlutil .Reconciled ()
351349}
352350
353- func (r * ReconfigureReconciler ) performUpgrade (rctx * ReconcileContext , reloadTasks []ReloadAction ) (ctrl.Result , error ) {
354- var err error
355- var returnedStatus returnedStatus
356- var reloadType string
357-
358- for _ , task := range reloadTasks {
359- reloadType = task .ReloadType ()
360- returnedStatus , err = task .ExecReload ()
361- if err != nil || returnedStatus .Status != ESNone {
362- return r .status (rctx , returnedStatus , reloadType , err )
351+ func (r * ReconfigureReconciler ) performUpgrade (rctx * ReconcileContext , tasks []reconfigureTask ) (ctrl.Result , error ) {
352+ var (
353+ err error
354+ policy string
355+ status returnedStatus
356+ )
357+ for _ , task := range tasks {
358+ policy = string (task .policy )
359+ status , err = task .reconfigure ()
360+ if err != nil || status .Status != ESNone {
361+ return r .status (rctx , status , policy , err )
363362 }
364363 }
365- return r .succeed (rctx , reloadType , returnedStatus )
364+ return r .succeed (rctx , policy , status )
366365}
367366
368367func (r * ReconfigureReconciler ) status (rctx * ReconcileContext , returnedStatus returnedStatus , policy string , err error ) (ctrl.Result , error ) {
@@ -384,13 +383,12 @@ func (r *ReconfigureReconciler) status(rctx *ReconcileContext, returnedStatus re
384383 }
385384}
386385
387- func (r * ReconfigureReconciler ) succeed (rctx * ReconcileContext , reloadType string , returnedStatus returnedStatus ) (ctrl.Result , error ) {
386+ func (r * ReconfigureReconciler ) succeed (rctx * ReconcileContext , policy string , status returnedStatus ) (ctrl.Result , error ) {
388387 rctx .Recorder .Eventf (rctx .ConfigMap ,
389388 corev1 .EventTypeNormal ,
390389 appsv1alpha1 .ReasonReconfigureSucceed ,
391390 "the reconfigure[%s] has been processed successfully" ,
392- reloadType )
393-
394- result := reconciled (returnedStatus , reloadType , parametersv1alpha1 .CFinishedPhase )
395- return r .updateConfigCMStatus (rctx .RequestCtx , rctx .ConfigMap , reloadType , & result )
391+ policy )
392+ result := reconciled (status , policy , parametersv1alpha1 .CFinishedPhase )
393+ return r .updateConfigCMStatus (rctx .RequestCtx , rctx .ConfigMap , policy , & result )
396394}
0 commit comments