Skip to content

bug: autoscaling behavior arg reference #223

Open
@aliziel

Description

@aliziel

During one of the recent refactor PRs, a spelling suggestion came up to better align with the HPA spec:

   {{- with .Values.multidim.autoscaling.behavior }}

to match with the spelling in the spec

Originally posted by @sunu in #220 (comment)


The eoapi/values.yaml has always used the UK English behaviour, but the HPA templates reference the arg as the US English behavior (even before the refactor):

behavior:
{{- toYaml (index $v "autoscaling" "behavior") | nindent 4 }}

behavior:
{{- with .Values.stac.autoscaling.behavior }}

behaviour:
scaleDown:
stabilizationWindowSeconds: 60

Options depend on impact and, since we're still getting a sense of usage, these err on the side of caution:

  1. The template should be patched to use the current value spelling (UK English)
  2. If we want to align with the HPA spec (US English):
    1. Changing at the values level seems like a larger versioning consideration. Include when we cut the next minor/major.
    2. If we know we aren't doing a bigger release anytime soon, we could also patch the template and values file to use either UK/US until switching to just US.
      1. This risks some of the conditional complexity described in Helm Chart Refactoring Proposal: Improving Readability and Maintainability #211, but mentioning because deployed instances have likely always used the HPA defaults.
      2. According to the spec, our behavior.scaleDown.stabilizationWindowSeconds setting is 1/5 of the default — not sure if that's significant enough to justify supporting both. FWIW, its one of only a few values specifically documented:
        #### `autoscaling.behaviour.[scaleDown||scaleUp]`
        These are normal k8s autoscaling pass throughs. They are stablization windows in seconds to for scaling up or down to prevent flapping from happening. Read more about [the options on the k8s documentation](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#configurable-scaling-behavior)

Wanted to open up the floor for input. Happy to jump on a PR — would likely start with patching the template spelling to UK (1.) if I hear nothing here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions