Skip to content

Commit 2a88b3b

Browse files
authored
updated logging in inferencepool reconciler (#399)
* updated logging + predicate in inferencepool reconciler Signed-off-by: Nir Rozenbaum <[email protected]> * removed irrelevant unit test. after adding predicate to the controller registration, the reconcile function no longer contains the filtering logic. therefore, it's not relecant to test the reconcile function with pool2. in runtime, this event will be filtered out much earlier Signed-off-by: Nir Rozenbaum <[email protected]> --------- Signed-off-by: Nir Rozenbaum <[email protected]>
1 parent 40d024b commit 2a88b3b

File tree

2 files changed

+17
-24
lines changed

2 files changed

+17
-24
lines changed

pkg/epp/controller/inferencepool_reconciler.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
ctrl "sigs.k8s.io/controller-runtime"
2828
"sigs.k8s.io/controller-runtime/pkg/client"
2929
"sigs.k8s.io/controller-runtime/pkg/log"
30+
"sigs.k8s.io/controller-runtime/pkg/predicate"
3031
"sigs.k8s.io/gateway-api-inference-extension/api/v1alpha2"
3132
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/datastore"
3233
logutil "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/logging"
@@ -44,31 +45,28 @@ type InferencePoolReconciler struct {
4445
}
4546

4647
func (c *InferencePoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
47-
if req.NamespacedName.Name != c.PoolNamespacedName.Name || req.NamespacedName.Namespace != c.PoolNamespacedName.Namespace {
48-
return ctrl.Result{}, nil
49-
}
48+
logger := log.FromContext(ctx).WithValues("inferencePool", req.NamespacedName).V(logutil.DEFAULT)
49+
ctx = ctrl.LoggerInto(ctx, logger)
5050

51-
logger := log.FromContext(ctx)
52-
loggerDefault := logger.V(logutil.DEFAULT)
53-
loggerDefault.Info("Reconciling InferencePool", "name", req.NamespacedName)
51+
logger.Info("Reconciling InferencePool")
5452

55-
serverPool := &v1alpha2.InferencePool{}
53+
infPool := &v1alpha2.InferencePool{}
5654

57-
if err := c.Get(ctx, req.NamespacedName, serverPool); err != nil {
55+
if err := c.Get(ctx, req.NamespacedName, infPool); err != nil {
5856
if errors.IsNotFound(err) {
59-
loggerDefault.Info("InferencePool not found. Clearing the datastore", "name", req.NamespacedName)
57+
logger.Info("InferencePool not found. Clearing the datastore")
6058
c.Datastore.Clear()
6159
return ctrl.Result{}, nil
6260
}
63-
loggerDefault.Error(err, "Unable to get InferencePool", "name", req.NamespacedName)
61+
logger.Error(err, "Unable to get InferencePool")
6462
return ctrl.Result{}, err
65-
} else if !serverPool.DeletionTimestamp.IsZero() {
66-
loggerDefault.Info("InferencePool is marked for deletion. Clearing the datastore", "name", req.NamespacedName)
63+
} else if !infPool.DeletionTimestamp.IsZero() {
64+
logger.Info("InferencePool is marked for deletion. Clearing the datastore")
6765
c.Datastore.Clear()
6866
return ctrl.Result{}, nil
6967
}
7068

71-
c.updateDatastore(ctx, serverPool)
69+
c.updateDatastore(ctx, infPool)
7270

7371
return ctrl.Result{}, nil
7472
}
@@ -92,5 +90,8 @@ func (c *InferencePoolReconciler) updateDatastore(ctx context.Context, newPool *
9290
func (c *InferencePoolReconciler) SetupWithManager(mgr ctrl.Manager) error {
9391
return ctrl.NewControllerManagedBy(mgr).
9492
For(&v1alpha2.InferencePool{}).
93+
WithEventFilter(predicate.NewPredicateFuncs(func(object client.Object) bool {
94+
return (object.GetNamespace() == c.PoolNamespacedName.Namespace) && (object.GetName() == c.PoolNamespacedName.Name)
95+
})).
9596
Complete(c)
9697
}

pkg/epp/controller/inferencepool_reconciler_test.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,7 @@ func TestReconcile_InferencePoolReconciler(t *testing.T) {
102102
t.Errorf("Unexpected diff (+got/-want): %s", diff)
103103
}
104104

105-
// Step 2: A reconcile on pool2 should not change anything.
106-
if _, err := inferencePoolReconciler.Reconcile(ctx, ctrl.Request{NamespacedName: types.NamespacedName{Name: pool2.Name, Namespace: pool2.Namespace}}); err != nil {
107-
t.Errorf("Unexpected InferencePool reconcile error: %v", err)
108-
}
109-
if diff := diffPool(datastore, pool1, []string{"pod1", "pod2"}); diff != "" {
110-
t.Errorf("Unexpected diff (+got/-want): %s", diff)
111-
}
112-
113-
// Step 3: update the pool selector to include more pods
105+
// Step 2: update the pool selector to include more pods
114106
newPool1 := &v1alpha2.InferencePool{}
115107
if err := fakeClient.Get(ctx, req.NamespacedName, newPool1); err != nil {
116108
t.Errorf("Unexpected pool get error: %v", err)
@@ -127,7 +119,7 @@ func TestReconcile_InferencePoolReconciler(t *testing.T) {
127119
t.Errorf("Unexpected diff (+got/-want): %s", diff)
128120
}
129121

130-
// Step 4: update the pool port
122+
// Step 3: update the pool port
131123
if err := fakeClient.Get(ctx, req.NamespacedName, newPool1); err != nil {
132124
t.Errorf("Unexpected pool get error: %v", err)
133125
}
@@ -142,7 +134,7 @@ func TestReconcile_InferencePoolReconciler(t *testing.T) {
142134
t.Errorf("Unexpected diff (+got/-want): %s", diff)
143135
}
144136

145-
// Step 5: delete the pool to trigger a datastore clear
137+
// Step 4: delete the pool to trigger a datastore clear
146138
if err := fakeClient.Get(ctx, req.NamespacedName, newPool1); err != nil {
147139
t.Errorf("Unexpected pool get error: %v", err)
148140
}

0 commit comments

Comments
 (0)