2.8 KiB
CRI-Containerd Testing Guide
This document assumes you have already setup the development environment (go, git, cri-containerd
repo etc.).
Before sending pull requests you should at least make sure your changes have passed code verification, unit and CRI validation tests.
Code Verification
Code verification includes lint, code formatting, boilerplate check etc.
- Install tools used by code verification:
make install.tools
- Run code verification:
make verify
Unit Test
Run all unit tests in cri-containerd
repo.
make test
CRI Validation Test
CRI validation test is a test framework for validating that a Container Runtime Interface (CRI) implementation such as cri-containerd
meets all the requirements necessary to manage pod sandboxes, containers, images etc.
CRI validation test makes it possible to verify CRI conformance of cri-containerd
without setting up Kubernetes components or running Kubernetes end-to-end tests.
- Install dependencies.
- Build
cri-containerd
:
make
- Run CRI validation test:
make test-cri
- Focus or skip specific CRI validation test:
make test-cri FOCUS=REGEXP_TO_FOCUS SKIP=REGEXP_TO_SKIP
More information about CRI validation test.
Node E2E 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.
- Setup Kubernetes development environment following Kubernetes Development Guide.
- Install dependencies.
- Build and install
cri-containerd
:
make
sudo make install
- Start
containerd
in 1st terminal:
sudo containerd
- Start
cri-containerd
in 2nd terminal:
sudo cri-containerd -v 2 --alsologtostderr
- Run node e2e test from Kubernetes project directory in 3rd terminal:
make test-e2e-node RUNTIME=remote CONTAINER_RUNTIME_ENDPOINT=/var/run/cri-containerd.sock
Note that cri-containerd
is still in alpha, it can only pass part of node e2e tests now.
More information about Kubernetes node e2e test.