Code change:
What happened: During the work for reducing invalid dependencies from the e2e core framework to subpackages of the core framework, we found a lot of particular test specific functions. That means these each function is used at a single e2e test module only. These functions are unnecessary to be shared as e2e framework function, so we've just moved these functions to the particular test module like This cleanup work will help us to maintain the e2e core framework in long term, so it is helpful to share this work in volunteers as a community. This issue is for tracking this working items. How to do that?: volunteer selects a single file which is empty (no PR, no assignee) from the following e2e core framework all functions in the file all callers of each function finding the function is called at a single e2e test package only, let's move the function to the module with a PR Implementation rules: If a function is called from 2+ test packages, don't move the function from the core package. If moving of the function requires invalid code dependencies, don't move the function. (Dependency from e2e core framework to other repository) List of files of e2e core framework: [x] ( ) [x] () [x] ( [x] () [x] [x] () [x] get-kubemark-resource- [x] ( ) [x] (Done) [x] ( ) [x] () [x] ( ) [x] ( ) [x] ( ) [x] ( ) [x] ( ) [x] ( ) [x] () [x] ( ) [x] () [x] () References: This working item was under discussion as
/kind cleanup /remove-kind bug /area e2e-test-framework /sig testing /priority important-longterm
Thanks for taking care of this quickly :-)
The proposed policy to follow for what methods are to be kept within the framework: What do you think ? does that sound good?
Thanks for bring it up here. As I said on the slack, I agree with his idea.
I looked through files , and , and found some of the functions are used in a single module. Then fixed them.
i will pick up
I will pick
I will pick up
/assign I will pick
i will pick and
I will pick up ,,,
The PR for is already created by . Please check what other people picked already before posting a PR.
is already picked/posted by
That is a nice point. I wrote point as one of the above Implementation Rules, and another rule comes from which adds another invalid dependency.
I didn't noticed that already picked by , sorry about that. After looking around, there is noting need to do with: ,,,,(not picked). I will pick the left: . Found that is also no need to move, is the same.
Thanks for your investigation, I've updated the above list based on your input :-)
I think is does not need to be modified, Cloud you please help me confirm it?
and
There is noting need to do with , and I have filed a PR for
Thanks for your help :-) I've updated the above list based on your input.
Thank you also, I approved the PR and updated the above list from your work.
and do not need to be modified. Could you help me confirm it? THX.
I think there is noting need to do with
Thanks for your work, I've updated the above list based on your input.
I checked but there is no func which is called from less than 2 test packages.
Thanks for your investigation, I've updated the above list based on your input.
Nice!
Yes, thank you so much everyone!! :-)

Related discussion:
text: var systemValidateMode = flag.Bool("system-validate-mode", false, "If true, only run system validation in current process, and not run test.") var systemSpecFile = flag.String("system-spec-file", "", "The name of the system spec file that will be used for node conformance test. If it's unspecified or empty, the default system spec (system.DefaultSysSpec) will be used.") <ins> // registerNodeFlags registers flags specific to the node e2e test suite. func registerNodeFlags(flags *flag.FlagSet) { // Mark the test as node e2e when node flags are api.Registry. framework.TestContext.NodeE2E = true flags.StringVar(&framework.TestContext.NodeName, "node-name", "", "Name of the node to run tests on.") // TODO(random-liu): Move kubelet start logic out of the test. // TODO(random-liu): Move log fetch logic out of the test. // There are different ways to start kubelet (systemd, initd, docker, manually started etc.) // and manage logs (journald, upstart etc.). // For different situation we need to mount different things into the container, run different commands. // It is hard and unnecessary to deal with the complexity inside the test suite. flags.BoolVar(&framework.TestContext.NodeConformance, "conformance", false, "If true, the test suite will not start kubelet, and fetch system log (kernel, docker, kubelet log etc.) to the report directory.") flags.BoolVar(&framework.TestContext.PrepullImages, "prepull-images", true, "If true, prepull images so image pull failures do not cause test failures.") flags.StringVar(&framework.TestContext.ImageDescription, "image-description", "", "The description of the image which the test will be running on.") flags.StringVar(&framework.TestContext.SystemSpecName, "system-spec-name", "", "The name of the system spec (e.g., gke) that's used in the node e2e test. The system specs are in test/e2e_node/system/specs/. This is used by the test framework to determine which tests to run for validating the system requirements.") flags.Var(cliflag.NewMapStringString(&framework.TestContext.ExtraEnvs), "extra-envs", "The extra environment variables needed for node e2e tests. Format: a list of key=value pairs, e.g., env1=val1,env2=val2") } </ins> func init() { // Enable bindata file lookup as fallback. testfiles.AddFileSource(testfiles.BindataFileSource{