This document assumes you have already setup the development environment (go, git, github.com/containerd/containerd
repo etc.).
Before sending pull requests you should at least make sure your changes have passed code verification, unit, integration and CRI validation tests.
Follow the building instructions.
- Run all CRI integration tests:
make cri-integration
- Run specific CRI integration tests: use the
FOCUS
parameter to specify the test case.
# run CRI integration tests that match the test string <TEST_NAME>
FOCUS=<TEST_NAME> make cri-integration
Example:
FOCUS=TestContainerListStats make cri-integration
CRI validation test is a test framework for validating that a Container Runtime Interface (CRI) implementation such as containerd with the cri
plugin meets all the requirements necessary to manage pod sandboxes, containers, images etc.
CRI validation test makes it possible to verify CRI conformance of containerd
without setting up Kubernetes components or running Kubernetes end-to-end tests.
- Install dependencies.
- Run the containerd you built above with the
cri
plugin built in:
containerd -l debug
- Run CRI validation test.
More information about CRI validation test.
Node e2e test is a test framework testing Kubernetes node level functionalities such as managing pods, mounting volumes etc. It starts a local cluster with Kubelet and a few other minimum dependencies, and runs node functionality tests against the local cluster.
Currently e2e-node tests are supported from via Pull Request comments on github.
Enter "/test all" as a comment on a pull request for a list of testing options that have been integrated through prow bot with kubernetes testing services hosted on GCE.
Typing /test pull-containerd-node-e2e
will start a node e2e test run on your pull request commits.
More information about Kubernetes node e2e test.