• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

NVIDIA / nvidia-container-toolkit
37%
main: 38%

Build:
Build:
LAST BUILD BRANCH: pull-request/1444
DEFAULT BRANCH: main
Repo Added 22 May 2025 04:41PM UTC
Token yURQA9qJZkSTLsagBnXzxNupHtB5LQLk7 regen
Build 1361 Last
Files 230
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH pull-request/1400
branch: pull-request/1400
CHANGE BRANCH
x
Reset
Sync Branches
  • pull-request/1400
  • 1.18.0rc2
  • CNT-4766/create-so-symlinks
  • NewEmpty
  • add-additional-device-node-information
  • add-device-ids-to-getspec
  • add-driver-lib-root-envvar
  • add-existing-runtimes-to-containerd-drop-in
  • add-imex-channel-to-jit-cdi
  • add-nspect-integration
  • add-nvidiascape-test
  • add-openrm-discoverer-to-csv-mode
  • add-version-to-driver-struct
  • allow-config-override-by-envvar
  • allow-config-source-to-be-overridden
  • allow-scan-failures
  • b/5363680
  • b/5366608
  • b/5371533
  • bug/5366608
  • bump-golang-125
  • bump-image-in-tests
  • bump-release-v1.18.0-rc.1
  • bump-release-v1.18.0-rc.3
  • bump-release-v1.18.0-rc.4
  • cdi_generate_env_cli
  • clean-runtime-config-api
  • cleanup-default-runtime-field
  • codecov
  • default-to-cdi
  • dependabot/docker/deployments/container/main/nvidia/cuda-12.9.1-base-ubuntu20.04
  • dependabot/docker/deployments/container/main/nvidia/distroless/go-v3.1.10-dev
  • dependabot/docker/deployments/container/main/nvidia/distroless/go-v3.1.11-dev
  • dependabot/docker/deployments/container/main/nvidia/distroless/go-v3.1.12-dev
  • dependabot/docker/deployments/devel/main/golang-1.24.4
  • dependabot/docker/deployments/devel/main/golang-1.24.5
  • dependabot/docker/deployments/devel/main/golang-1.24.6
  • dependabot/docker/deployments/devel/main/golang-1.25.1
  • dependabot/github_actions/main/NVIDIA/holodeck-0.2.10
  • dependabot/github_actions/main/actions/checkout-5
  • dependabot/github_actions/main/actions/download-artifact-5
  • dependabot/github_actions/main/actions/setup-go-6
  • dependabot/github_actions/main/slackapi/slack-github-action-2.1.1
  • dependabot/go_modules/deployments/devel/github.com/go-viper/mapstructure/v2-2.3.0
  • dependabot/go_modules/deployments/devel/main/github.com/matryer/moq-0.6.0
  • dependabot/go_modules/main/github.com/NVIDIA/go-nvlib-0.7.3
  • dependabot/go_modules/main/github.com/NVIDIA/go-nvlib-0.7.4
  • dependabot/go_modules/main/github.com/NVIDIA/go-nvml-0.12.9-0
  • dependabot/go_modules/main/github.com/NVIDIA/go-nvml-0.13.0-1
  • dependabot/go_modules/main/github.com/opencontainers/runc-1.3.1
  • dependabot/go_modules/main/github.com/opencontainers/runc-1.3.2
  • dependabot/go_modules/main/github.com/stretchr/testify-1.11.0
  • dependabot/go_modules/main/github.com/stretchr/testify-1.11.1
  • dependabot/go_modules/main/github.com/urfave/cli-altsrc/v3-3.1.0
  • dependabot/go_modules/main/github.com/urfave/cli/v2-2.27.7
  • dependabot/go_modules/main/github.com/urfave/cli/v3-3.4.0
  • dependabot/go_modules/main/github.com/urfave/cli/v3-3.4.1
  • dependabot/go_modules/main/golang.org/x/mod-0.25.0
  • dependabot/go_modules/main/golang.org/x/mod-0.26.0
  • dependabot/go_modules/main/golang.org/x/mod-0.27.0
  • dependabot/go_modules/main/golang.org/x/mod-0.28.0
  • dependabot/go_modules/main/golang.org/x/sys-0.34.0
  • dependabot/go_modules/main/golang.org/x/sys-0.35.0
  • dependabot/go_modules/main/golang.org/x/sys-0.36.0
  • dependabot/go_modules/tests/main/github.com/onsi/ginkgo/v2-2.24.0
  • dependabot/go_modules/tests/main/github.com/onsi/ginkgo/v2-2.25.0
  • dependabot/go_modules/tests/main/github.com/onsi/ginkgo/v2-2.25.1
  • dependabot/go_modules/tests/main/github.com/onsi/ginkgo/v2-2.25.2
  • dependabot/go_modules/tests/main/github.com/onsi/ginkgo/v2-2.25.3
  • dependabot/go_modules/tests/main/github.com/onsi/ginkgo/v2-2.26.0
  • dependabot/go_modules/tests/main/github.com/onsi/gomega-1.38.0
  • dependabot/go_modules/tests/main/github.com/onsi/gomega-1.38.1
  • dependabot/go_modules/tests/main/github.com/onsi/gomega-1.38.2
  • dependabot/go_modules/tests/main/golang.org/x/crypto-0.39.0
  • dependabot/go_modules/tests/main/golang.org/x/crypto-0.40.0
  • dependabot/go_modules/tests/main/golang.org/x/crypto-0.41.0
  • dependabot/go_modules/tests/main/golang.org/x/crypto-0.42.0
  • dependabot/submodules/main/third_party/libnvidia-container-5476521
  • dependabot/submodules/main/third_party/libnvidia-container-6eda4d7
  • dependabot/submodules/main/third_party/libnvidia-container-710a0f1
  • dependabot/submodules/main/third_party/libnvidia-container-889a3bb
  • disable-device-node-creation
  • drop-in-demo
  • drop-in-in-container
  • dropins
  • dropins_ctk_cmd
  • e2e/nvidia-container-cli
  • e2e_containerd
  • ensure-libcuda.so-in-ldcache
  • fix-cdi-spec-generation
  • fix-compat-on-csv
  • fix-deduplicate-driver-store-wsl
  • fix-driver-library-refactor
  • fix-dummy-sign-job
  • fix-gdrcopy-in-jit-cdi
  • fix-gitlab-references
  • fix-publish
  • fix-publishing-dummy-job
  • fix-rpm-package-definition
  • fix-symlink-tests
  • fix/1049
  • fix_cdi_service
  • fix_systemd_install
  • gds-unprivileged
  • ghost-file-config
  • holodeck_update_0213
  • i-1218
  • i/1049
  • i/1075
  • i1225
  • integrate-ngc-automation
  • isue_1215
  • main
  • make-cdi-device-extraction-consistent
  • multiple_drivers_e2e
  • multiple_drivers_e2e_v2
  • no-pivot-root
  • opt-out-of-drop-in
  • order-of-precedence-envvar
  • pass-options-to-asserts-in-test
  • patch-1
  • pin-libnvidia-container-tools-version
  • pr/1083
  • pull-request/1030
  • pull-request/1076
  • pull-request/1083
  • pull-request/1100
  • pull-request/1107
  • pull-request/1110
  • pull-request/1113
  • pull-request/1118
  • pull-request/1119
  • pull-request/1120
  • pull-request/1123
  • pull-request/1125
  • pull-request/1129
  • pull-request/1130
  • pull-request/1131
  • pull-request/1132
  • pull-request/1143
  • pull-request/1145
  • pull-request/1150
  • pull-request/1152
  • pull-request/1153
  • pull-request/1154
  • pull-request/1158
  • pull-request/1159
  • pull-request/1160
  • pull-request/1165
  • pull-request/1166
  • pull-request/1168
  • pull-request/1169
  • pull-request/1172
  • pull-request/1174
  • pull-request/1175
  • pull-request/1179
  • pull-request/1180
  • pull-request/1181
  • pull-request/1182
  • pull-request/1183
  • pull-request/1185
  • pull-request/1187
  • pull-request/1188
  • pull-request/1189
  • pull-request/1194
  • pull-request/1195
  • pull-request/1201
  • pull-request/1202
  • pull-request/1206
  • pull-request/1211
  • pull-request/1212
  • pull-request/1216
  • pull-request/1219
  • pull-request/1221
  • pull-request/1223
  • pull-request/1229
  • pull-request/1230
  • pull-request/1231
  • pull-request/1235
  • pull-request/1241
  • pull-request/1250
  • pull-request/1251
  • pull-request/1255
  • pull-request/1256
  • pull-request/1258
  • pull-request/1259
  • pull-request/1263
  • pull-request/1264
  • pull-request/1265
  • pull-request/1266
  • pull-request/1267
  • pull-request/1270
  • pull-request/1272
  • pull-request/1273
  • pull-request/1276
  • pull-request/1277
  • pull-request/1279
  • pull-request/1280
  • pull-request/1281
  • pull-request/1285
  • pull-request/1287
  • pull-request/1291
  • pull-request/1293
  • pull-request/1294
  • pull-request/1298
  • pull-request/1299
  • pull-request/1300
  • pull-request/1303
  • pull-request/1304
  • pull-request/1308
  • pull-request/1311
  • pull-request/1313
  • pull-request/1314
  • pull-request/1315
  • pull-request/1322
  • pull-request/1323
  • pull-request/1325
  • pull-request/1326
  • pull-request/1327
  • pull-request/1330
  • pull-request/1331
  • pull-request/1335
  • pull-request/1336
  • pull-request/1337
  • pull-request/1339
  • pull-request/1341
  • pull-request/1342
  • pull-request/1344
  • pull-request/1345
  • pull-request/1348
  • pull-request/1351
  • pull-request/1354
  • pull-request/1355
  • pull-request/1358
  • pull-request/1359
  • pull-request/1360
  • pull-request/1362
  • pull-request/1365
  • pull-request/1366
  • pull-request/1367
  • pull-request/1368
  • pull-request/1372
  • pull-request/1373
  • pull-request/1374
  • pull-request/1377
  • pull-request/1378
  • pull-request/1382
  • pull-request/1383
  • pull-request/1401
  • pull-request/1403
  • pull-request/1407
  • pull-request/1408
  • pull-request/1409
  • pull-request/1410
  • pull-request/1411
  • pull-request/1418
  • pull-request/1419
  • pull-request/1420
  • pull-request/1421
  • pull-request/1424
  • pull-request/1428
  • pull-request/1431
  • pull-request/1432
  • pull-request/1440
  • pull-request/1441
  • pull-request/1444
  • pull-request/1448
  • pull-request/1450
  • pull-request/1451
  • pull-request/1453
  • pull-request/1454
  • pull-request/315
  • pull-request/326
  • pull-request/602
  • pull-request/763
  • pull-request/910
  • pull-request/927
  • pull-request/947
  • pull-request/958
  • pull-request/960
  • refactor-cdi-api
  • refresh_cdi
  • release-1.18
  • remove-dist-tag
  • remove-docker-runc
  • remove-release-archive
  • remove-unneeded-cdi-annotations
  • switch-default-crio-config-mode
  • switch-to-distroless
  • switch-to-ubi9
  • systemd-envfile
  • systemd_e2e
  • unconditional-ldcache
  • update_ctk_unit_test
  • use-config-path-when-running-config-dump
  • use-public-runners
  • use-securejoin
  • use-ubi8-image
  • vfio-cdi-mode
  • vulkan-target-cpu

