Skip to content

Commit

Permalink
pao:controller: generalize functions to accept client.object
Browse files Browse the repository at this point in the history
On hypershift we would accept ConfigMap and not the PerformanceProfile.

Having this change allows handling both cases.
  • Loading branch information
Tal-or committed Apr 18, 2024
1 parent 46a2662 commit 359550d
Showing 1 changed file with 7 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ func (r *PerformanceProfileReconciler) Reconcile(ctx context.Context, req ctrl.R
return reconcile.Result{}, err
}

if instance.DeletionTimestamp != nil {
if instance.GetDeletionTimestamp() != nil {
// delete components
if err := r.ComponentsHandler.Delete(ctx, instance.GetName()); err != nil {
klog.Errorf("failed to delete components: %v", err)
Expand All @@ -375,14 +375,13 @@ func (r *PerformanceProfileReconciler) Reconcile(ctx context.Context, req ctrl.R
if err := r.Update(ctx, instance); err != nil {
return reconcile.Result{}, err
}

return reconcile.Result{}, nil
}
}

// add finalizer
if !hasFinalizer(instance, finalizer) {
instance.Finalizers = append(instance.Finalizers, finalizer)
instance.SetFinalizers(append(instance.GetFinalizers(), finalizer))
instance.Status.Conditions = status.GetProgressingConditions("DeploymentStarting", "Deployment is starting")
if err := r.Update(ctx, instance); err != nil {
return reconcile.Result{}, err
Expand Down Expand Up @@ -449,8 +448,8 @@ func (r *PerformanceProfileReconciler) isMixedCPUsEnabled(profile *performancev2
return profileutil.IsMixedCPUsEnabled(profile)
}

func hasFinalizer(profile *performancev2.PerformanceProfile, finalizer string) bool {
for _, f := range profile.Finalizers {
func hasFinalizer(obj client.Object, finalizer string) bool {
for _, f := range obj.GetFinalizers() {
if f == finalizer {
return true
}
Expand Down Expand Up @@ -486,15 +485,15 @@ func (r *PerformanceProfileReconciler) getAndValidateMCP(ctx context.Context, in
return profileMCP, nil, nil
}

func removeFinalizer(profile *performancev2.PerformanceProfile, finalizer string) {
func removeFinalizer(obj client.Object, finalizer string) {
var finalizers []string
for _, f := range profile.Finalizers {
for _, f := range obj.GetFinalizers() {
if f == finalizer {
continue
}
finalizers = append(finalizers, f)
}
profile.Finalizers = finalizers
obj.SetFinalizers(finalizers)
}

func namespacedName(obj metav1.Object) types.NamespacedName {
Expand Down

0 comments on commit 359550d

Please sign in to comment.