@@ -247,8 +247,8 @@ func TestIndex(t *testing.T) {
247
247
actual := map [string ][]string {}
248
248
for from , to := range g .destinationEdgeIndex {
249
249
sortedValues := []string {}
250
- for member := range to .members {
251
- sortedValues = append (sortedValues , toString (member ))
250
+ for member , count := range to .members {
251
+ sortedValues = append (sortedValues , fmt . Sprintf ( "%s=%d" , toString (member ), count ))
252
252
}
253
253
sort .Strings (sortedValues )
254
254
actual [toString (from )] = sortedValues
@@ -280,10 +280,10 @@ func TestIndex(t *testing.T) {
280
280
"serviceAccount:ns/sa1" : {"pod:ns/pod1" , "pod:ns/pod2" , "pod:ns/pod3" },
281
281
})
282
282
expectIndex (map [string ][]string {
283
- "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" },
284
- "configmap:ns/cm2" : {"node:node1" , "node:node2" , "node:node3" },
285
- "configmap:ns/cm3" : {"node:node1" , "node:node2" , "node:node3" },
286
- "serviceAccount:ns/sa1" : {"node:node1" , "node:node2" , "node:node3" },
283
+ "configmap:ns/cm1" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
284
+ "configmap:ns/cm2" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
285
+ "configmap:ns/cm3" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
286
+ "serviceAccount:ns/sa1" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
287
287
})
288
288
289
289
// delete one to drop below the threshold
@@ -317,10 +317,10 @@ func TestIndex(t *testing.T) {
317
317
"serviceAccount:ns/sa1" : {"pod:ns/pod1" , "pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
318
318
})
319
319
expectIndex (map [string ][]string {
320
- "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" },
321
- "configmap:ns/cm2" : {"node:node1" , "node:node2" , "node:node3" },
322
- "configmap:ns/cm3" : {"node:node1" , "node:node2" , "node:node3" },
323
- "serviceAccount:ns/sa1" : {"node:node1" , "node:node2" , "node:node3" },
320
+ "configmap:ns/cm1" : {"node:node1=2 " , "node:node2=1 " , "node:node3=1 " },
321
+ "configmap:ns/cm2" : {"node:node1=2 " , "node:node2=1 " , "node:node3=1 " },
322
+ "configmap:ns/cm3" : {"node:node1=2 " , "node:node2=1 " , "node:node3=1 " },
323
+ "serviceAccount:ns/sa1" : {"node:node1=2 " , "node:node2=1 " , "node:node3=1 " },
324
324
})
325
325
326
326
// delete one to remain above the threshold
@@ -338,33 +338,35 @@ func TestIndex(t *testing.T) {
338
338
"serviceAccount:ns/sa1" : {"pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
339
339
})
340
340
expectIndex (map [string ][]string {
341
- "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" },
342
- "configmap:ns/cm2" : {"node:node1" , "node:node2" , "node:node3" },
343
- "configmap:ns/cm3" : {"node:node1" , "node:node2" , "node:node3" },
344
- "serviceAccount:ns/sa1" : {"node:node1" , "node:node2" , "node:node3" },
341
+ "configmap:ns/cm1" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
342
+ "configmap:ns/cm2" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
343
+ "configmap:ns/cm3" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
344
+ "serviceAccount:ns/sa1" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
345
345
})
346
346
347
347
// Set node->configmap references
348
348
g .SetNodeConfigMap ("node1" , "cm1" , "ns" )
349
349
g .SetNodeConfigMap ("node2" , "cm1" , "ns" )
350
350
g .SetNodeConfigMap ("node3" , "cm1" , "ns" )
351
+ g .SetNodeConfigMap ("node4" , "cm1" , "ns" )
351
352
expectGraph (map [string ][]string {
352
353
"node:node1" : {},
353
354
"node:node2" : {},
354
355
"node:node3" : {},
356
+ "node:node4" : {},
355
357
"pod:ns/pod2" : {"node:node2" },
356
358
"pod:ns/pod3" : {"node:node3" },
357
359
"pod:ns/pod4" : {"node:node1" },
358
- "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" , "pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
360
+ "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" , "node:node4" , " pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
359
361
"configmap:ns/cm2" : {"pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
360
362
"configmap:ns/cm3" : {"pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
361
363
"serviceAccount:ns/sa1" : {"pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
362
364
})
363
365
expectIndex (map [string ][]string {
364
- "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" },
365
- "configmap:ns/cm2" : {"node:node1" , "node:node2" , "node:node3" },
366
- "configmap:ns/cm3" : {"node:node1" , "node:node2" , "node:node3" },
367
- "serviceAccount:ns/sa1" : {"node:node1" , "node:node2" , "node:node3" },
366
+ "configmap:ns/cm1" : {"node:node1=2 " , "node:node2=2 " , "node:node3=2" , "node:node4=1 " },
367
+ "configmap:ns/cm2" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
368
+ "configmap:ns/cm3" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
369
+ "serviceAccount:ns/sa1" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
368
370
})
369
371
370
372
// Update node->configmap reference
@@ -373,27 +375,30 @@ func TestIndex(t *testing.T) {
373
375
"node:node1" : {},
374
376
"node:node2" : {},
375
377
"node:node3" : {},
378
+ "node:node4" : {},
376
379
"pod:ns/pod2" : {"node:node2" },
377
380
"pod:ns/pod3" : {"node:node3" },
378
381
"pod:ns/pod4" : {"node:node1" },
379
- "configmap:ns/cm1" : {"node:node2" , "node:node3" , "pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
382
+ "configmap:ns/cm1" : {"node:node2" , "node:node3" , "node:node4" , " pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
380
383
"configmap:ns/cm2" : {"node:node1" , "pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
381
384
"configmap:ns/cm3" : {"pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
382
385
"serviceAccount:ns/sa1" : {"pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
383
386
})
384
387
expectIndex (map [string ][]string {
385
- "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" },
386
- "configmap:ns/cm2" : {"node:node1" , "node:node2" , "node:node3" },
387
- "configmap:ns/cm3" : {"node:node1" , "node:node2" , "node:node3" },
388
- "serviceAccount:ns/sa1" : {"node:node1" , "node:node2" , "node:node3" },
388
+ "configmap:ns/cm1" : {"node:node1=1 " , "node:node2=2 " , "node:node3=2" , "node:node4=1 " },
389
+ "configmap:ns/cm2" : {"node:node1=2 " , "node:node2=1 " , "node:node3=1 " },
390
+ "configmap:ns/cm3" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
391
+ "serviceAccount:ns/sa1" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
389
392
})
390
393
391
394
// Remove node->configmap reference
392
395
g .SetNodeConfigMap ("node1" , "" , "" )
396
+ g .SetNodeConfigMap ("node4" , "" , "" )
393
397
expectGraph (map [string ][]string {
394
398
"node:node1" : {},
395
399
"node:node2" : {},
396
400
"node:node3" : {},
401
+ "node:node4" : {},
397
402
"pod:ns/pod2" : {"node:node2" },
398
403
"pod:ns/pod3" : {"node:node3" },
399
404
"pod:ns/pod4" : {"node:node1" },
@@ -403,9 +408,9 @@ func TestIndex(t *testing.T) {
403
408
"serviceAccount:ns/sa1" : {"pod:ns/pod2" , "pod:ns/pod3" , "pod:ns/pod4" },
404
409
})
405
410
expectIndex (map [string ][]string {
406
- "configmap:ns/cm1" : {"node:node1" , "node:node2" , "node:node3" },
407
- "configmap:ns/cm2" : {"node:node1" , "node:node2" , "node:node3" },
408
- "configmap:ns/cm3" : {"node:node1" , "node:node2" , "node:node3" },
409
- "serviceAccount:ns/sa1" : {"node:node1" , "node:node2" , "node:node3" },
411
+ "configmap:ns/cm1" : {"node:node1=1 " , "node:node2=2 " , "node:node3=2 " },
412
+ "configmap:ns/cm2" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
413
+ "configmap:ns/cm3" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
414
+ "serviceAccount:ns/sa1" : {"node:node1=1 " , "node:node2=1 " , "node:node3=1 " },
410
415
})
411
416
}
0 commit comments