@@ -212,8 +212,6 @@ func (r *ClusterAddonReconciler) Reconcile(ctx context.Context, req reconcile.Re
212212 return reconcile.Result {}, fmt .Errorf ("failed to get cluster addon config path: %w" , err )
213213 }
214214
215- logger := log .FromContext (ctx )
216-
217215 // Check whether current Helm chart has been applied in the workload cluster. If not, then we need to apply the helm chart (again).
218216 // the spec.clusterStack is only set after a Helm chart from a ClusterStack has been applied successfully.
219217 // If it is not set, the Helm chart has never been applied.
@@ -372,6 +370,28 @@ func (r *ClusterAddonReconciler) Reconcile(ctx context.Context, req reconcile.Re
372370 }
373371 }
374372
373+ // create the list of old release objects
374+ oldClusterStackObjectList , err := r .getOldReleaseObjects (ctx , in , clusterAddonConfig , oldRelease )
375+ if err != nil {
376+ return reconcile.Result {}, fmt .Errorf ("failed to get old cluster stack object list from helm charts: %w" , err )
377+ }
378+
379+ newClusterStackObjectList , err := r .getNewReleaseObjects (ctx , in , clusterAddonConfig )
380+ if err != nil {
381+ return reconcile.Result {}, fmt .Errorf ("failed to get new cluster stack object list from helm charts: %w" , err )
382+ }
383+
384+ shouldRequeue , err := r .cleanUpResources (ctx , in , oldClusterStackObjectList , newClusterStackObjectList )
385+ if err != nil {
386+ return reconcile.Result {}, fmt .Errorf ("failed to clean up resources: %w" , err )
387+ }
388+ if shouldRequeue {
389+ return reconcile.Result {RequeueAfter : 20 * time .Second }, nil
390+ }
391+
392+ // set upgrade annotation once done
393+ clusterAddon .SetStageAnnotations (csov1alpha1 .StageUpgraded )
394+
375395 // Helm chart has been applied successfully
376396 conditions .MarkTrue (clusterAddon , csov1alpha1 .HelmChartAppliedCondition )
377397
@@ -404,29 +424,24 @@ func (r *ClusterAddonReconciler) Reconcile(ctx context.Context, req reconcile.Re
404424 }
405425 }
406426
407- logger .Info ("the hook is here" , "hook" , in .clusterAddon .Spec .Hook )
408-
409427 if clusterAddon .Spec .Hook == "AfterControlPlaneInitialized" || clusterAddon .Spec .Hook == "BeforeClusterUpgrade" {
410428 if clusterAddon .Spec .Hook == "BeforeClusterUpgrade" {
411429 // create the list of old release objects
412430 oldClusterStackObjectList , err := r .getOldReleaseObjects (ctx , in , clusterAddonConfig , oldRelease )
413431 if err != nil {
414432 return reconcile.Result {}, fmt .Errorf ("failed to get old cluster stack object list from helm charts: %w" , err )
415433 }
416- logger .Info ("here is the old cluster stack object list" , "list" , oldClusterStackObjectList )
417434
418435 newClusterStackObjectList , err := r .getNewReleaseObjects (ctx , in , clusterAddonConfig )
419436 if err != nil {
420437 return reconcile.Result {}, fmt .Errorf ("failed to get new cluster stack object list from helm charts: %w" , err )
421438 }
422439
423- logger .Info ("here in the clean up begins" , "currentList" , newClusterStackObjectList )
424- shouldReque , err := r .cleanUpResources (ctx , in , oldClusterStackObjectList , newClusterStackObjectList )
425- logger .Info ("here in the clean up done" , "currentList" , newClusterStackObjectList , "reque" , shouldReque )
440+ shouldRequeue , err := r .cleanUpResources (ctx , in , oldClusterStackObjectList , newClusterStackObjectList )
426441 if err != nil {
427442 return reconcile.Result {}, fmt .Errorf ("failed to clean up resources: %w" , err )
428443 }
429- if shouldReque {
444+ if shouldRequeue {
430445 return reconcile.Result {RequeueAfter : 20 * time .Second }, nil
431446 }
432447
0 commit comments