30 Oct 2025 11:39PM UTC coverage: 37.283%. Remained the same
18958090005

push

github

cdesiniotis
Redirect log message to stderr in nvidia runtime wrapper script

This change is required to make our nvidia runtime wrapper compliant with
the OCI runtime spec. All OCI-compliant runtimes must support the operations
documented at https://github.com/opencontainers/runtime-spec/blob/v1.2.1/runtime.md#operations.
Before this change, our nvidia runtime wrapper was not producing the expected
output when the query state operation (`state <container-id>`) was invoked
AND the nvidia kernel modules happened to not be loaded. In this case, we were
emitting an extra log message which caused the stdout of this command to not
adhere to the schema defined in the OCI runtime spec. Redirecting the log
message to stderr makes us compliant.

This issue was discovered when deploying GPU Operator 25.10.0 on nodes using cri-o.
GPU Operator 25.10.0 is the first release that installs nvidia runtime handlers
with cri-o by default, as opposed to installing an OCI hook file. When performing
a GPU driver upgrade, pods in the gpu-operator namespace would be in the
`Init:RunContainerError` state for several minutes until the new driver finished
installing -- note that no nvidia driver modules are loaded during this span of
several minutes. When inspecting the cri-o logs, we observed the following error
message:

```
level=warning msg="Error updating the container status \"<a class=hub.com/NVIDIA/nvidia-container-toolkit/commit/16779f4cd2414a164aae56856b491f86fe0c6b80">16779f4cd3a3b4474ada2cc0864c8e028\": failed to decode container status for 16779f4cd2414a164aae56856b491f86fe0c6b803a3b4474ada2cc0864c8e028: skipThreeBytes: expect ull, error found in #2 byte of ...|nvidia drive|..., bigger context ...|nvidia driver modules are not yet loaded, invoking /|..." id=a4b48041-edc4-48c2-8d75-4ad03cb3d8e1 name=/runtime.v1.RuntimeService/CreateContainer
```

