@@ -183,8 +183,10 @@ func (cc *CnController) SyncCnSpec(ctx context.Context, object object.StarRocksO
183
183
// build and deploy HPA
184
184
if cnSpec .AutoScalingPolicy != nil {
185
185
return cc .deployAutoScaler (ctx , object , cnSpec , * cnSpec .AutoScalingPolicy , & sts )
186
+ } else {
187
+ // If the HPA policy is nil, delete the HPA resource.
188
+ return cc .deleteAutoScaler (ctx , object )
186
189
}
187
- return nil
188
190
}
189
191
190
192
// UpdateWarehouseStatus updates the status of StarRocksWarehouse.
@@ -253,6 +255,9 @@ func (cc *CnController) UpdateStatus(ctx context.Context, object object.StarRock
253
255
return nil
254
256
}
255
257
258
+ // ClearWarehouse clear the warehouse resource. It is different from ClearResources, which need to clear the
259
+ // CN related resources of StarRocksCluster. ClearWarehouse only has CN related resources, when the warehouse CR
260
+ // is deleted, sub resources of CN will be deleted by k8s.
256
261
func (cc * CnController ) ClearWarehouse (ctx context.Context , namespace string , name string ) error {
257
262
logger := logr .FromContextOrDiscard (ctx ).WithName (cc .GetControllerName ()).WithValues (log .ActionKey , log .ActionClearWarehouse )
258
263
ctx = logr .NewContext (ctx , logger )
@@ -341,11 +346,11 @@ func (cc *CnController) deployAutoScaler(ctx context.Context, object object.Star
341
346
}
342
347
343
348
// deleteAutoScaler delete the autoscaler.
344
- func (cc * CnController ) deleteAutoScaler (ctx context.Context , src * srapi. StarRocksCluster ) error {
349
+ func (cc * CnController ) deleteAutoScaler (ctx context.Context , object object. StarRocksObject ) error {
345
350
logger := logr .FromContextOrDiscard (ctx )
346
351
347
- autoScalerName := cc .generateAutoScalerName (src . Name , (* srapi .StarRocksCnSpec )(nil ))
348
- if err := k8sutils .DeleteAutoscaler (ctx , cc .k8sClient , src .Namespace , autoScalerName ); err != nil && ! apierrors .IsNotFound (err ) {
352
+ autoScalerName := cc .generateAutoScalerName (object . AliasName , (* srapi .StarRocksCnSpec )(nil ))
353
+ if err := k8sutils .DeleteAutoscaler (ctx , cc .k8sClient , object .Namespace , autoScalerName ); err != nil && ! apierrors .IsNotFound (err ) {
349
354
logger .Error (err , "delete autoscaler failed" )
350
355
return err
351
356
}
@@ -381,7 +386,7 @@ func (cc *CnController) ClearResources(ctx context.Context, src *srapi.StarRocks
381
386
return err
382
387
}
383
388
384
- if err := cc .deleteAutoScaler (ctx , src ); err != nil && ! apierrors .IsNotFound (err ) {
389
+ if err := cc .deleteAutoScaler (ctx , object . NewFromCluster ( src ) ); err != nil && ! apierrors .IsNotFound (err ) {
385
390
logger .Error (err , "delete autoscaler failed" )
386
391
return err
387
392
}
0 commit comments