Skip to content

Commit 1ad93e4

Browse files
ext-proc: change Inference* APIs to use NamespacedName (#172)
Signed-off-by: Madhav Jivrajani <[email protected]>
1 parent 38cddf0 commit 1ad93e4

File tree

4 files changed

+35
-29
lines changed

4 files changed

+35
-29
lines changed

Diff for: pkg/ext-proc/backend/inferencemodel_reconciler.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55

66
"inference.networking.x-k8s.io/gateway-api-inference-extension/api/v1alpha1"
77
"k8s.io/apimachinery/pkg/runtime"
8+
"k8s.io/apimachinery/pkg/types"
89
"k8s.io/client-go/tools/record"
910
"k8s.io/klog/v2"
1011
ctrl "sigs.k8s.io/controller-runtime"
@@ -13,15 +14,14 @@ import (
1314

1415
type InferenceModelReconciler struct {
1516
client.Client
16-
Scheme *runtime.Scheme
17-
Record record.EventRecorder
18-
Datastore *K8sDatastore
19-
PoolName string
20-
PoolNamespace string
17+
Scheme *runtime.Scheme
18+
Record record.EventRecorder
19+
Datastore *K8sDatastore
20+
PoolNamespacedName types.NamespacedName
2121
}
2222

2323
func (c *InferenceModelReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
24-
if req.Namespace != c.PoolNamespace {
24+
if req.Namespace != c.PoolNamespacedName.Namespace {
2525
return ctrl.Result{}, nil
2626
}
2727
klog.V(1).Info("reconciling InferenceModel", req.NamespacedName)
@@ -43,8 +43,8 @@ func (c *InferenceModelReconciler) SetupWithManager(mgr ctrl.Manager) error {
4343
}
4444

4545
func (c *InferenceModelReconciler) updateDatastore(infModel *v1alpha1.InferenceModel) {
46-
if infModel.Spec.PoolRef.Name == c.PoolName {
47-
klog.V(1).Infof("Incoming pool ref %v, server pool name: %v", infModel.Spec.PoolRef, c.PoolName)
46+
if infModel.Spec.PoolRef.Name == c.PoolNamespacedName.Name {
47+
klog.V(1).Infof("Incoming pool ref %v, server pool name: %v", infModel.Spec.PoolRef, c.PoolNamespacedName.Name)
4848
klog.V(1).Infof("Adding/Updating inference model: %v", infModel.Spec.ModelName)
4949
c.Datastore.InferenceModels.Store(infModel.Spec.ModelName, infModel)
5050
return

Diff for: pkg/ext-proc/backend/inferencemodel_reconciler_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
"inference.networking.x-k8s.io/gateway-api-inference-extension/api/v1alpha1"
88
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9+
"k8s.io/apimachinery/pkg/types"
910
)
1011

1112
var (
@@ -125,8 +126,8 @@ func TestUpdateDatastore_InferenceModelReconciler(t *testing.T) {
125126
for _, test := range tests {
126127
t.Run(test.name, func(t *testing.T) {
127128
InferenceModelReconciler := &InferenceModelReconciler{
128-
Datastore: test.datastore,
129-
PoolName: test.datastore.inferencePool.Name,
129+
Datastore: test.datastore,
130+
PoolNamespacedName: types.NamespacedName{Name: test.datastore.inferencePool.Name},
130131
}
131132
InferenceModelReconciler.updateDatastore(test.incomingService)
132133

Diff for: pkg/ext-proc/backend/inferencepool_reconciler.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55

66
"inference.networking.x-k8s.io/gateway-api-inference-extension/api/v1alpha1"
77
"k8s.io/apimachinery/pkg/runtime"
8+
"k8s.io/apimachinery/pkg/types"
89
"k8s.io/client-go/tools/record"
910
"k8s.io/klog/v2"
1011
ctrl "sigs.k8s.io/controller-runtime"
@@ -16,16 +17,15 @@ import (
1617
// will have the proper controller that will create/manage objects on behalf of the server pool.
1718
type InferencePoolReconciler struct {
1819
client.Client
19-
Scheme *runtime.Scheme
20-
Record record.EventRecorder
21-
PoolName string
22-
PoolNamespace string
23-
Datastore *K8sDatastore
24-
Zone string
20+
Scheme *runtime.Scheme
21+
Record record.EventRecorder
22+
PoolNamespacedName types.NamespacedName
23+
Datastore *K8sDatastore
24+
Zone string
2525
}
2626

2727
func (c *InferencePoolReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
28-
if req.NamespacedName.Name != c.PoolName || req.NamespacedName.Namespace != c.PoolNamespace {
28+
if req.NamespacedName.Name != c.PoolNamespacedName.Name || req.NamespacedName.Namespace != c.PoolNamespacedName.Namespace {
2929
return ctrl.Result{}, nil
3030
}
3131
klog.V(1).Info("reconciling InferencePool", req.NamespacedName)

Diff for: pkg/ext-proc/main.go

+17-12
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"inference.networking.x-k8s.io/gateway-api-inference-extension/pkg/ext-proc/handlers"
2222
"inference.networking.x-k8s.io/gateway-api-inference-extension/pkg/ext-proc/scheduling"
2323
"k8s.io/apimachinery/pkg/runtime"
24+
"k8s.io/apimachinery/pkg/types"
2425
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
2526
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
2627
klog "k8s.io/klog/v2"
@@ -114,23 +115,27 @@ func main() {
114115
}
115116

116117
if err := (&backend.InferencePoolReconciler{
117-
Datastore: datastore,
118-
Scheme: mgr.GetScheme(),
119-
Client: mgr.GetClient(),
120-
PoolName: *poolName,
121-
PoolNamespace: *poolNamespace,
122-
Record: mgr.GetEventRecorderFor("InferencePool"),
118+
Datastore: datastore,
119+
Scheme: mgr.GetScheme(),
120+
Client: mgr.GetClient(),
121+
PoolNamespacedName: types.NamespacedName{
122+
Name: *poolName,
123+
Namespace: *poolNamespace,
124+
},
125+
Record: mgr.GetEventRecorderFor("InferencePool"),
123126
}).SetupWithManager(mgr); err != nil {
124127
klog.Error(err, "Error setting up InferencePoolReconciler")
125128
}
126129

127130
if err := (&backend.InferenceModelReconciler{
128-
Datastore: datastore,
129-
Scheme: mgr.GetScheme(),
130-
Client: mgr.GetClient(),
131-
PoolName: *poolName,
132-
PoolNamespace: *poolNamespace,
133-
Record: mgr.GetEventRecorderFor("InferenceModel"),
131+
Datastore: datastore,
132+
Scheme: mgr.GetScheme(),
133+
Client: mgr.GetClient(),
134+
PoolNamespacedName: types.NamespacedName{
135+
Name: *poolName,
136+
Namespace: *poolNamespace,
137+
},
138+
Record: mgr.GetEventRecorderFor("InferenceModel"),
134139
}).SetupWithManager(mgr); err != nil {
135140
klog.Error(err, "Error setting up InferenceModelReconciler")
136141
}

0 commit comments

Comments
 (0)