Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ MachinePool annotation for externally managed autoscaler #7107

Merged

Conversation

jackfrancis
Copy link
Contributor

What this PR does / why we need it:

This PR proposes a standard MachinePool annotation that can be used to indicate that replica enforcement is under the control of an external (in the sense that it is not native to cluster-api) autoscaler solution. This is currently useful in Managed Kubernetes scenarios, but could also be potentially used by domain/provider-specific solutions that operate against native infra metrics to determine autoscaling criteria and don't have a way to communicate with cluster-api.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Aug 23, 2022
@jackfrancis
Copy link
Contributor Author

cc @CecileRobertMichon @mboersma

@CecileRobertMichon
Copy link
Contributor

FYI @dthorsen

This is an alternative solution to #5685

@jackfrancis jackfrancis force-pushed the machinepool-external-autoscaler branch from 3fb89fa to 2299cd4 Compare October 15, 2022 00:27
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Oct 15, 2022
@jackfrancis jackfrancis force-pushed the machinepool-external-autoscaler branch from 2299cd4 to 0eda6f2 Compare October 15, 2022 00:37
Copy link
Contributor

@CecileRobertMichon CecileRobertMichon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 20, 2022
@CecileRobertMichon
Copy link
Contributor

/assign @enxebre

@jackfrancis jackfrancis force-pushed the machinepool-external-autoscaler branch 2 times, most recently from 82c0755 to b24b64e Compare November 9, 2022 20:27
Copy link
Member

@sbueringer sbueringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last nits from my side, otherwise lgtm

util/annotations/helpers.go Outdated Show resolved Hide resolved
@jackfrancis jackfrancis force-pushed the machinepool-external-autoscaler branch from b24b64e to fad84ba Compare November 10, 2022 18:50
@sbueringer
Copy link
Member

/lgtm

/assign @vincepri
/assign @CecileRobertMichon

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 10, 2022
Copy link
Contributor

@CecileRobertMichon CecileRobertMichon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@jackfrancis
Copy link
Contributor Author

@vincepri do we want to punt on including this in 1.3? (not much time left)

@sbueringer
Copy link
Member

@vincepri do we want to punt on including this in 1.3? (not much time left)

I'm in general in favor of handling things pragmatically. Especially as in this case:

  • we discussed the topic already last week in office hours (and there were no objecttions)
  • we had 2 lgtm's of maintainers (both before the RC)

But given:

  • Week 15-16: RC
    • There is a feature freeze on the release branch
      • Only cherry-picks for documentation, bug fixes, test fixes and test additions are allowed

I would like to hear opinions from other maintainers
(cc @CecileRobertMichon @enxebre @fabriziopandini @vincepri)

P.S. To be clear, if we want to get this into v1.3 we have to merge this PR first and then cherry-pick it into release-1.3.

@CecileRobertMichon
Copy link
Contributor

CecileRobertMichon commented Nov 17, 2022

I could be convinced either way 🤷‍♀️

@AverageMarcus
Copy link
Member

Having this included in the 1.3 release would be useful for providers as work could start right away on adding this support - CAPZ update to use the new annotation, CAPA to merge the related open PR, etc.

@vincepri
Copy link
Member

I'm fine including this in 1.3

/lgtm

@sbueringer
Copy link
Member

sbueringer commented Nov 17, 2022

Okay let's do it :)
(given reasons mentioned in: #7107 (comment))

/approve

/cherry-pick release-1.3

@k8s-infra-cherrypick-robot

@sbueringer: once the present PR merges, I will cherry-pick it on top of release-1.3 in a new PR and assign it to you.

In response to this:

Okay let's do it :)

/approve

/cherry-pick release-1.3

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sbueringer

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 17, 2022
@k8s-ci-robot k8s-ci-robot merged commit 320ec2f into kubernetes-sigs:main Nov 17, 2022
@k8s-ci-robot k8s-ci-robot added this to the v1.4 milestone Nov 17, 2022
@k8s-infra-cherrypick-robot

@sbueringer: new pull request created: #7560

In response to this:

Okay let's do it :)
(given reasons mentioned in: #7107 (comment))

/approve

/cherry-pick release-1.3

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants