Skip to content

Commit 03627bd

Browse files
authored
Merge branch 'NVIDIA:main' into allow-overriding-lease-namespace
2 parents 2029b98 + 652724d commit 03627bd

4,912 files changed

Lines changed: 275922 additions & 545777 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.common-ci.yml

Lines changed: 10 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ stages:
2525
- e2e_tests
2626
- aws_kube_clean
2727
- release
28-
- sign
28+
- ngc-publish
2929

3030
# Enable pipelines on merge requests, tags, and branches.
3131
# Avoid duplicate pipelines when pushing to a branch associated with an open MR.
@@ -81,26 +81,13 @@ trigger-pipeline:
8181

8282
- '[[ -n "${SKIP_QEMU_SETUP}" ]] || docker run --rm --privileged multiarch/qemu-user-static --reset -p yes'
8383

84-
# Define targets for the gpu-operator and gpu-operator-validator images
85-
.dist-ubi9:
86-
variables:
87-
DIST: ubi9
88-
CVE_UPDATES: "cyrus-sasl-lib"
89-
84+
# Define targets for the gpu-operator image
9085
.target-gpu-operator:
9186
variables:
9287
IMAGE_NAME: "${CI_REGISTRY_IMAGE}"
9388
IN_IMAGE_NAME: "gpu-operator"
9489
IMAGE_ARCHIVE: "gpu-operator.tar"
9590

96-
.target-gpu-operator-validator:
97-
variables:
98-
SUBCOMPONENT: "validator"
99-
IMAGE_NAME: "${CI_REGISTRY_IMAGE}/gpu-operator-validator"
100-
IN_IMAGE_NAME: "gpu-operator-validator"
101-
IMAGE_ARCHIVE: "gpu-operator-validator.tar"
102-
IN_REGISTRY: "${STAGING_REGISTRY}/gpu-operator"
103-
10491
# .release forms the base of the deployment jobs which push images to the CI registry.
10592
# This is extended with the version to be deployed (e.g. the SHA or TAG) and the
10693
# target os.
@@ -130,7 +117,7 @@ trigger-pipeline:
130117

131118
# Since OUT_IMAGE_NAME and OUT_IMAGE_VERSION are set, this will push the CI image to the
132119
# Target
133-
- make push-${DIST}
120+
- make push-image
134121

135122
.release-bundle:
136123
stage: release
@@ -150,7 +137,7 @@ trigger-pipeline:
150137
# Download the regctl binary for use in the release steps
151138
.regctl-setup:
152139
before_script:
153-
- export REGCTL_VERSION=v0.8.2
140+
- export REGCTL_VERSION=v0.11.2
154141
- apk add --no-cache curl
155142
- mkdir -p bin
156143
- curl -sSLo bin/regctl https://github.com/regclient/regclient/releases/download/${REGCTL_VERSION}/regctl-linux-amd64
@@ -175,55 +162,15 @@ trigger-pipeline:
175162
extends:
176163
- .release
177164
variables:
178-
OUT_REGISTRY_USER: "${CI_REGISTRY_USER}"
179-
OUT_REGISTRY_TOKEN: "${CI_REGISTRY_PASSWORD}"
180-
OUT_REGISTRY: "${CI_REGISTRY}"
165+
OUT_REGISTRY_USER: "${NGC_REGISTRY_USER}"
166+
OUT_REGISTRY_TOKEN: "${NGC_REGISTRY_TOKEN}"
167+
OUT_REGISTRY: "${NGC_REGISTRY}"
181168