This error message indicates cri-o failed to get the status of the container because
it could not decode the JSON returned by the runtime handler.

Signed-off-by: Christopher Desiniotis <cdesiniotis@nvidia.com>

1 of 1 new or added line in 1 file covered. (100.0%)

5037 of 13510 relevant lines covered (37.28%)

0.42 hits per line

Relevant lines Covered
Build:
Build:
13510 RELEVANT LINES 5037 COVERED LINES
0.42 HITS PER LINE
Source Files on pull-request/1400
  • Tree
  • List 230
  • Changed 1
  • Source Changed 1
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
18958090005 pull-request/1400 Redirect log message to stderr in nvidia runtime wrapper script This change is required to make our nvidia runtime wrapper compliant with the OCI runtime spec. All OCI-compliant runtimes must support the operations documented at https://github.co... push 30 Oct 2025 11:40PM UTC cdesiniotis github
37.28
18957292195 pull-request/1400 Redirect log message to stderr in nvidia runtime wrapper script This change is required to make our nvidia runtime wrapper compliant with the OCI runtime spec. All OCI-compliant runtimes must support the operations documented at https://github.co... push 30 Oct 2025 10:56PM UTC cdesiniotis github
37.28
See All Builds (1318)

Badge your Repo: nvidia-container-toolkit

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc