-
Notifications
You must be signed in to change notification settings - Fork 41.5k
Adding an e2e test on Windows GMSA support #74738
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
Conversation
Hi @wk8. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
@yujuhong @dchen1107 @michmike @PatrickLang : guidance appreciated as to how to make sure that e2e test can run successfully as part of builds (see the |
test/e2e/windows/density.go
Outdated
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.
Note to reviewers: this has been moved to https://github.com/kubernetes/kubernetes/pull/74738/files#diff-b0ddb1c276f901c22122f6283cc7348c
/ok-to-test |
/assign dchen1107 |
/assign @adelina-t @BCLAU |
/sig windows |
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.
/area test
/kind feature
/priority important-soon
/lgtm |
/assign @dchen1107 |
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.
Thank you for this PR :). Left some comments inside.
test/e2e/windows/framework.go
Outdated
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.
Not a fan of this being hardcoded here.
Also, the pause image here ( the one returned by GetPauseImageName() ):
kubernetes/test/utils/image/manifest.go
Line 128 in b67126e
Pause = Config{gcRegistry, "pause", "3.1"} |
By passing this env var:
kubernetes/test/utils/image/manifest.go
Line 66 in b67126e
repoList := os.Getenv("KUBE_TEST_REPO_LIST") |
with a file containing the registry names for windows images, the pause image should be fine.
In the upstream tests we use these registries: https://github.com/kubernetes-sigs/windows-testing/blob/master/images/image-repo-list
In fact, all the dockerfiles + documentation of the images we use in upstream e2e windows tests is 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.
👍
test/e2e/windows/gmsa.go
Outdated
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.
Same comment as above. No need to hardcore. We should just use one of the images in "k8s.io/kubernetes/test/utils/image", they are all based on windowsservercore , thus will have powershell. If not, we can just define another image in "k8s.io/kubernetes/test/utils/image", either way I suggest we stick to having all image names and repos there.
Thanks for the review @adelina-t :) addressed your comments. |
test/e2e/windows/README.md
Outdated
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.
Considering that kubernetes-sigs/windows-testing is the official repo, that would make it's image-repo-list file official and up to date. I would just have that file mentioned, no need for both.
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.
👍
test/e2e/windows/gmsa.go
Outdated
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.
Well, the command and args are unnecessary. It is a pause image after all, it is supposed to do that anyways.
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, thanks. Changed.
Sorry I forgot changing this as part of 9eac1bebd024ccf510ab126c08d7dfacd1e651d0 (was using image mcr.microsoft.com/powershell
before).
/test pull-kubernetes-e2e-gce |
test/e2e/windows/README.md
Outdated
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.
Can this be moved to a separate commit from the main GMSA test commit? Ok to be part of the same PR.
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.
👍
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.
Looks good overall. Please address the FIX comment, squash the commits and separate out the README fix to a separate commit.
test/e2e/windows/gmsa.go
Outdated
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 needs to be removed/fixed right?
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.
Yes - but before I remove it I'd like to see it failing where it's supposed to be running, to make sure this test actually runs somewhere... And I haven't seen that yet?
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.
Discussed with @wk8 offline that these tests won't run as PROW or get picked up by the other testgrid suites right now.
Signed-off-by: Jean Rouge <rougej+github@gmail.com>
This patch is adding an e2e on the Windows GMSA support added in kubernetes#73726 and kubernetes#74737. Signed-off-by: Jean Rouge <rougej+github@gmail.com>
/lgtm |
/test pull-kubernetes-e2e-gce-100-performance |
/approve |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: michmike, wk8 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 |
@@ -0,0 +1,155 @@ | |||
/* | |||
Copyright 2018 The Kubernetes Authors. |
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.
s/2018/2019
f.PodClient().Create(pod) | ||
|
||
ginkgo.By("waiting for the pod and its containers to be running") | ||
gomega.Eventually(func() bool { |
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.
You can just use framework.WaitForPodReady()
There are other utilities functions like that. Is there any reason to roll your own?
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.
No reason other than I didn't spot these functions, apologies. @adelina-t kindly fixed that in #75116
What type of PR is this?
/kind feature
What this PR does / why we need it:
This patch is adding an e2e on the Windows GMSA support added in
#73726 and
#74737.
Which issue(s) this PR fixes:
@yujuhong requested an e2e test on this at #73726 (review).
Special notes for your reviewer:
This e2e test has been verified to pass on a cluster with a Windows node with the
WindowsGMSA=true
feature gate enabled (and the kubelet compiled from#74737); however, I don't believe that
feature gate is enabled when running a "regular" build. Would it be possible to:
set the config it needs?
Does this PR introduce a user-facing change?: