@@ -34,7 +34,7 @@ var disruptionClient = &http.Client{Timeout: 10 * time.Second}
3434// sendRawCompletion sends a completion request and returns the HTTP status code.
3535func sendRawCompletion () (int , error ) {
3636 body := fmt .Sprintf (`{"model":"%s","prompt":"%s","max_tokens":10}` , simModelName , simplePrompt )
37- req , err := http .NewRequest (http .MethodPost , fmt .Sprintf ("http://localhost:%s /v1/completions" , port ), strings .NewReader (body ))
37+ req , err := http .NewRequest (http .MethodPost , fmt .Sprintf ("http://localhost:%d /v1/completions" , getPort () ), strings .NewReader (body ))
3838 if err != nil {
3939 return 0 , err
4040 }
@@ -85,7 +85,7 @@ func eppPodReady(oldPodName string) func() bool {
8585
8686// completionRoutedToNamespace sends one completion and reports an error on any
8787// failure or namespace-header mismatch, for use inside Eventually blocks.
88- func completionRoutedToNamespace () error {
88+ func completionRoutedToNamespace (nsName string ) error {
8989 nsHdr , _ , err := tryCompletion (simplePrompt , simModelName )
9090 if err != nil {
9191 return err
@@ -101,11 +101,13 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
101101 ginkgo .It ("should recover and route to surviving pods" , func () {
102102 infPoolObjects = createInferencePool (1 , true )
103103
104+ nsName := getNamespace ()
105+
104106 modelServers := createModelServersDecode (2 )
105- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers )
107+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers , nsName )
106108
107109 epp := createEndPointPicker (simpleConfig )
108- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp )
110+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp , nsName )
109111
110112 prefillPods , decodePods := getModelServerPods (podSelector , prefillSelector , decodeSelector )
111113 gomega .Expect (prefillPods ).Should (gomega .BeEmpty ())
@@ -145,7 +147,7 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
145147 }, readyTimeout , 2 * time .Second ).Should (gomega .Equal (2 ))
146148
147149 ginkgo .By ("Verifying requests succeed consistently after recovery" )
148- gomega .Eventually (completionRoutedToNamespace , eppRecoveryTimeout , 1 * time .Second ).
150+ gomega .Eventually (completionRoutedToNamespace , eppRecoveryTimeout , 1 * time .Second ).WithArguments ( nsName ).
149151 MustPassRepeatedly (3 ).Should (gomega .Succeed ())
150152 })
151153 })
@@ -154,11 +156,13 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
154156 ginkgo .It ("should not hang and should recover routing" , func () {
155157 infPoolObjects = createInferencePool (1 , true )
156158
159+ nsName := getNamespace ()
160+
157161 modelServers := createModelServersDecode (2 )
158- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers )
162+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers , nsName )
159163
160164 epp := createEndPointPicker (simpleConfig )
161- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp )
165+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp , nsName )
162166
163167 prefillPods , decodePods := getModelServerPods (podSelector , prefillSelector , decodeSelector )
164168 gomega .Expect (prefillPods ).Should (gomega .BeEmpty ())
@@ -195,7 +199,7 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
195199 }, readyTimeout , 2 * time .Second ).Should (gomega .Equal (2 ))
196200
197201 ginkgo .By ("Verifying requests succeed consistently after recovery" )
198- gomega .Eventually (completionRoutedToNamespace , eppRecoveryTimeout , 1 * time .Second ).
202+ gomega .Eventually (completionRoutedToNamespace , eppRecoveryTimeout , 1 * time .Second ).WithArguments ( nsName ).
199203 MustPassRepeatedly (3 ).Should (gomega .Succeed ())
200204 })
201205 })
@@ -204,11 +208,13 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
204208 ginkgo .It ("should return 503 to the client" , func () {
205209 infPoolObjects = createInferencePool (1 , true )
206210
211+ nsName := getNamespace ()
212+
207213 modelServers := createModelServersDecode (1 )
208- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers )
214+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers , nsName )
209215
210216 epp := createEndPointPicker (simpleConfig )
211- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp )
217+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp , nsName )
212218
213219 _ , decodePods := getModelServerPods (podSelector , prefillSelector , decodeSelector )
214220 gomega .Expect (decodePods ).Should (gomega .HaveLen (1 ))
@@ -218,7 +224,7 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
218224 gomega .Expect (nsHdr ).Should (gomega .Equal (nsName ))
219225
220226 ginkgo .By ("Scaling deployment to zero" )
221- scaleDeployment (modelServers , - 1 )
227+ scaleDeployment (nsName , modelServers , - 1 )
222228
223229 ginkgo .By ("Waiting for all pods to be removed" )
224230 gomega .Eventually (func () int {
@@ -236,7 +242,7 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
236242 }, trafficProbeTimeout , 500 * time .Millisecond ).Should (gomega .Equal (http .StatusServiceUnavailable ))
237243
238244 ginkgo .By ("Scaling deployment back up" )
239- scaleDeployment (modelServers , 1 )
245+ scaleDeployment (nsName , modelServers , 1 )
240246
241247 ginkgo .By ("Verifying requests succeed after recovery" )
242248 gomega .Eventually (func () string {
@@ -250,15 +256,17 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
250256 ginkgo .It ("should recover and resume routing after restart" , func () {
251257 infPoolObjects = createInferencePool (1 , true )
252258
259+ nsName := getNamespace ()
260+
253261 modelServers := createModelServersDecode (1 )
254- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers )
262+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers , nsName )
255263
256264 epp := createEndPointPicker (simpleConfig )
257- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp )
265+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp , nsName )
258266
259267 ginkgo .By ("Verifying requests succeed before EPP disruption" )
260268 nsHdr , _ , _ := runCompletion (simplePrompt , simModelName )
261- gomega .Expect (nsHdr ).Should (gomega .Equal (nsName ))
269+ gomega .Expect (nsHdr ).Should (gomega .Equal (getNamespace () ))
262270
263271 ginkgo .By ("Finding EPP pod" )
264272 eppPods := getPods (map [string ]string {"app" : "e2e-epp" })
@@ -298,16 +306,17 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
298306 ginkgo .When ("Traffic is flowing during scale-to-zero and back" , func () {
299307 ginkgo .It ("should return 503s when empty and recover when scaled back" , func () {
300308 infPoolObjects = createInferencePool (1 , true )
309+ nsName := getNamespace ()
301310
302311 modelServers := createModelServersDecode (1 )
303- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers )
312+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , modelServers , nsName )
304313
305314 epp := createEndPointPicker (simpleConfig )
306- ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp )
315+ ginkgo .DeferCleanup (testutils .DeleteObjects , testConfig , epp , nsName )
307316
308317 ginkgo .By ("Verifying requests succeed before disruption" )
309318 nsHdr , _ , _ := runCompletion (simplePrompt , simModelName )
310- gomega .Expect (nsHdr ).Should (gomega .Equal (nsName ))
319+ gomega .Expect (nsHdr ).Should (gomega .Equal (getNamespace () ))
311320
312321 ginkgo .By ("Starting background traffic" )
313322 ctx , cancel := context .WithCancel (context .Background ())
@@ -319,7 +328,7 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
319328 }()
320329
321330 ginkgo .By ("Scaling to zero" )
322- scaleDeployment (modelServers , - 1 )
331+ scaleDeployment (nsName , modelServers , - 1 )
323332
324333 ginkgo .By ("Waiting for all pods to be removed" )
325334 gomega .Eventually (func () int {
@@ -331,7 +340,7 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
331340 gomega .Eventually (tc .failures , trafficProbeTimeout , 500 * time .Millisecond ).Should (gomega .BeNumerically (">" , 0 ))
332341
333342 ginkgo .By ("Scaling back to 1" )
334- scaleDeployment (modelServers , 1 )
343+ scaleDeployment (nsName , modelServers , 1 )
335344
336345 ginkgo .By ("Waiting for traffic to observe recovery" )
337346 successBaseline := tc .successes ()
@@ -351,7 +360,7 @@ var _ = ginkgo.Describe("Disruption tests", ginkgo.Ordered, ginkgo.Label(disrupt
351360func sendStreamingCompletion (connected chan <- string ) error {
352361 longPrompt := strings .Repeat ("This is a longer prompt to keep the stream open. " , 20 )
353362 body := fmt .Sprintf (`{"model":"%s","prompt":"%s","max_tokens":100,"stream":true}` , simModelName , longPrompt )
354- req , err := http .NewRequest (http .MethodPost , fmt .Sprintf ("http://localhost:%s /v1/completions" , port ), strings .NewReader (body ))
363+ req , err := http .NewRequest (http .MethodPost , fmt .Sprintf ("http://localhost:%d /v1/completions" , getPort () ), strings .NewReader (body ))
355364 if err != nil {
356365 connected <- ""
357366 return err
@@ -418,7 +427,7 @@ func deletePodByName(podName string, gracePeriodSeconds int64) {
418427 pod := & corev1.Pod {
419428 ObjectMeta : metav1.ObjectMeta {
420429 Name : podName ,
421- Namespace : nsName ,
430+ Namespace : getNamespace () ,
422431 },
423432 }
424433 opts := & client.DeleteOptions {
0 commit comments