-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Fix fallback for aws cloudprovider #4873
Fix fallback for aws cloudprovider #4873
Conversation
Welcome @tzneal! |
/assign @jaypipes |
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.
Thanks @tzneal! Couple little comments inline but overall, looks good to me.
@@ -17,6 +17,8 @@ limitations under the License. | |||
package aws | |||
|
|||
import ( | |||
"k8s.io/autoscaler/cluster-autoscaler/config" |
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.
nit: move this import to the block below for 3rd party/local imports...
// This test ensures that no klog.Fatalf calls occur when constructing the AWS cloud provider. Specifically it is | ||
// intended to ensure that instance type fallback works correctly in the event of an error enumerating instance | ||
// types. | ||
_ = BuildAWS(opts, do, resourceLimiter) |
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.
AFAICT, this test is only testing the happy path, though, right? If we passed in a non-existent AWS region, like "us-south-42", for instance, would that trigger an error being returned from GenerateEC2InstanceTypes
and therefore trigger the fallback mechanism?
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.
Good catch, I tested with no credentials set locally, I assumed there were no credentials in the test environment. I'll fix it.
Instead of logging a fatal error, log a standard error and fall back to loading instance types from the static list.
3dc6f39
to
fde836c
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.
Awesome, thanks @tzneal! :)
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jaypipes, tzneal 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 |
Thanks for this @tzneal ! |
…loudprovider Fix fallback for aws cloudprovider
Which component this PR applies to?
cluster-autoscaler
What type of PR is this?
/kind bug
What this PR does / why we need it:
If instance type listing fails, the autoscaler would fail to work. This change modifies behavior so that it falls back
to the static list of instance types.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: