Skip to content

Add GKE COS NVIDIA library mounts#2764

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 6 commits into
mainfrom
guillermo-julian/cursor/gke-cos-nvidia-lib-mounts
Jul 3, 2026
Merged

Add GKE COS NVIDIA library mounts#2764
gh-worker-dd-mergequeue-cf854d[bot] merged 6 commits into
mainfrom
guillermo-julian/cursor/gke-cos-nvidia-lib-mounts

Conversation

@gjulianm

@gjulianm gjulianm commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Mounts GKE COS NVIDIA driver libraries into the Agent and system-probe containers when GPU monitoring runs with providers.gke.cos=true.

This lets GPU monitoring find NVIDIA libraries on GKE COS nodes where they live under /home/kubernetes/bin/nvidia/lib64.

Which issue this PR fixes

Special notes for your reviewer:

Validated with helm template and a temporary deployment on a GKE COS GPU cluster. The Agent DaemonSet reached 3/3 Running, and the Agent container could read NVIDIA libraries from the mounted path.

The test cluster did not have a nvidia RuntimeClass, so deployment validation used --set-string datadog.gpuMonitoring.runtimeClassName=.

Checklist

[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

  • All commits are signed and show as "Verified" on GitHub (see: signing commits)
  • Chart Version semver bump label has been added (use <chartName>/minor-version, <chartName>/patch-version, or <chartName>/no-version-bump)
  • For datadog or datadog-operator chart or value changes, update the test baselines (run: make update-test-baselines)
  • For datadog chart changes, received ✅ from a member of your team

GitHub CI takes care of the below, but are still required:

  • Documentation has been updated with helm-docs (run: .github/helm-docs.sh)
  • CHANGELOG.md has been updated
  • Variables are documented in the README.md

@github-actions github-actions Bot added the chart/datadog This issue or pull request is related to the datadog chart label Jul 1, 2026
@datadog-datadog-prod-us1

This comment has been minimized.

@gjulianm gjulianm added the datadog/patch-version Patch version bump for datadog chart label Jul 2, 2026
- update readme for datadog
@gjulianm
gjulianm marked this pull request as ready for review July 2, 2026 16:33
@gjulianm
gjulianm requested review from a team as code owners July 2, 2026 16:33
@gjulianm
gjulianm requested review from gpalmz and removed request for a team July 2, 2026 16:33

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 45b1507acb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread charts/datadog/templates/_daemonset-volumes-linux.yaml
@raymondeah
raymondeah requested review from raymondeah and removed request for gpalmz July 2, 2026 18:09
mountPath: /var/run/nvidia-container-devices/all
{{- if .Values.providers.gke.cos }}
- name: gke-nvidia-driver-lib64
mountPath: /host/run/nvidia/driver/usr/lib/x86_64-linux-gnu

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: the container path /host/run/nvidia/driver/usr/lib/x86_64-linux-gnu has to match what the agent's NVML detection actually searches, and nothing in the chart wires the two together. Grepping the whole chart, this path appears only in these three template lines (here, _container-system-probe.yaml:153, and the hostPath source at _daemonset-volumes-linux.yaml:255); there's no LD_LIBRARY_PATH or path-pointing env var, so the agent binary must have this directory hardcoded in its search logic. The /host/run/nvidia/driver prefix mirrors the GPU-Operator driver-container root (/run/nvidia/driver) with the chart's /host host-mount convention, so it reads as deliberate rather than arbitrary.

Could you confirm against the agent's NVML library-search code that this exact directory is on the search path? The live validation shows the .so files are present and readable at the mount, but not that NVML loaded them. Worth confirming GPU metrics flow end-to-end, not just that ls finds the libraries.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is part of the default search paths of the agent. I deliberately chose this mount path as it's less likely to conflict with other libraries. Adding a comment mentioning it.

Comment thread charts/datadog/templates/_daemonset-volumes-linux.yaml

gjulianm commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jul 3, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-03 10:04:26 UTC ℹ️ Start processing command /merge


2026-07-03 10:04:33 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 51m (p90).


2026-07-03 10:57:20 UTC 🚨 MergeQueue: This merge request is in error

mergequeue build completed successfully, but the github api returned an error while merging the pr.
It's probably because:

  • target branch of PR is restricted to only allow up-to-date branches, but the pr is now outdated
Details

Error: PUT https://api.github.com/repos/DataDog/helm-charts/pulls/2764/merge: 405 Required status check "pr-validated" is expected. [] (Request ID: C2C4:37ADC:4AF0F6E:10ECCB5C:6A479587)

FullStacktrace:
activity error (type: github.GithubService_MergePullRequest, scheduledEventID: 50, startedEventID: 51, identity: 1@github-worker-65c9cb6468-dvspl@): PUT https://api.github.com/repos/DataDog/helm-charts/pulls/2764/merge: 405 Required status check "pr-validated" is expected. [] (Request ID: C2C4:37ADC:4AF0F6E:10ECCB5C:6A479587) (type: GitFailure, retryable: false): PUT https://api.github.com/repos/DataDog/helm-charts/pulls/2764/merge: 405 Required status check "pr-validated" is expected. [] (type: ErrorResponse, retryable: true)

@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit a777a61 into main Jul 3, 2026
46 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the guillermo-julian/cursor/gke-cos-nvidia-lib-mounts branch July 3, 2026 11:29
tedkahwaji added a commit that referenced this pull request Jul 9, 2026
…8.0 (#2787)

The gpu_monitoring_cos.yaml baseline was left at operator 1.27.0 while the
rest of the datadog chart moved to 1.28.0, so any PR touching charts/datadog
or test/datadog fails the "Go Test Datadog" build job on
Test_baseline_inputs/gpu_monitoring_cos.yaml.

Root cause: #2764 added this baseline (operator 1.27.0) after #2771 had
already branched, so when #2771 bumped operator.image.tag to 1.28.0 and ran
`make update-test-baselines`, it regenerated gpu_monitoring.yaml but not the
newly-added gpu_monitoring_cos.yaml. The two PRs merged cleanly and left a
stale baseline on main.

Regenerated via `make update-test-baselines-datadog-agent`; the diff is the
operator appVersion/image bump to 1.28.0 plus the operator ClusterRole RBAC
changes carried by the datadog-operator 2.23->2.24 subchart bump.

Co-authored-by: Claude Opus 4.8 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chart/datadog This issue or pull request is related to the datadog chart datadog/patch-version Patch version bump for datadog chart mergequeue-status: done

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants