Skip to content

Commit

Permalink
Reused func used in pipeline controller also on isbs controller.
Browse files Browse the repository at this point in the history
Signed-off-by: Antonino Fugazzotto <[email protected]>
  • Loading branch information
afugazzotto committed Jun 10, 2024
1 parent ee72fab commit 291c266
Showing 1 changed file with 13 additions and 16 deletions.
29 changes: 13 additions & 16 deletions internal/controller/isbservicerollout_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (

"k8s.io/apimachinery/pkg/api/equality"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/rest"
ctrl "sigs.k8s.io/controller-runtime"
Expand Down Expand Up @@ -143,29 +142,27 @@ func (r *ISBServiceRolloutReconciler) reconcile(ctx context.Context, isbServiceR
controllerutil.AddFinalizer(isbServiceRollout, finalizerName)
}

// apply ISBService
// todo: store hash of spec in annotation; use to compare to determine if anything needs to be updated
obj := kubernetes.GenericObject{
TypeMeta: metav1.TypeMeta{
Kind: "InterStepBufferService",
APIVersion: "numaflow.numaproj.io/v1alpha1",
},
ObjectMeta: metav1.ObjectMeta{
Name: isbServiceRollout.Name,
Namespace: isbServiceRollout.Namespace,
OwnerReferences: []metav1.OwnerReference{*metav1.NewControllerRef(isbServiceRollout.GetObjectMeta(), apiv1.ISBServiceRolloutGroupVersionKind)},
},
Spec: isbServiceRollout.Spec.InterStepBufferService,
// make an InterStepBufferService object and add/update spec hash on the ISBServiceRollout object
obj, rolloutChildOp, err := makeChildResourceFromRolloutAndUpdateSpecHash(ctx, r.restConfig, isbServiceRollout)
if err != nil {
numaLogger.Errorf(err, "failed to make an InterStepBufferService object and to update the ISBServiceRollout: %v", err)
return err
}

// TODO: instead of doing this, modify the ApplyCRSpec below to be similar to what is done on the PipelineRollout controller code
if rolloutChildOp == RolloutChildNone {
return nil
}

err := kubernetes.ApplyCRSpec(ctx, r.restConfig, &obj, "interstepbufferservices")
err = kubernetes.ApplyCRSpec(ctx, r.restConfig, obj, "interstepbufferservices")
if err != nil {
numaLogger.Errorf(err, "failed to apply CR: %v", err)
isbServiceRollout.Status.MarkFailed("ApplyISBServiceFailure", err.Error())
return err
}

// after the Apply, Get the ISBService so that we can propagate its health into our Status
isbsvc, err := kubernetes.GetCR(ctx, r.restConfig, &obj, "interstepbufferservices")
isbsvc, err := kubernetes.GetCR(ctx, r.restConfig, obj, "interstepbufferservices")
if err != nil {
numaLogger.Errorf(err, "failed to get ISBServices: %v", err)
return err
Expand Down

0 comments on commit 291c266

Please sign in to comment.