@@ -28,6 +28,7 @@ import (
2828
2929 kserveapi "github.com/kserve/kserve/pkg/apis/serving/v1alpha1"
3030 "github.com/kserve/kserve/pkg/apis/serving/v1beta1"
31+ "github.com/kserve/kserve/pkg/constants"
3132 api "github.com/kserve/modelmesh-serving/apis/serving/v1alpha1"
3233 "github.com/kserve/modelmesh-serving/controllers/autoscaler"
3334 "github.com/kserve/modelmesh-serving/controllers/modelmesh"
@@ -291,7 +292,12 @@ func (r *ServingRuntimeReconciler) Reconcile(ctx context.Context, req ctrl.Reque
291292
292293 //ScaleToZero or None autoscaler case
293294 if replicas == uint16 (0 ) || as .Autoscaler .AutoscalerClass == autoscaler .AutoscalerClassNone {
294- mmDeployment .Replicas = replicas
295+ mmDeployment .Replicas = int32 (replicas )
296+ if _ , err = as .Reconcile (true ); err != nil {
297+ return ctrl.Result {}, fmt .Errorf ("HPA reconcile error: %w" , err )
298+ }
299+ } else if as .Autoscaler .AutoscalerClass == constants .AutoscalerClassExternal {
300+ mmDeployment .Replicas = - 1
295301 if _ , err = as .Reconcile (true ); err != nil {
296302 return ctrl.Result {}, fmt .Errorf ("HPA reconcile error: %w" , err )
297303 }
@@ -309,9 +315,9 @@ func (r *ServingRuntimeReconciler) Reconcile(ctx context.Context, req ctrl.Reque
309315 return ctrl.Result {}, fmt .Errorf ("Could not get the deployment for the servingruntime : %w" , err )
310316 }
311317 if * existingDeployment .Spec .Replicas == int32 (0 ) {
312- mmDeployment .Replicas = uint16 ( * (as .Autoscaler .HPA .HPA ).Spec .MinReplicas )
318+ mmDeployment .Replicas = * (as .Autoscaler .HPA .HPA ).Spec .MinReplicas
313319 } else {
314- mmDeployment .Replicas = uint16 ( * (existingDeployment .Spec .Replicas ) )
320+ mmDeployment .Replicas = * (existingDeployment .Spec .Replicas )
315321 }
316322 }
317323
0 commit comments