Skip to content

Commit b9904b4

Browse files
Merge pull request #206 from Tal-or/update_kind_local_tests
docs: run kind e2e tests
2 parents 2445a32 + b8f231e commit b9904b4

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

test/e2e/README.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,76 @@ honor these settings, where applicable.
5454
makes the tests which verify the contextual logging integrity dump the full raw captured logs
5555
before to run any actual test. Useful for troubleshooting and test fixing/tuning.
5656
NOTE: setting this value will make the test output significantly larger.
57+
58+
## how to run
59+
60+
The simplest way is from your terminal:
61+
62+
```bash
63+
make test-e2e-kind
64+
```
65+
66+
This creates a kind cluster from scratch, deploys the driver, and runs the full suite.
67+
68+
To run against an existing cluster with the driver already deployed:
69+
70+
```bash
71+
make test-e2e
72+
```
73+
74+
Note: `make test-e2e` does not build or load the test image; it only runs the Go e2e suite.
75+
The `make test-e2e-kind` target builds and loads the image
76+
automatically into a kind cluster, but for an arbitrary cluster the default `IMAGE_TEST` value
77+
points at the local CI image name and will not be pullable. Either make sure the
78+
test image is available to the cluster, or override the image explicitly:
79+
80+
```bash
81+
DRACPU_E2E_TEST_IMAGE=<image> make test-e2e
82+
```
83+
84+
### troubleshooting
85+
86+
- **Kubelet fails with `unknown service runtime.v1.RuntimeService`**
87+
88+
The real error is in the containerd logs: `failed to create fsnotify watcher: too many open files`.
89+
The host's `fs.inotify.max_user_instances` (default 128) is exhausted.
90+
91+
Fix: `sudo sysctl fs.inotify.max_user_instances=1024`, then recreate the cluster.
92+
93+
- **`kind load docker-image` fails with `no unpack platforms defined`**
94+
95+
Happens with fuse-overlayfs storage driver and kind < v0.32.0
96+
([kind#3945](https://github.com/kubernetes-sigs/kind/issues/3945).
97+
98+
Fix: upgrade kind and rebuild the node image:
99+
100+
```bash
101+
go install sigs.k8s.io/kind@v0.32.0
102+
docker rmi kindest/node:<version>
103+
```
104+
105+
- **Pods fail with `openat2 .../cpuset.cpus: no such file or directory`**
106+
107+
When running kind with rootless Docker, the `cpuset` cgroup controller is not
108+
delegated to user sessions by default. The NRI hook sets `cpuset.cpus` on every
109+
container, so all pods (including CoreDNS) crash on startup.
110+
111+
Verify by checking inside a kind node:
112+
113+
```bash
114+
docker exec <kind-node> cat /sys/fs/cgroup/cgroup.controllers
115+
# If "cpuset" is missing from the output, this is the issue.
116+
```
117+
118+
Fix:
119+
120+
```bash
121+
sudo mkdir -p /etc/systemd/system/user@.service.d
122+
sudo tee /etc/systemd/system/user@.service.d/delegate-cpuset.conf <<EOF
123+
[Service]
124+
Delegate=cpuset cpu io memory pids
125+
EOF
126+
sudo systemctl daemon-reload
127+
```
128+
129+
Then recreate the kind cluster.

0 commit comments

Comments
 (0)