@@ -461,11 +461,11 @@ func (r *Reconciler) syncNodeSetSpecInline(
461
461
database * resources.DatabaseBuilder ,
462
462
) (bool , ctrl.Result , error ) {
463
463
r .Log .Info ("running step syncNodeSetSpecInline" )
464
-
465
- databaseNodeSets := & v1alpha1.DatabaseNodeSetList {}
466
464
matchingFields := client.MatchingFields {
467
465
OwnerControllerKey : database .Name ,
468
466
}
467
+
468
+ databaseNodeSets := & v1alpha1.DatabaseNodeSetList {}
469
469
if err := r .List (ctx , databaseNodeSets ,
470
470
client .InNamespace (database .Namespace ),
471
471
matchingFields ,
@@ -483,10 +483,12 @@ func (r *Reconciler) syncNodeSetSpecInline(
483
483
databaseNodeSet := databaseNodeSet .DeepCopy ()
484
484
isFoundDatabaseNodeSetSpecInline := false
485
485
for _ , nodeSetSpecInline := range database .Spec .NodeSets {
486
- databaseNodeSetName := database .Name + "-" + nodeSetSpecInline .Name
487
- if databaseNodeSet .Name == databaseNodeSetName {
488
- isFoundDatabaseNodeSetSpecInline = true
489
- break
486
+ if nodeSetSpecInline .Remote == nil {
487
+ nodeSetName := database .Name + "-" + nodeSetSpecInline .Name
488
+ if databaseNodeSet .Name == nodeSetName {
489
+ isFoundDatabaseNodeSetSpecInline = true
490
+ break
491
+ }
490
492
}
491
493
}
492
494
if ! isFoundDatabaseNodeSetSpecInline {
@@ -509,24 +511,53 @@ func (r *Reconciler) syncNodeSetSpecInline(
509
511
databaseNodeSet .Name ),
510
512
)
511
513
}
514
+ }
512
515
513
- oldGeneration := databaseNodeSet .Status .ObservedDatabaseGeneration
514
- if oldGeneration != database .Generation {
515
- databaseNodeSet .Status .ObservedDatabaseGeneration = database .Generation
516
- if err := r .Status ().Update (ctx , databaseNodeSet ); err != nil {
516
+ remoteDatabaseNodeSets := & v1alpha1.RemoteDatabaseNodeSetList {}
517
+ if err := r .List (ctx , remoteDatabaseNodeSets ,
518
+ client .InNamespace (database .Namespace ),
519
+ matchingFields ,
520
+ ); err != nil {
521
+ r .Recorder .Event (
522
+ database ,
523
+ corev1 .EventTypeWarning ,
524
+ "ProvisioningFailed" ,
525
+ fmt .Sprintf ("Failed to list RemoteDatabaseNodeSets: %s" , err ),
526
+ )
527
+ return Stop , ctrl.Result {RequeueAfter : DefaultRequeueDelay }, err
528
+ }
529
+
530
+ for _ , remoteDatabaseNodeSet := range remoteDatabaseNodeSets .Items {
531
+ remoteDatabaseNodeSet := remoteDatabaseNodeSet .DeepCopy ()
532
+ isFoundRemoteDatabaseNodeSetSpecInline := false
533
+ for _ , nodeSetSpecInline := range database .Spec .NodeSets {
534
+ if nodeSetSpecInline .Remote != nil {
535
+ nodeSetName := database .Name + "-" + nodeSetSpecInline .Name
536
+ if remoteDatabaseNodeSet .Name == nodeSetName {
537
+ isFoundRemoteDatabaseNodeSetSpecInline = true
538
+ break
539
+ }
540
+ }
541
+ }
542
+
543
+ if ! isFoundRemoteDatabaseNodeSetSpecInline {
544
+ if err := r .Delete (ctx , remoteDatabaseNodeSet ); err != nil {
517
545
r .Recorder .Event (
518
- databaseNodeSet ,
546
+ database ,
519
547
corev1 .EventTypeWarning ,
520
- "ControllerError " ,
521
- fmt .Sprintf ("Failed setting status : %s" , err ),
548
+ "ProvisioningFailed " ,
549
+ fmt .Sprintf ("Failed to delete RemoteDatabaseNodeSet : %s" , err ),
522
550
)
523
551
return Stop , ctrl.Result {RequeueAfter : DefaultRequeueDelay }, err
524
552
}
525
553
r .Recorder .Event (
526
- databaseNodeSet ,
554
+ database ,
527
555
corev1 .EventTypeNormal ,
528
- "StatusChanged" ,
529
- fmt .Sprintf ("DatabaseNodeSet updated observedStorageGeneration from %d to %d" , oldGeneration , database .Generation ),
556
+ "Syncing" ,
557
+ fmt .Sprintf ("Resource: %s, Namespace: %s, Name: %s, deleted" ,
558
+ reflect .TypeOf (remoteDatabaseNodeSet ),
559
+ remoteDatabaseNodeSet .Namespace ,
560
+ remoteDatabaseNodeSet .Name ),
530
561
)
531
562
}
532
563
}
0 commit comments