You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/validation.md
+49Lines changed: 49 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,6 +101,55 @@ critest connects to Unix: `unix:///run/containerd/containerd.sock` or Windows: `
101
101
-`-ginkgo.no-color`: Suppress color output in default reporter.
102
102
-`-ginkgo.trace`: Print out the full stack trace when a failure occurs.
103
103
104
+
### NRI (Node Resource Interface) Testing
105
+
106
+
-`-nri-socket`: Path to the NRI socket (e.g., `/var/run/nri/nri.sock`). When set, NRI integration tests are enabled. When not set, NRI tests are skipped.
107
+
108
+
NRI tests validate runtime behavior when NRI plugins are active. They verify plugin lifecycle hooks (RunPodSandbox, StopPodSandbox, RemovePodSandbox, CreateContainer, StartContainer, StopContainer, RemoveContainer), failure handling, retry semantics, blocking behavior, and multi-plugin ordering guarantees.
109
+
110
+
NRI tests are Linux-only and marked `[Serial]` because they register NRI plugins that affect runtime-wide behavior.
111
+
112
+
#### Running NRI tests against a local runtime
113
+
114
+
The following are example configurations. Refer to the official documentation
115
+
for your container runtime for complete and up-to-date setup instructions:
116
+
117
+
-[NRI repository](https://github.com/containerd/nri) for NRI specification and configuration reference
118
+
-[containerd documentation](https://github.com/containerd/containerd/blob/main/docs/NRI.md) for containerd NRI setup
119
+
-[CRI-O documentation](https://github.com/cri-o/cri-o/blob/main/docs/crio.conf.5.md) for CRI-O NRI configuration
120
+
121
+
Example containerd config with NRI enabled:
122
+
123
+
```toml
124
+
[plugins."io.containerd.nri.v1.nri"]
125
+
disable = false
126
+
disable_connections = false
127
+
plugin_path = "/opt/nri/plugins"
128
+
socket_path = "/var/run/nri/nri.sock"
129
+
```
130
+
131
+
Create the NRI socket directory and restart containerd:
132
+
133
+
```sh
134
+
sudo mkdir -p /var/run/nri
135
+
sudo systemctl restart containerd
136
+
```
137
+
138
+
Then run critest with the NRI socket flag:
139
+
140
+
```sh
141
+
critest --nri-socket=/var/run/nri/nri.sock
142
+
```
143
+
144
+
For CRI-O, add an NRI config drop-in at `/etc/crio/crio.conf.d/10-nri.conf`:
0 commit comments