-
Notifications
You must be signed in to change notification settings - Fork 431
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
Find current Kubernetes versions for e2e testing #2388
Conversation
/milestone v1.4 |
/retitle [WIP] Find current Kubernetes versions for e2e testing |
19fc9c6
to
31a7875
Compare
/retest |
This seems to have uncovered a bug or publishing gap:
I'll investigate. |
Looks like we didn't publish v1.22.10 for Windows-2019 (non-contained). I'm backfilling that now, and there should be new patch releases today as well so I'll try to publish all that together. |
How come the tests tried to use it if it wasn't published? Is it because it found the containerd image? |
Yes, because it found v1.22.10 as a containerd image, but this code only returns the version string. Later code assumed that this would be available in non-contained as well, which it should have been. |
I thought we weren't testing dockershim anymore since #2292 ? cc @jsturtevant Shouldn't these tests be using the containerd image? |
Looks like we looked for containerd but ended up looking for the sku without containerd:
|
31a7875
to
f60a9d2
Compare
f60a9d2
to
95ad291
Compare
/retitle Find current Kubernetes versions for e2e testing |
It appears we have a non-deterministic failure in a unit test: % go test -timeout 30s -tags e2e -run '^TestAzureMachinePool_Validate$' sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 -count=1
ok sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 0.341s
% go test -timeout 30s -tags e2e -run '^TestAzureMachinePool_Validate$' sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 -count=1
ok sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 0.508s
% go test -timeout 30s -tags e2e -run '^TestAzureMachinePool_Validate$' sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 -count=1
ok sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 0.372s
% go test -timeout 30s -tags e2e -run '^TestAzureMachinePool_Validate$' sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 -count=1
ok sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 0.348s
% go test -timeout 30s -tags e2e -run '^TestAzureMachinePool_Validate$' sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 -count=1
--- FAIL: TestAzureMachinePool_Validate (0.00s)
--- FAIL: TestAzureMachinePool_Validate/HasInvalidMaximumTerminateNotificationTimeout (0.00s)
azuremachinepool_test.go:113:
Expected
<string>: spec: Forbidden: can be set only if the MachinePool feature flag is enabled
to contain substring
<string>: maximum timeout 15 is allowed for TerminateNotificationTimeout
--- FAIL: TestAzureMachinePool_Validate/HasValidImage (0.00s)
azuremachinepool_test.go:66:
Unexpected error:
<*field.Error | 0x14000594040>: {
Type: "FieldValueForbidden",
Field: "spec",
BadValue: <string>"",
Detail: "can be set only if the MachinePool feature flag is enabled",
}
spec: Forbidden: can be set only if the MachinePool feature flag is enabled
occurred
FAIL
FAIL sigs.k8s.io/cluster-api-provider-azure/exp/api/v1beta1 0.374s
FAIL Edit: see #2394 |
95ad291
to
a6dede5
Compare
/retest |
a6dede5
to
651b241
Compare
651b241
to
949f0d7
Compare
@@ -89,18 +89,18 @@ func (s *Service) GetDefaultWindowsImage(ctx context.Context, location, k8sVersi | |||
osAndVersion = azure.DefaultWindowsOsAndVersion | |||
} | |||
|
|||
// Starting with 1.22 we default to containerd for Windows unless the runtime flag is set. | |||
if v.GE(v122) && runtime != "dockershim" && !strings.HasSuffix(osAndVersion, "-containerd") { |
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.
This fix needs to be backported.
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.
let's backport the whole PR, I think we also want to backport the test fixes
/retest Failure in |
The last run used v1.22.11 which was just published so looks like this is working as expected 🎉 /lgtm |
/retest |
Where do you see this in the logs? I've been poking around having trouble finding the version selected. If found the sku selected in the capz manager logs. If its not logged should it be so we have a way to verify the image selected? I probably just looking in wrong place :-) |
+1 to logging the selection version though to make it more obvious |
thanks! Now that the version isn't in the sku, I think it would be useful to print the version along with
|
If you're referring to the "VM image cache [hit|miss]" logs, that's at a level above version, so it really can't be logged there. But we could add logging to Edit: see #2412 |
@jsturtevant any objection to merging this? Logging is being improved in a separate PR |
sounds good |
/approve |
@CecileRobertMichon: 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:
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 |
@CecileRobertMichon: new pull request created: #2416 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. |
What type of PR is this?
/kind bug
What this PR does / why we need it:
After #2302 merged with related test-infra changes, our e2e code did not catch up. This change does that, so now e2e tests using these SKU-related helper functions will find newer Kubernetes versions published with the new SKU/version naming scheme.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
TODOs:
Release note: