-
Notifications
You must be signed in to change notification settings - Fork 40.1k
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
Adds support for multiple kubelets to unit test. #47272
Conversation
/area ipv6 |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: danehans Assign the PR to them by writing Associated issue: 46712 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these OWNERS Files:
You can indicate your approval by writing |
Instead of creating multiple kubelet in one test function, why not adding another wrapper function so that the test can use a different, custom, kubelet it it wishes? Or is the intention to run all tests on all kind of kubelets eventually? |
@yujuhong thank you for reviewing my PR. My intention is to run all tests on multiple types of kubelets, starting with IPv4 and IPv6-based kubelets and eventually a dual-stack kubelet. This approach a) helps minimize regressions while adding IPv6 support and b) builds a foundation for additional concurrent, custom kubelet testing. However, I will follow your guidance if you feel a different approach is necessary. Please advise. |
Can you narrow down the code that'd be affected and tested? I don't expect changes like this to affect all unit tests in the package. Running all tests multiple times seem like a waste of resources... |
@yujuhong I can narrow down the code and only update tests with a second, IPv6-only Kubelet for tests with ties to the hostname, nodeName or host IP. With that said, this PR does not implement the second, IPv6-only Kubelet. My intention is to submit a follow-on PR that adds the IPv6-only Kubelet and I will only update tests with ties to the Kubelet hostname, nodeName or host IP. I did not want to update tests with the second, IPv6-only Kubelet if you found this approach unacceptable. With this understanding, do you find the approach this PR takes acceptable? |
/test pull-kubernetes-unit |
/test pull-kubernetes-federation-e2e-gce |
@danehans PR needs rebase |
@yujuhong sig-network is planning to add IPv6 support for the 1.9 release. It would be nice to have IPv6 Kubelet test coverage in the release. I updated this PR in June based on your feedback. If I rebase the PR to address conflicts, will it be accepted? Just trying to avoid having to continually rebase :-) |
I still find creating multiple kubelets for every test and specifying an index inside the test tedious, unclear, and error-prone. |
@yujuhong sounds like a plan. I'll get to work on it. |
@danehans are you still working on the PR? |
@yujuhong I am not. I will close the PR. |
What this PR does / why we need it:
Updates unit tests to support multiple Kubelets per test case. For example, an IPv6 Kubelet, a dual-stack Kubelet, etc.. Currently, all Kubelet unit tests are based off an IPv4 Kubelet. Supporting multiple types of Kubelets in unit tests is required to reduce breakage while adding IPv6 features to Kubernetes.
Which issue this PR fixes
Partially fixes issue #46712. A future PR will be submitted that builds off this PR, adding an IPv6 Kubelet to the test cases.
Special notes for your reviewer:
In support of the larger effort to add IPv6 to Kubernetes identified in issue #1433
Release note: