From 076af9d432fcc914ec074a424e488bcab15517ff Mon Sep 17 00:00:00 2001 From: Varun Gupta Date: Sun, 2 Mar 2025 23:11:55 -0800 Subject: [PATCH] Ignore worker pods for gateway routing (#776) * Ignore worker pods for gateway routing * ignore worker pods in UpdatePod as well * use node worker as const Signed-off-by: Varun Gupta --- pkg/cache/cache.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/pkg/cache/cache.go b/pkg/cache/cache.go index 4a6abbb8..da3eff4f 100644 --- a/pkg/cache/cache.go +++ b/pkg/cache/cache.go @@ -75,6 +75,8 @@ type Block struct { const ( modelIdentifier = "model.aibrix.ai/name" + nodeType = "ray.io/node-type" + nodeWorker = "worker" podPort = 8000 defaultPodMetricRefreshIntervalInMS = 50 expireWriteRequestTraceIntervalInMins = 10 @@ -296,6 +298,12 @@ func (c *Cache) addPod(obj interface{}) { if !ok { return } + // ignore worker pods + nodeType, ok := pod.Labels[nodeType] + if ok && nodeType == nodeWorker { + klog.InfoS("ignored ray worker pod", "name", pod.Name) + return + } c.Pods[pod.Name] = pod c.addPodAndModelMappingLocked(pod.Name, modelName) @@ -323,6 +331,20 @@ func (c *Cache) updatePod(oldObj interface{}, newObj interface{}) { c.deletePodAndModelMapping(oldPod.Name, oldModelName) } + // ignore worker pods + nodeType, ok := oldPod.Labels[nodeType] + if ok && nodeType == nodeWorker { + klog.InfoS("ignored ray worker pod", "name", oldPod.Name) + return + } + + // ignore worker pods + nodeType, ok = newPod.Labels[nodeType] + if ok && nodeType == nodeWorker { + klog.InfoS("ignored ray worker pod", "name", newPod.Name) + return + } + // Add new mappings if present if newOk { c.Pods[newPod.Name] = newPod