k3s/test
Kubernetes Submit Queue 86657a1fcf Merge pull request #38153 from Random-Liu/node-conformance-ci
Automatic merge from submit-queue

Node Conformance: Node Conformance CI

For https://github.com/kubernetes/kubernetes/issues/37252.

The first 2 commits of this PR are from #38150 and #38152. Please review those 2 PRs first, they are both minor cleanup.

This PR:
* Add `TestSuite` interface in `test/e2e_node/remote` to separate test suite logic (packaging, deploy, run test) from VM lifecycle management logic, so that different test suites can share the same VM lifecycle management logic.
  * Different test suites such as node e2e, node conformance, node soaking, cri validation etc. should implement different `TestSuite`.
  * `test/e2e_node/runner/remote` will initialize and run different test suite based on the subcommand.
* Add `run-kubelet-mode` which only starts and monitors kubelet, similar with `run-services-mode`. The reason we need this:
  * Unlike node e2e, node conformance test doesn't start kubelet inside the test suite (in fact, in the future node e2e shouldn't do that either), it assumes kubelet is already running before the test.
  * In fact, node e2e should use similar node bootstrap script like cluster e2e, and the bootstrap script should initialize the node with all necessary node software including kubelet. However, it's not the case now.
  * The easiest way for now is to reuse the kubelet start logic in the test suite. So in this PR, we added `run-kubelet-mode`, and use the test binary as a kubelet launcher to start kubelet before running the test.
* Implement node e2e `TestSuite`.
* Implement node conformance `TestSuite`. Use `docker save` and `docker load` to create and deploy conformance docker image; Start kubelet by running test binary in `run-kubelet-mode`; Run conformance test with `docker run`.

This PR will make it easy to implement continuous integration node soaking test and cri validation test (https://github.com/kubernetes/kubernetes/pull/35266).

/cc @kubernetes/sig-node
2016-12-14 00:48:09 -08:00
..
e2e Merge pull request #38734 from bprashanth/ing_cleanup_timeout 2016-12-13 21:25:35 -08:00
e2e_node Update log level. 2016-12-13 19:08:55 -08:00
fixtures Revert "add a unit test" 2016-11-22 21:01:20 -08:00
images fix examples/ compilation so that test/ also compiles 2016-12-12 15:14:49 -08:00
integration autoupdate BUILD files 2016-12-12 13:30:07 -08:00
kubemark On kubemark master, kubelet now runs as a supervisord process and all master components as pods 2016-12-12 13:56:07 +01:00
list autoupdate BUILD files 2016-12-12 13:30:07 -08:00
soak fix examples/ compilation so that test/ also compiles 2016-12-12 15:14:49 -08:00
utils Add an option to run Job in Density/Load config 2016-12-13 13:21:30 +01:00
OWNERS
test_owners.csv Drop version-parsing from pkg/version 2016-12-13 08:53:19 -05:00