@@ -1231,6 +1231,10 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
12311231 prevSt := prevSpec .VMStorage
12321232 prevSe := prevSpec .VMSelect
12331233 prevIs := prevSpec .VMInsert
1234+
1235+ prevLB := prevSpec .RequestsLoadBalancer
1236+ newLB := cr .Spec .RequestsLoadBalancer
1237+
12341238 if prevSt != nil {
12351239 if vmst == nil {
12361240 if err := finalize .OnVMStorageDelete (ctx , rclient , cr , prevSt ); err != nil {
@@ -1285,12 +1289,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
12851289 }
12861290 // transition to load-balancer state
12871291 // have to remove prev service scrape
1288- if (! prevSpec .RequestsLoadBalancer .Enabled &&
1289- cr .Spec .RequestsLoadBalancer .Enabled &&
1290- ! cr .Spec .RequestsLoadBalancer .DisableSelectBalancing ) ||
1291- // second case load balancer was enabled, but disabled for select component
1292- (prevSpec .RequestsLoadBalancer .DisableInsertBalancing &&
1293- ! cr .Spec .RequestsLoadBalancer .DisableInsertBalancing ) {
1292+ if newLB .Enabled && ! newLB .DisableSelectBalancing && (! prevLB .Enabled || prevLB .DisableSelectBalancing ) {
12941293 // remove service scrape because service was renamed
12951294 if ! ptr .Deref (cr .Spec .VMSelect .DisableSelfServiceScrape , false ) {
12961295 if err := finalize .SafeDeleteWithFinalizer (ctx , rclient , & vmv1beta1.VMServiceScrape {
@@ -1302,9 +1301,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
13021301 }
13031302 // disabled loadbalancer only for component
13041303 // transit to the k8s service balancing mode
1305- if prevSpec .RequestsLoadBalancer .Enabled &&
1306- ! prevSpec .RequestsLoadBalancer .DisableSelectBalancing &&
1307- cr .Spec .RequestsLoadBalancer .DisableSelectBalancing {
1304+ if prevLB .Enabled && ! prevLB .DisableSelectBalancing && (! newLB .Enabled || newLB .DisableSelectBalancing ) {
13081305 if err := finalize .SafeDeleteWithFinalizer (ctx , rclient , & corev1.Service {ObjectMeta : metav1.ObjectMeta {
13091306 Name : cr .GetVMSelectLBName (),
13101307 Namespace : cr .Namespace ,
@@ -1351,12 +1348,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
13511348 }
13521349 // transition to load-balancer state
13531350 // have to remove prev service scrape
1354- if (! prevSpec .RequestsLoadBalancer .Enabled &&
1355- cr .Spec .RequestsLoadBalancer .Enabled &&
1356- ! cr .Spec .RequestsLoadBalancer .DisableInsertBalancing ) ||
1357- // second case load balancer was enabled, but disabled for insert component
1358- (prevSpec .RequestsLoadBalancer .DisableInsertBalancing &&
1359- ! cr .Spec .RequestsLoadBalancer .DisableInsertBalancing ) {
1351+ if newLB .Enabled && ! newLB .DisableInsertBalancing && (! prevLB .Enabled || prevLB .DisableInsertBalancing ) {
13601352 // remove service scrape because service was renamed
13611353 if ! ptr .Deref (cr .Spec .VMInsert .DisableSelfServiceScrape , false ) {
13621354 if err := finalize .SafeDeleteWithFinalizer (ctx , rclient , & vmv1beta1.VMServiceScrape {
@@ -1368,9 +1360,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
13681360 }
13691361 // disabled loadbalancer only for component
13701362 // transit to the k8s service balancing mode
1371- if prevSpec .RequestsLoadBalancer .Enabled &&
1372- ! prevSpec .RequestsLoadBalancer .DisableInsertBalancing &&
1373- cr .Spec .RequestsLoadBalancer .DisableInsertBalancing {
1363+ if prevLB .Enabled && ! prevLB .DisableInsertBalancing && (! newLB .Enabled || newLB .DisableInsertBalancing ) {
13741364 if err := finalize .SafeDeleteWithFinalizer (ctx , rclient , & corev1.Service {ObjectMeta : metav1.ObjectMeta {
13751365 Name : cr .GetVMInsertLBName (),
13761366 Namespace : cr .Namespace ,
@@ -1387,16 +1377,14 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
13871377 }
13881378 }
13891379
1390- if prevSpec . RequestsLoadBalancer . Enabled && ! cr . Spec . RequestsLoadBalancer .Enabled {
1380+ if prevLB . Enabled && ! newLB .Enabled {
13911381 if err := finalize .OnVMClusterLoadBalancerDelete (ctx , rclient , prevCR ); err != nil {
13921382 return fmt .Errorf ("failed to remove loadbalancer components enabled at prev state: %w" , err )
13931383 }
13941384 }
1395- if cr . Spec . RequestsLoadBalancer .Enabled {
1385+ if newLB .Enabled {
13961386 // case for child objects
1397- prevLBSpec := prevSpec .RequestsLoadBalancer .Spec
1398- lbSpec := cr .Spec .RequestsLoadBalancer .Spec
1399- if prevLBSpec .PodDisruptionBudget != nil && lbSpec .PodDisruptionBudget == nil {
1387+ if prevLB .Spec .PodDisruptionBudget != nil && newLB .Spec .PodDisruptionBudget == nil {
14001388 if err := finalize .SafeDeleteWithFinalizer (ctx , rclient , & policyv1.PodDisruptionBudget {
14011389 ObjectMeta : metav1.ObjectMeta {
14021390 Name : cr .GetVMAuthLBName (),
0 commit comments