• Kubernetes Submit Queue's avatar
    Merge pull request #38153 from Random-Liu/node-conformance-ci · 86657a1f
    Kubernetes Submit Queue authored
    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
    86657a1f
Name
Last commit
Last update
..
e2e Loading commit data...
e2e_node Loading commit data...
fixtures Loading commit data...
images Loading commit data...
integration Loading commit data...
kubemark Loading commit data...
list Loading commit data...
soak Loading commit data...
utils Loading commit data...
OWNERS Loading commit data...
test_owners.csv Loading commit data...