-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Bug 1721619: pkg/types/aws/defaults/platform: Default us-west-2 to m5 #1787
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
Bug 1721619: pkg/types/aws/defaults/platform: Default us-west-2 to m5 #1787
Conversation
Some regions have per-zone support differences for available instance
classes. For example, us-west-2 has m4 instances in zones a through
c, but not in zone d. It supports m5 instances in all four zones [1].
Unfortunately, we can't switch to just using the reserved-instance
offerings, because Paris claims those for m4.large in all three of its
zones:
$ AWS_PROFILE=ci aws --region eu-west-3 ec2 describe-reserved-instances-offerings --instance-tenancy default --instance-type m4.large --product-description 'Linux/UNIX' --filters Name=scope,Values='Availability Zone' | jq -r '[.ReservedInstancesOfferings[].AvailabilityZone] | sort | unique[]'
eu-west-3a
eu-west-3b
eu-west-3c
but still does not price on-demand compute instances for that region:
$ AWS_PROFILE=ci aws --region us-east-1 pricing get-products --service-code AmazonEC2 --filters Field=tenancy,Type=TERM_MATCH,Value=Shared Field=productFamily,Type=TERM_MATCH,Value='Compute Instance' Field=operatingSystem,Type=TERM_MATCH,Value=Linux Field=instanceFamily,Type=TERM_MATCH,Value='General purpose' | jq -r '[.PriceList[] | fromjson | .product.attributes | select(.instanceType == "m4.large").location] | sort | unique[]'
AWS GovCloud (US)
Asia Pacific (Mumbai)
Asia Pacific (Osaka-Local)
Asia Pacific (Seoul)
Asia Pacific (Singapore)
Asia Pacific (Sydney)
Asia Pacific (Tokyo)
Canada (Central)
EU (Frankfurt)
EU (Ireland)
EU (London)
South America (Sao Paulo)
US East (N. Virginia)
US East (Ohio)
US West (N. California)
US West (Oregon)
So the new test here only assumes a match when both APIs claim support
for the instance class in a given region to avoid re-breaking Paris
[2].
After rerolling the test to account for that sort of thing, I made the
default change to address:
$ AWS_PROFILE=ci go test -count 1 .
--- FAIL: TestGetDefaultInstanceClass (57.36s)
--- FAIL: TestGetDefaultInstanceClass/US_West_(Oregon) (1.22s)
default_instance_class_test.go:176: map[m4:map[us-west-2c:{} us-west-2a:{} us-west-2b:{}] m5:map[us-west-2b:{} us-west-2c:{} us-west-2d:{} us-west-2a:{}]]
default_instance_class_test.go:177:
Error Trace: default_instance_class_test.go:177
Error: Not equal:
expected: "m4"
actual : "m5"
Diff:
--- Expected
+++ Actual
@@ -1 +1 @@
-m4
+m5
Test: TestGetDefaultInstanceClass/US_West_(Oregon)
FAIL
FAIL github.com/openshift/installer/platformtests/aws 57.374s
The zone-error fallback covers regions that I don't have access too,
where requesting zones returns errors like (us-gov-east-1):
AuthFailure: AWS was not able to validate the provided access credentials
and (ap-northeast-3):
OptInRequired: You are not subscribed to this service. Please go to http://aws.amazon.com to subscribe.
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1713157#c1
[2]: openshift#1127
|
/hold
|
|
/bugzilla refresh |
|
@openshift-merge-robot: This pull request references a valid Bugzilla bug. DetailsIn 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. |
|
/hold cancel We no longer have to remember to hold these; merging is gated on the new
|
|
@openshift-cherrypick-robot: This pull request references a valid Bugzilla bug. DetailsIn 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. |
|
/retest |
|
linked pr has soaked in master for over a month. approved for 4.1.z. |
|
[APPROVALNOTIFIER] This PR is APPROVED Approval requirements bypassed by manually added approval. This pull-request has been approved by: openshift-cherrypick-robot The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
This is an automated cherry-pick of #1786
/assign wking