Skip to content

Commit 681a67e

Browse files
committed
added inferencemodel predicate + minor changes in logging
Signed-off-by: Nir Rozenbaum <[email protected]>
1 parent 2a615e9 commit 681a67e

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed

cmd/epp/main.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ func run() error {
163163
Provider: provider,
164164
}
165165
if err := serverRunner.SetupWithManager(mgr); err != nil {
166-
setupLog.Error(err, "Failed to setup ext-proc server")
166+
setupLog.Error(err, "Failed to setup ext-proc controllers")
167167
return err
168168
}
169169

@@ -174,7 +174,7 @@ func run() error {
174174

175175
// Register ext-proc server.
176176
if err := mgr.Add(serverRunner.AsRunnable(ctrl.Log.WithName("ext-proc"))); err != nil {
177-
setupLog.Error(err, "Failed to register ext-proc server")
177+
setupLog.Error(err, "Failed to register ext-proc gRPC server")
178178
return err
179179
}
180180

pkg/epp/controller/inferencemodel_reconciler.go

+21-15
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ import (
2626
"k8s.io/client-go/tools/record"
2727
ctrl "sigs.k8s.io/controller-runtime"
2828
"sigs.k8s.io/controller-runtime/pkg/client"
29+
"sigs.k8s.io/controller-runtime/pkg/event"
2930
"sigs.k8s.io/controller-runtime/pkg/log"
31+
"sigs.k8s.io/controller-runtime/pkg/predicate"
3032
"sigs.k8s.io/gateway-api-inference-extension/api/v1alpha1"
3133
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/datastore"
3234
logutil "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/logging"
@@ -41,25 +43,20 @@ type InferenceModelReconciler struct {
4143
}
4244

4345
func (c *InferenceModelReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
44-
if req.Namespace != c.PoolNamespacedName.Namespace {
45-
return ctrl.Result{}, nil
46-
}
47-
48-
logger := log.FromContext(ctx)
49-
loggerDefault := logger.V(logutil.DEFAULT)
50-
loggerDefault.Info("Reconciling InferenceModel", "name", req.NamespacedName)
46+
logger := log.FromContext(ctx).WithValues("Request.Namespace", req.Namespace, "Request.Name", req.Name).V(logutil.DEFAULT)
47+
logger.Info("Reconciling InferenceModel")
5148

5249
infModel := &v1alpha1.InferenceModel{}
5350
if err := c.Get(ctx, req.NamespacedName, infModel); err != nil {
5451
if errors.IsNotFound(err) {
55-
loggerDefault.Info("InferenceModel not found. Removing from datastore since object must be deleted", "name", req.NamespacedName)
52+
logger.Info("InferenceModel not found. Removing from datastore since object must be deleted")
5653
c.Datastore.ModelDelete(infModel.Spec.ModelName)
5754
return ctrl.Result{}, nil
5855
}
59-
loggerDefault.Error(err, "Unable to get InferenceModel", "name", req.NamespacedName)
56+
logger.Error(err, "Unable to get InferenceModel")
6057
return ctrl.Result{}, err
6158
} else if !infModel.DeletionTimestamp.IsZero() {
62-
loggerDefault.Info("InferenceModel is marked for deletion. Removing from datastore", "name", req.NamespacedName)
59+
logger.Info("InferenceModel is marked for deletion. Removing from datastore")
6360
c.Datastore.ModelDelete(infModel.Spec.ModelName)
6461
return ctrl.Result{}, nil
6562
}
@@ -69,21 +66,30 @@ func (c *InferenceModelReconciler) Reconcile(ctx context.Context, req ctrl.Reque
6966
}
7067

7168
func (c *InferenceModelReconciler) updateDatastore(logger logr.Logger, infModel *v1alpha1.InferenceModel) {
72-
loggerDefault := logger.V(logutil.DEFAULT)
73-
7469
if infModel.Spec.PoolRef.Name == c.PoolNamespacedName.Name {
75-
loggerDefault.Info("Updating datastore", "poolRef", infModel.Spec.PoolRef, "serverPoolName", c.PoolNamespacedName)
76-
loggerDefault.Info("Adding/Updating InferenceModel", "modelName", infModel.Spec.ModelName)
70+
logger.Info("Adding/Updating InferenceModel", "modelName", infModel.Spec.ModelName)
7771
c.Datastore.ModelSet(infModel)
7872
return
7973
}
80-
loggerDefault.Info("Removing/Not adding InferenceModel", "modelName", infModel.Spec.ModelName)
8174
// If we get here. The model is not relevant to this pool, remove.
75+
logger.Info("Removing/Not adding InferenceModel", "modelName", infModel.Spec.ModelName, "poolRef", infModel.Spec.PoolRef)
8276
c.Datastore.ModelDelete(infModel.Spec.ModelName)
8377
}
8478

8579
func (c *InferenceModelReconciler) SetupWithManager(mgr ctrl.Manager) error {
8680
return ctrl.NewControllerManagedBy(mgr).
8781
For(&v1alpha1.InferenceModel{}).
82+
WithEventFilter(predicate.Funcs{
83+
CreateFunc: func(e event.CreateEvent) bool { return c.eventPredicate(e.Object.(*v1alpha1.InferenceModel)) },
84+
UpdateFunc: func(e event.UpdateEvent) bool {
85+
return c.eventPredicate(e.ObjectOld.(*v1alpha1.InferenceModel)) || c.eventPredicate(e.ObjectNew.(*v1alpha1.InferenceModel))
86+
},
87+
DeleteFunc: func(e event.DeleteEvent) bool { return c.eventPredicate(e.Object.(*v1alpha1.InferenceModel)) },
88+
GenericFunc: func(e event.GenericEvent) bool { return c.eventPredicate(e.Object.(*v1alpha1.InferenceModel)) },
89+
}).
8890
Complete(c)
8991
}
92+
93+
func (c *InferenceModelReconciler) eventPredicate(infModel *v1alpha1.InferenceModel) bool {
94+
return (infModel.Spec.PoolRef.Name == c.PoolNamespacedName.Name) && (infModel.GetNamespace() == c.PoolNamespacedName.Namespace)
95+
}

0 commit comments

Comments
 (0)