@@ -312,6 +312,45 @@ func TestAddonConfigReconcile(t *testing.T) {
312
312
},
313
313
}, nil , nil ),
314
314
addontesting .NewAddon ("test" , "cluster2" ),
315
+ // cluster3 already has configs synced to status before spec hash is updated
316
+ newManagedClusterAddon ("test" , "cluster3" , []addonv1alpha1.AddOnConfig {
317
+ {
318
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
319
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test2" },
320
+ },
321
+ {
322
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
323
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test3" },
324
+ },
325
+ }, []addonv1alpha1.ConfigReference {
326
+ {
327
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Bar" },
328
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
329
+ DesiredConfig : & addonv1alpha1.ConfigSpecHash {
330
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
331
+ SpecHash : "" ,
332
+ },
333
+ LastObservedGeneration : 0 ,
334
+ },
335
+ {
336
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
337
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test2" },
338
+ DesiredConfig : & addonv1alpha1.ConfigSpecHash {
339
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test2" },
340
+ SpecHash : "" ,
341
+ },
342
+ LastObservedGeneration : 0 ,
343
+ },
344
+ {
345
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
346
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test3" },
347
+ DesiredConfig : & addonv1alpha1.ConfigSpecHash {
348
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test3" },
349
+ SpecHash : "" ,
350
+ },
351
+ LastObservedGeneration : 0 ,
352
+ },
353
+ }, nil ),
315
354
},
316
355
placements : []runtime.Object {
317
356
& clusterv1beta1.Placement {ObjectMeta : metav1.ObjectMeta {Name : "test-placement" , Namespace : "default" }},
@@ -327,7 +366,7 @@ func TestAddonConfigReconcile(t *testing.T) {
327
366
},
328
367
},
329
368
Status : clusterv1beta1.PlacementDecisionStatus {
330
- Decisions : []clusterv1beta1.ClusterDecision {{ClusterName : "cluster1" }, {ClusterName : "cluster2" }},
369
+ Decisions : []clusterv1beta1.ClusterDecision {{ClusterName : "cluster1" }, {ClusterName : "cluster2" }, { ClusterName : "cluster3" } },
331
370
},
332
371
},
333
372
},
@@ -343,7 +382,7 @@ func TestAddonConfigReconcile(t *testing.T) {
343
382
ConfigGroupResource : v1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
344
383
DesiredConfig : & v1alpha1.ConfigSpecHash {
345
384
ConfigReferent : v1alpha1.ConfigReferent {Name : "test" },
346
- SpecHash : "hash" ,
385
+ SpecHash : "<core-foo-test- hash> " ,
347
386
},
348
387
}).WithPlacementStrategy (addonv1alpha1.PlacementStrategy {
349
388
PlacementRef : addonv1alpha1.PlacementRef {Name : "test-placement" , Namespace : "default" },
@@ -355,28 +394,28 @@ func TestAddonConfigReconcile(t *testing.T) {
355
394
ConfigGroupResource : v1alpha1.ConfigGroupResource {Group : "core" , Resource : "Bar" },
356
395
DesiredConfig : & v1alpha1.ConfigSpecHash {
357
396
ConfigReferent : v1alpha1.ConfigReferent {Name : "test1" },
358
- SpecHash : "hash1 " ,
397
+ SpecHash : "<core-bar-test1-hash> " ,
359
398
},
360
399
},
361
400
{
362
401
ConfigGroupResource : v1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
363
402
DesiredConfig : & v1alpha1.ConfigSpecHash {
364
403
ConfigReferent : v1alpha1.ConfigReferent {Name : "test1" },
365
- SpecHash : "hash1 " ,
404
+ SpecHash : "<core-foo-test1-hash> " ,
366
405
},
367
406
},
368
407
},
369
408
}).Build (),
370
409
validateAddonActions : func (t * testing.T , actions []clienttesting.Action ) {
371
- addontesting .AssertActions (t , actions , "patch" , "patch" )
410
+ addontesting .AssertActions (t , actions , "patch" , "patch" , "patch" )
372
411
sort .Sort (byPatchName (actions ))
373
412
expectPatchConfigurationAction (t , actions [0 ], []addonv1alpha1.ConfigReference {
374
413
{
375
414
ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Bar" },
376
415
ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
377
416
DesiredConfig : & addonv1alpha1.ConfigSpecHash {
378
417
ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
379
- SpecHash : "hash1 " ,
418
+ SpecHash : "<core-bar-test1-hash> " ,
380
419
},
381
420
LastObservedGeneration : 0 ,
382
421
},
@@ -405,7 +444,7 @@ func TestAddonConfigReconcile(t *testing.T) {
405
444
ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
406
445
DesiredConfig : & addonv1alpha1.ConfigSpecHash {
407
446
ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
408
- SpecHash : "hash1 " ,
447
+ SpecHash : "<core-bar-test1-hash> " ,
409
448
},
410
449
LastObservedGeneration : 0 ,
411
450
},
@@ -414,10 +453,39 @@ func TestAddonConfigReconcile(t *testing.T) {
414
453
ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
415
454
DesiredConfig : & addonv1alpha1.ConfigSpecHash {
416
455
ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
417
- SpecHash : "hash1 " ,
456
+ SpecHash : "<core-foo-test1-hash> " ,
418
457
},
419
458
LastObservedGeneration : 0 ,
420
459
}})
460
+ expectPatchConfigurationAction (t , actions [2 ], []addonv1alpha1.ConfigReference {
461
+ {
462
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Bar" },
463
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
464
+ DesiredConfig : & addonv1alpha1.ConfigSpecHash {
465
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test1" },
466
+ SpecHash : "<core-bar-test1-hash>" ,
467
+ },
468
+ LastObservedGeneration : 0 ,
469
+ },
470
+ {
471
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
472
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test2" },
473
+ DesiredConfig : & addonv1alpha1.ConfigSpecHash {
474
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test2" },
475
+ SpecHash : "" ,
476
+ },
477
+ LastObservedGeneration : 0 ,
478
+ },
479
+ {
480
+ ConfigGroupResource : addonv1alpha1.ConfigGroupResource {Group : "core" , Resource : "Foo" },
481
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test3" },
482
+ DesiredConfig : & addonv1alpha1.ConfigSpecHash {
483
+ ConfigReferent : addonv1alpha1.ConfigReferent {Name : "test3" },
484
+ SpecHash : "" ,
485
+ },
486
+ LastObservedGeneration : 0 ,
487
+ },
488
+ })
421
489
expectPatchConditionAction (t , actions [0 ], metav1 .ConditionTrue )
422
490
expectPatchConditionAction (t , actions [1 ], metav1 .ConditionTrue )
423
491
},
0 commit comments