Skip to content

Commit

Permalink
Merge pull request #338 from israel-hdez/cp-disable-hpa
Browse files Browse the repository at this point in the history
[v0.11.1] Allow disabling creation of the HPA in raw deployment mode (kserve#3086)
  • Loading branch information
Jooho authored Apr 24, 2024
2 parents 78e63a1 + bb39cda commit d40d234
Show file tree
Hide file tree
Showing 10 changed files with 468 additions and 40 deletions.
2 changes: 2 additions & 0 deletions pkg/apis/serving/v1beta1/inference_service_validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@ func validateInferenceServiceAutoscaler(isvc *InferenceService) error {
} else {
return nil
}
case constants.AutoscalerClassExternal:
return nil
default:
return fmt.Errorf("unknown autoscaler class [%s]", class)
}
Expand Down
4 changes: 3 additions & 1 deletion pkg/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,8 @@ var (

// Autoscaler Class
var (
AutoscalerClassHPA AutoscalerClassType = "hpa"
AutoscalerClassHPA AutoscalerClassType = "hpa"
AutoscalerClassExternal AutoscalerClassType = "external"
)

// Autoscaler Metrics
Expand All @@ -170,6 +171,7 @@ var (
// Autoscaler Class Allowed List
var AutoscalerAllowedClassList = []AutoscalerClassType{
AutoscalerClassHPA,
AutoscalerClassExternal,
}

// Autoscaler Metrics Allowed List
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,10 +151,8 @@ func (e *Explainer) Reconcile(isvc *v1beta1.InferenceService) (ctrl.Result, erro
return ctrl.Result{}, errors.Wrapf(err, "fails to set service owner reference for explainer")
}
//set autoscaler Controller
if r.Scaler.Autoscaler.AutoscalerClass == constants.AutoscalerClassHPA {
if err := controllerutil.SetControllerReference(isvc, r.Scaler.Autoscaler.HPA.HPA, e.scheme); err != nil {
return ctrl.Result{}, errors.Wrapf(err, "fails to set HPA owner reference for explainer")
}
if err := r.Scaler.Autoscaler.SetControllerReferences(isvc, e.scheme); err != nil {
return ctrl.Result{}, errors.Wrapf(err, "fails to set autoscaler owner references for explainer")
}

deployment, err := r.Reconcile()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -319,10 +319,8 @@ func (p *Predictor) Reconcile(isvc *v1beta1.InferenceService) (ctrl.Result, erro
return ctrl.Result{}, errors.Wrapf(err, "fails to set service owner reference for predictor")
}
//set autoscaler Controller
if r.Scaler.Autoscaler.AutoscalerClass == constants.AutoscalerClassHPA {
if err := controllerutil.SetControllerReference(isvc, r.Scaler.Autoscaler.HPA.HPA, p.scheme); err != nil {
return ctrl.Result{}, errors.Wrapf(err, "fails to set HPA owner reference for predictor")
}
if err := r.Scaler.Autoscaler.SetControllerReferences(isvc, p.scheme); err != nil {
return ctrl.Result{}, errors.Wrapf(err, "fails to set autoscaler owner references for predictor")
}

deployment, err := r.Reconcile()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,10 +181,8 @@ func (p *Transformer) Reconcile(isvc *v1beta1.InferenceService) (ctrl.Result, er
return ctrl.Result{}, errors.Wrapf(err, "fails to set service owner reference for transformer")
}
//set autoscaler Controller
if r.Scaler.Autoscaler.AutoscalerClass == constants.AutoscalerClassHPA {
if err := controllerutil.SetControllerReference(isvc, r.Scaler.Autoscaler.HPA.HPA, p.scheme); err != nil {
return ctrl.Result{}, errors.Wrapf(err, "fails to set HPA owner reference for transformer")
}
if err := r.Scaler.Autoscaler.SetControllerReferences(isvc, p.scheme); err != nil {
return ctrl.Result{}, errors.Wrapf(err, "fails to set autoscaler owner references for transformer")
}

deployment, err := r.Reconcile()
Expand Down
Loading

0 comments on commit d40d234

Please sign in to comment.