Skip to content

Commit e65423b

Browse files
(vm|vt|vl)cluster: fixed condition for old servicescrapes cleanup (#1561)
1 parent 38c68d9 commit e65423b

File tree

3 files changed

+33
-69
lines changed

3 files changed

+33
-69
lines changed

internal/controller/operator/factory/vlcluster/vlcluster.go

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
7373
prevSt := prevSpec.VLStorage
7474
prevSe := prevSpec.VLSelect
7575
prevIs := prevSpec.VLInsert
76+
77+
prevLB := prevSpec.RequestsLoadBalancer
78+
newLB := cr.Spec.RequestsLoadBalancer
79+
7680
if prevSt != nil {
7781
if vmst == nil {
7882
if err := finalize.OnVLStorageDelete(ctx, rclient, cr, prevSt); err != nil {
@@ -127,12 +131,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
127131
}
128132
// transition to load-balancer state
129133
// have to remove prev service scrape
130-
if (!prevSpec.RequestsLoadBalancer.Enabled &&
131-
cr.Spec.RequestsLoadBalancer.Enabled &&
132-
!cr.Spec.RequestsLoadBalancer.DisableSelectBalancing) ||
133-
// second case load balancer was enabled, but disabled for select component
134-
(prevSpec.RequestsLoadBalancer.DisableInsertBalancing &&
135-
!cr.Spec.RequestsLoadBalancer.DisableInsertBalancing) {
134+
if newLB.Enabled && !newLB.DisableSelectBalancing && (!prevLB.Enabled || prevLB.DisableSelectBalancing) {
136135
// remove service scrape because service was renamed
137136
if !ptr.Deref(cr.Spec.VLSelect.DisableSelfServiceScrape, false) {
138137
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &vmv1beta1.VMServiceScrape{
@@ -144,9 +143,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
144143
}
145144
// disabled loadbalancer only for component
146145
// transit to the k8s service balancing mode
147-
if prevSpec.RequestsLoadBalancer.Enabled &&
148-
!prevSpec.RequestsLoadBalancer.DisableSelectBalancing &&
149-
cr.Spec.RequestsLoadBalancer.DisableSelectBalancing {
146+
if prevLB.Enabled && !prevLB.DisableSelectBalancing && (!newLB.Enabled || newLB.DisableSelectBalancing) {
150147
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &corev1.Service{ObjectMeta: metav1.ObjectMeta{
151148
Name: cr.GetVLSelectLBName(),
152149
Namespace: cr.Namespace,
@@ -193,12 +190,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
193190
}
194191
// transition to load-balancer state
195192
// have to remove prev service scrape
196-
if (!prevSpec.RequestsLoadBalancer.Enabled &&
197-
cr.Spec.RequestsLoadBalancer.Enabled &&
198-
!cr.Spec.RequestsLoadBalancer.DisableInsertBalancing) ||
199-
// second case load balancer was enabled, but disabled for insert component
200-
(prevSpec.RequestsLoadBalancer.DisableInsertBalancing &&
201-
!cr.Spec.RequestsLoadBalancer.DisableInsertBalancing) {
193+
if newLB.Enabled && !newLB.DisableInsertBalancing && (!prevLB.Enabled || prevLB.DisableInsertBalancing) {
202194
// remove service scrape because service was renamed
203195
if !ptr.Deref(cr.Spec.VLInsert.DisableSelfServiceScrape, false) {
204196
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &vmv1beta1.VMServiceScrape{
@@ -210,9 +202,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
210202
}
211203
// disabled loadbalancer only for component
212204
// transit to the k8s service balancing mode
213-
if prevSpec.RequestsLoadBalancer.Enabled &&
214-
!prevSpec.RequestsLoadBalancer.DisableInsertBalancing &&
215-
cr.Spec.RequestsLoadBalancer.DisableInsertBalancing {
205+
if prevLB.Enabled && !prevLB.DisableInsertBalancing && (!newLB.Enabled || newLB.DisableInsertBalancing) {
216206
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &corev1.Service{ObjectMeta: metav1.ObjectMeta{
217207
Name: cr.GetVLInsertLBName(),
218208
Namespace: cr.Namespace,
@@ -229,16 +219,14 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
229219
}
230220
}
231221

232-
if prevSpec.RequestsLoadBalancer.Enabled && !cr.Spec.RequestsLoadBalancer.Enabled {
222+
if prevLB.Enabled && !newLB.Enabled {
233223
if err := finalize.OnVLClusterLoadBalancerDelete(ctx, rclient, prevCR); err != nil {
234224
return fmt.Errorf("failed to remove loadbalancer components enabled at prev state: %w", err)
235225
}
236226
}
237-
if cr.Spec.RequestsLoadBalancer.Enabled {
227+
if newLB.Enabled {
238228
// case for child objects
239-
prevLBSpec := prevSpec.RequestsLoadBalancer.Spec
240-
lbSpec := cr.Spec.RequestsLoadBalancer.Spec
241-
if prevLBSpec.PodDisruptionBudget != nil && lbSpec.PodDisruptionBudget == nil {
229+
if prevLB.Spec.PodDisruptionBudget != nil && newLB.Spec.PodDisruptionBudget == nil {
242230
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &policyv1.PodDisruptionBudget{
243231
ObjectMeta: metav1.ObjectMeta{
244232
Name: cr.GetVMAuthLBName(),

internal/controller/operator/factory/vmcluster/vmcluster.go

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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(),

internal/controller/operator/factory/vtcluster/cluster.go

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
7373
prevSt := prevSpec.Storage
7474
prevSe := prevSpec.Select
7575
prevIs := prevSpec.Insert
76+
77+
newLB := cr.Spec.RequestsLoadBalancer
78+
prevLB := prevCR.Spec.RequestsLoadBalancer
79+
7680
if prevSt != nil {
7781
if vmst == nil {
7882
if err := finalize.OnVTStorageDelete(ctx, rclient, cr, prevSt); err != nil {
@@ -127,12 +131,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
127131
}
128132
// transition to load-balancer state
129133
// have to remove prev service scrape
130-
if (!prevSpec.RequestsLoadBalancer.Enabled &&
131-
cr.Spec.RequestsLoadBalancer.Enabled &&
132-
!cr.Spec.RequestsLoadBalancer.DisableSelectBalancing) ||
133-
// second case load balancer was enabled, but disabled for select component
134-
(prevSpec.RequestsLoadBalancer.DisableInsertBalancing &&
135-
!cr.Spec.RequestsLoadBalancer.DisableInsertBalancing) {
134+
if newLB.Enabled && !newLB.DisableSelectBalancing && (!prevLB.Enabled || prevLB.DisableSelectBalancing) {
136135
// remove service scrape because service was renamed
137136
if !ptr.Deref(cr.Spec.Select.DisableSelfServiceScrape, false) {
138137
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &vmv1beta1.VMServiceScrape{
@@ -144,9 +143,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
144143
}
145144
// disabled loadbalancer only for component
146145
// transit to the k8s service balancing mode
147-
if prevSpec.RequestsLoadBalancer.Enabled &&
148-
!prevSpec.RequestsLoadBalancer.DisableSelectBalancing &&
149-
cr.Spec.RequestsLoadBalancer.DisableSelectBalancing {
146+
if prevLB.Enabled && !prevLB.DisableSelectBalancing && (!newLB.Enabled || newLB.DisableSelectBalancing) {
150147
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &corev1.Service{ObjectMeta: metav1.ObjectMeta{
151148
Name: cr.GetVTSelectLBName(),
152149
Namespace: cr.Namespace,
@@ -193,12 +190,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
193190
}
194191
// transition to load-balancer state
195192
// have to remove prev service scrape
196-
if (!prevSpec.RequestsLoadBalancer.Enabled &&
197-
cr.Spec.RequestsLoadBalancer.Enabled &&
198-
!cr.Spec.RequestsLoadBalancer.DisableInsertBalancing) ||
199-
// second case load balancer was enabled, but disabled for insert component
200-
(prevSpec.RequestsLoadBalancer.DisableInsertBalancing &&
201-
!cr.Spec.RequestsLoadBalancer.DisableInsertBalancing) {
193+
if newLB.Enabled && !newLB.DisableInsertBalancing && (!prevLB.Enabled || prevLB.DisableInsertBalancing) {
202194
// remove service scrape because service was renamed
203195
if !ptr.Deref(cr.Spec.Insert.DisableSelfServiceScrape, false) {
204196
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &vmv1beta1.VMServiceScrape{
@@ -210,9 +202,7 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
210202
}
211203
// disabled loadbalancer only for component
212204
// transit to the k8s service balancing mode
213-
if prevSpec.RequestsLoadBalancer.Enabled &&
214-
!prevSpec.RequestsLoadBalancer.DisableInsertBalancing &&
215-
cr.Spec.RequestsLoadBalancer.DisableInsertBalancing {
205+
if prevLB.Enabled && !prevLB.DisableInsertBalancing && (!newLB.Enabled || newLB.DisableInsertBalancing) {
216206
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &corev1.Service{ObjectMeta: metav1.ObjectMeta{
217207
Name: cr.GetVTInsertLBName(),
218208
Namespace: cr.Namespace,
@@ -229,16 +219,14 @@ func deletePrevStateResources(ctx context.Context, rclient client.Client, cr, pr
229219
}
230220
}
231221

232-
if prevSpec.RequestsLoadBalancer.Enabled && !cr.Spec.RequestsLoadBalancer.Enabled {
222+
if prevLB.Enabled && !newLB.Enabled {
233223
if err := finalize.OnVTClusterLoadBalancerDelete(ctx, rclient, prevCR); err != nil {
234224
return fmt.Errorf("failed to remove loadbalancer components enabled at prev state: %w", err)
235225
}
236226
}
237-
if cr.Spec.RequestsLoadBalancer.Enabled {
227+
if newLB.Enabled {
238228
// case for child objects
239-
prevLBSpec := prevSpec.RequestsLoadBalancer.Spec
240-
lbSpec := cr.Spec.RequestsLoadBalancer.Spec
241-
if prevLBSpec.PodDisruptionBudget != nil && lbSpec.PodDisruptionBudget == nil {
229+
if prevLB.Spec.PodDisruptionBudget != nil && newLB.Spec.PodDisruptionBudget == nil {
242230
if err := finalize.SafeDeleteWithFinalizer(ctx, rclient, &policyv1.PodDisruptionBudget{
243231
ObjectMeta: metav1.ObjectMeta{
244232
Name: cr.GetVMAuthLBName(),

0 commit comments

Comments
 (0)