182169
release:staging-gpu-operator:
183170
extends:
184171
- .release:staging
185-
- .dist-ubi9
186172
- .target-gpu-operator
187173
variables:
188-
OUT_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/staging/gpu-operator"
189-
190-
release:staging-gpu-operator-validator:
191-
extends:
192-
- .release:staging
193-
- .dist-ubi9
194-
- .target-gpu-operator-validator
195-
variables:
196-
OUT_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/staging/gpu-operator-validator"
197-
198-
release:staging-latest-gpu-operator:
199-
extends:
200-
- .release:staging
201-
- .dist-ubi9
202-
- .target-gpu-operator
203-
variables:
204-
OUT_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/staging/gpu-operator"
205-
OUT_IMAGE_VERSION: ${CI_COMMIT_BRANCH}-latest
206-
rules:
207-
- if: $CI_COMMIT_BRANCH
208-
209-
release:staging-latest-gpu-operator-validator:
210-
extends:
211-
- .release:staging
212-
- .dist-ubi9
213-
- .target-gpu-operator-validator
214-
variables:
215-
OUT_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/staging/gpu-operator-validator"
216-
OUT_IMAGE_VERSION: ${CI_COMMIT_BRANCH}-latest
217-
rules:
218-
- if: $CI_COMMIT_BRANCH
219-
220-
release:gpu-operator-bundle-image:
221-
extends:
222-
- .release-bundle
223-
variables:
224-
BUNDLE_IMAGE: "${CI_REGISTRY_IMAGE}/staging/gpu-operator-bundle:${CI_COMMIT_BRANCH}-latest"
225-
VERSION: ""
226-
DEFAULT_CHANNEL: "stable"
227-
CHANNELS: "stable"
228-
rules:
229-
- if: $CI_COMMIT_BRANCH
174+
OUT_IMAGE_NAME: "${NGC_STAGING_REGISTRY}/gpu-operator"
175+
needs:
176+
- image:gpu-operator

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[Bug]: '
5+
labels: ["bug", "needs-triage"]
6+
7+
---
8+
9+
_**Important Note: NVIDIA AI Enterprise customers can get support from NVIDIA Enterprise support. Please open a case [here](https://enterprise-support.nvidia.com/s/create-case)**._
10+
11+
**Describe the bug**
12+
A clear and concise description of what the bug is.
13+
14+
**To Reproduce**
15+
Detailed steps to reproduce the issue.
16+
17+
**Expected behavior**
18+
A clear and concise description of what you expected to happen.
19+
20+
**Environment (please provide the following information):**
21+
- GPU Operator Version: [e.g. v25.3.0]
22+
- OS: [e.g. Ubuntu24.04]
23+
- Kernel Version: [e.g. 6.8.0-generic]
24+
- Container Runtime Version: [e.g. containerd 2.0.0]
25+
- Kubernetes Distro and Version: [e.g. K8s, OpenShift, Rancher, GKE, EKS]
26+
27+
28+
29+
**Information to [attach](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests/)** (optional if deemed irrelevant)
30+
31+
- [ ] kubernetes pods status: `kubectl get pods -n OPERATOR_NAMESPACE`
32+
- [ ] kubernetes daemonset status: `kubectl get ds -n OPERATOR_NAMESPACE`
33+
- [ ] If a pod/ds is in an error state or pending state `kubectl describe pod -n OPERATOR_NAMESPACE POD_NAME`
34+
- [ ] If a pod/ds is in an error state or pending state `kubectl logs -n OPERATOR_NAMESPACE POD_NAME --all-containers`
35+
- [ ] Output from running `nvidia-smi` from the driver container: `kubectl exec DRIVER_POD_NAME -n OPERATOR_NAMESPACE -c nvidia-driver-ctr -- nvidia-smi`
36+
- [ ] containerd logs `journalctl -u containerd > containerd.log`
37+
38+
39+
Collecting full debug bundle (optional):
40+
41+
```
42+
curl -o must-gather.sh -L https://raw.githubusercontent.com/NVIDIA/gpu-operator/main/hack/must-gather.sh
43+
chmod +x must-gather.sh
44+
./must-gather.sh
45+
```
46+
**NOTE**: please refer to the [must-gather](https://raw.githubusercontent.com/NVIDIA/gpu-operator/main/hack/must-gather.sh) script for debug data collected.
47+
48+
This bundle can be submitted to us via email: **operator_feedback@nvidia.com**

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: Feature request
3+
about: Submit a feature request
4+
title: "[Feature]: "
5+
labels: ["feature", "needs-triage", "lifecycle/frozen"]
6+
---
7+
8+
<!-- A clear and concise description of the feature request. Please outline the motivation for the proposal. Is your feature request related to a specific problem? e.g., *"I'm working on X and would like Y to be possible"*. If this is related to another GitHub issue, please link it here too. -->

.github/ISSUE_TEMPLATE/question.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
name: Question / General Discussion
3+
about: Ask a question or raise a discussion
4+
title: "[Question]: "
5+
labels: ["question"]
6+
---
7+
8+
<!-- Ask question(s) or raise a discussion related to GPU Operator -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
## Description
2+
3+
<!-- Brief description of the change, including context or motivation -->
4+
5+
## Checklist
6+
7+
- [ ] No secrets, sensitive information, or unrelated changes
8+
- [ ] Lint checks passing (`make lint`)
9+
- [ ] Generated assets in-sync (`make validate-generated-assets`)
10+
- [ ] Go mod artifacts in-sync (`make validate-modules`)
11+
- [ ] Test cases are added for new code paths
12+
13+
## Testing
14+
15+
<!-- How was this tested? e.g., unit tests, manual testing on cluster -->
16+

.github/renovate.json

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"prHourlyLimit": 10,
4+
"prConcurrentLimit": 10,
5+
"dependencyDashboard": false,
6+
"extends": [
7+
"config:recommended",
8+
":disableDependencyDashboard",
9+
"config:recommended",
10+
":disableDependencyDashboard",
11+
"config:recommended",
12+
":disableDependencyDashboard",
13+
"config:recommended",
14+
":disableDependencyDashboard",
15+
"config:recommended",
16+
":disableDependencyDashboard",
17+
"config:recommended",
18+
":disableDependencyDashboard",
19+
"config:recommended",
20+
":disableDependencyDashboard",
21+
"config:recommended",
22+
":disableDependencyDashboard"
23+
],
24+
"forkProcessing": "enabled",
25+
"ignorePaths": ["vendor/**"],
26+
"enabledManagers": ["custom.regex"],
27+
"recreateWhen": "always",
28+
"separateMultipleMajor": false,
29+
"separateMinorPatch": false,
30+
"customManagers": [
31+
{
32+
"customType": "regex",
33+
"managerFilePatterns": [
34+
"bundle/manifests/gpu-operator-certified.clusterserviceversion.yaml"
35+
],
36+
"matchStrings": [
37+
"[-\\s]*value:\\s*\"?(?<depName>[^:\"]+)(?::(?<currentValue>[^@\"]+))?@(?<currentDigest>sha256:[a-f0-9]{64})\"?",
38+
"[-\\s]*image: (?<depName>.*?)(?::(?<currentValue>.*?))?@(?<currentDigest>sha256:[a-f0-9]{64})",
39+
"- name: (?<suffix>[\\w-]+)[-\\s]*image: (?<depName>.*?)(?::(?<currentValue>.*?))?@(?<currentDigest>sha256:[a-f0-9]{64})"
40+
],
41+
"versioningTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}",
42+
"datasourceTemplate": "docker"
43+
},
44+
{
45+
"customType": "regex",
46+
"managerFilePatterns": [
47+
"deployments/gpu-operator/values.yaml"
48+
],
49+
"matchStrings": [
50+
"[-\\s]*repository:\\s*(?<repo>\\S+)\\s*\\n(?:\\s*#.*\\n|\\s*\\n)*[-\\s]*image:\\s*(?<image>\\S+)\\s*\\n(?:\\s*#.*\\n|\\s*\\n)*[-\\s]*version:\\s*(?<currentValue>\\S+)"
51+
],
52+
"depNameTemplate": "{{repo}}/{{image}}",
53+
"datasourceTemplate": "docker",
54+
"versioningTemplate": "loose"
55+
}
56+
],
57+
"labels": [
58+
"dependencies",
59+
"renovate"
60+
],
61+
"packageRules": [
62+
{
63+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
64+
"matchPackageNames": [
65+
"nvcr.io/nvidia/cloud-native/k8s-driver-manager",
66+
"nvcr.io/nvidia/cloud-native/k8s-kata-manager",
67+
"nvcr.io/nvidia/cloud-native/vgpu-device-manager",
68+
"nvcr.io/nvidia/cloud-native/k8s-cc-manager",
69+
"nvcr.io/nvidia/cloud-native/nvidia-sandbox-device-plugin",
70+
"nvcr.io/nvidia/kubevirt-gpu-device-plugin",
71+
"nvcr.io/nvidia/k8s-device-plugin",
72+
"nvcr.io/nvidia/k8s/container-toolkit",
73+
"nvcr.io/nvidia/cloud-native/k8s-mig-manager"
74+
],
75+
"versioning": "regex:^v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$",
76+
"separateMajorMinor": false
77+
},
78+
{
79+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
80+
"matchPackageNames": [
81+
"nvcr.io/nvidia/k8s/dcgm-exporter"
82+
],
83+
"versioning": "regex:^v?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-distroless$",
84+
"separateMajorMinor": false
85+
},
86+
{
87+
"matchPaths": ["deployments/gpu-operator/values.yaml"],
88+
"matchPackageNames": [
89+
"nvcr.io/nvidia/cuda"
90+
],
91+
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-base-ubi9$",
92+
"separateMajorMinor": false
93+
},
94+
{
95+
"matchPackageNames": ["nvcr.io/nvidia/driver"],
96+
"enabled": false
97+
},
98+
{
99+
"matchDatasources": ["*"],
100+
"groupName": "{{depName}}"
101+
}
102+
]
103+
}

0 commit comments

Comments
 (0)