@@ -254,11 +254,33 @@ func TestPodSchedulingOverrides(t *testing.T) {
254
254
},
255
255
}
256
256
257
+ var overriddenAffinity = & corev1.Affinity {
258
+ NodeAffinity : & corev1.NodeAffinity {
259
+ RequiredDuringSchedulingIgnoredDuringExecution : & corev1.NodeSelector {
260
+ NodeSelectorTerms : []corev1.NodeSelectorTerm {
261
+ {
262
+ MatchExpressions : []corev1.NodeSelectorRequirement {
263
+ {
264
+ Key : "kubernetes.io/arch" ,
265
+ Operator : corev1 .NodeSelectorOpIn ,
266
+ Values : []string {
267
+ "amd64" ,
268
+ "arm" ,
269
+ },
270
+ },
271
+ },
272
+ },
273
+ },
274
+ },
275
+ },
276
+ }
277
+
257
278
testCases := []struct {
258
279
title string
259
280
catalogSource * v1alpha1.CatalogSource
260
281
expectedNodeSelectors map [string ]string
261
282
expectedTolerations []corev1.Toleration
283
+ expectedAffinity * corev1.Affinity
262
284
expectedPriorityClassName string
263
285
annotations map [string ]string
264
286
}{
@@ -275,6 +297,7 @@ func TestPodSchedulingOverrides(t *testing.T) {
275
297
},
276
298
},
277
299
expectedTolerations : nil ,
300
+ expectedAffinity : nil ,
278
301
expectedPriorityClassName : defaultPriorityClassName ,
279
302
expectedNodeSelectors : defaultNodeSelectors ,
280
303
}, {
@@ -293,6 +316,7 @@ func TestPodSchedulingOverrides(t *testing.T) {
293
316
},
294
317
},
295
318
expectedTolerations : nil ,
319
+ expectedAffinity : nil ,
296
320
expectedPriorityClassName : defaultPriorityClassName ,
297
321
expectedNodeSelectors : overriddenNodeSelectors ,
298
322
}, {
@@ -311,6 +335,7 @@ func TestPodSchedulingOverrides(t *testing.T) {
311
335
},
312
336
},
313
337
expectedTolerations : nil ,
338
+ expectedAffinity : nil ,
314
339
expectedPriorityClassName : overriddenPriorityClassName ,
315
340
expectedNodeSelectors : defaultNodeSelectors ,
316
341
}, {
@@ -329,6 +354,7 @@ func TestPodSchedulingOverrides(t *testing.T) {
329
354
},
330
355
},
331
356
expectedTolerations : nil ,
357
+ expectedAffinity : nil ,
332
358
expectedPriorityClassName : defaultPriorityClassName ,
333
359
expectedNodeSelectors : defaultNodeSelectors ,
334
360
}, {
@@ -347,6 +373,26 @@ func TestPodSchedulingOverrides(t *testing.T) {
347
373
},
348
374
},
349
375
expectedTolerations : overriddenTolerations ,
376
+ expectedAffinity : nil ,
377
+ expectedPriorityClassName : defaultPriorityClassName ,
378
+ expectedNodeSelectors : defaultNodeSelectors ,
379
+ }, {
380
+ title : "Override affinity" ,
381
+ catalogSource : & v1alpha1.CatalogSource {
382
+ ObjectMeta : metav1.ObjectMeta {
383
+ Name : "test" ,
384
+ Namespace : "testns" ,
385
+ },
386
+ Spec : v1alpha1.CatalogSourceSpec {
387
+ SourceType : v1alpha1 .SourceTypeGrpc ,
388
+ Image : "repo/image:tag" ,
389
+ GrpcPodConfig : & v1alpha1.GrpcPodConfig {
390
+ Affinity : overriddenAffinity ,
391
+ },
392
+ },
393
+ },
394
+ expectedTolerations : nil ,
395
+ expectedAffinity : overriddenAffinity ,
350
396
expectedPriorityClassName : defaultPriorityClassName ,
351
397
expectedNodeSelectors : defaultNodeSelectors ,
352
398
}, {
@@ -363,10 +409,12 @@ func TestPodSchedulingOverrides(t *testing.T) {
363
409
NodeSelector : overriddenNodeSelectors ,
364
410
PriorityClassName : & overriddenPriorityClassName ,
365
411
Tolerations : overriddenTolerations ,
412
+ Affinity : overriddenAffinity ,
366
413
},
367
414
},
368
415
},
369
416
expectedTolerations : overriddenTolerations ,
417
+ expectedAffinity : overriddenAffinity ,
370
418
expectedPriorityClassName : overriddenPriorityClassName ,
371
419
expectedNodeSelectors : overriddenNodeSelectors ,
372
420
}, {
@@ -385,6 +433,7 @@ func TestPodSchedulingOverrides(t *testing.T) {
385
433
},
386
434
},
387
435
expectedTolerations : nil ,
436
+ expectedAffinity : nil ,
388
437
annotations : map [string ]string {
389
438
CatalogPriorityClassKey : "some-OTHER-prio-class" ,
390
439
},
@@ -398,5 +447,6 @@ func TestPodSchedulingOverrides(t *testing.T) {
398
447
require .Equal (t , testCase .expectedNodeSelectors , pod .Spec .NodeSelector )
399
448
require .Equal (t , testCase .expectedPriorityClassName , pod .Spec .PriorityClassName )
400
449
require .Equal (t , testCase .expectedTolerations , pod .Spec .Tolerations )
450
+ require .Equal (t , testCase .expectedAffinity , pod .Spec .Affinity )
401
451
}
402
452
}
0 commit comments