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
add Azure machine pool rolling upgrades with MaxSurge, MaxUnavailable and DeletePolicy #1332
Conversation
/retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I started reviewing but I'm having a hard time following all the different changes... It would greatly help review if you were able to split out any unrelated improvements to other PRs and structure the changes in this PR in multiple commits.
6409b27
to
1c493b9
Compare
4cdbbd0
to
81f945b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still working through reviewing all the files... thanks for splitting up commits
} | ||
|
||
// ProviderID returns the K8s provider ID for the VMSS instance | ||
func (vm VMSSVM) ProviderID() string { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this stuff really belong in here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy to put them where ever. They definitely didn't belong in the ./exp/api
where they were before.
I do think they belong here as they are basically the spec structs which have yet to be refactored for the exp controllers.
5fb9099
to
a9b1a62
Compare
lgtm |
I'll take another pass by EOD |
if err = controllers.NewAzureMachineReconciler( | ||
mgr.GetClient(), | ||
ctrl.Log.WithName("controllers").WithName("AzureMachine"), | ||
if err := mgr.AddReadyzCheck("ping", healthz.Ping); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it normal that readyz check takes the same args as healthz check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree. I was just keeping what is already in HEAD.
cluster-api-provider-azure/main.go
Lines 431 to 434 in bd90477
if err := mgr.AddReadyzCheck("ping", healthz.Ping); err != nil { | |
setupLog.Error(err, "unable to create ready check") | |
os.Exit(1) | |
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -162,6 +162,12 @@ metadata: | |||
spec: | |||
identity: SystemAssigned | |||
location: ${AZURE_LOCATION} | |||
strategy: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are these required changes to the templates or are they illustrative / used as examples? I don't see any docs updates or additions in this PR, what parts of the PR do you think are user-facing changes that need documentation updates?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are not required. I only added them for illustrative purposes.
The item that needs documentation is the rollout and delete policies. I'll create an issue to address rather than adding to an already enormous PR.
ff4f6ad
to
f26e63d
Compare
test failed because of quota issues in centralus: #1428 |
/retest |
/lgtm and, given @nader-ziada's comment above /approve /pony |
In response to this:
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. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: CecileRobertMichon 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 |
@devigned: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
What type of PR is this?
/kind feature
What this PR does / why we need it:
This PR introduces
AzureMachinePoolMachine
resource to replaceAzureMachinePool.Status.Instances
in accordance to Azure Machine Pool Machines Proposal.This also introduces the machine pool rolling upgrade strategy which provides, MaxSurge, MaxUnavailable, and DeletePolicy modeled after machine deployments.
Functional changes:
AzureMachinePoolMachines
AzureMachinePool
resourcesNon-goals of the PR (follow up PRs):
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):related #1105
fixes #1361
Special notes for your reviewer:
Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.
TODOs:
Release note: