Skip to content

Commit fc97613

Browse files
vasremdpf-release
authored andcommitted
docs: adjust docs for 25.7.1 and add release notes
* docs: adjust docs for 25.7.1 and add release notes this commit adds the docs for 25.7.1 release and add relevant release notes Signed-off-by: Vasilis Remmas <[email protected]> Based on release-v25.7@c2430c728b0d38df43a8ad38120c4faa613bddf0
1 parent 78bca6a commit fc97613

File tree

32 files changed

+182
-45
lines changed

32 files changed

+182
-45
lines changed

docs/public/developer-guides/api/dpudeployment.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -303,13 +303,13 @@ spec:
303303
matchLabels:
304304
datacenter.nvidia.com/rack: "b-100"
305305
dpuSelector:
306-
pciAddr: "0000:0e:00.0"
306+
provisioning.dpu.nvidia.com/dpudevice-pciAddress: "0000:0e:00.0"
307307
- nameSuffix: "dpuset2"
308308
nodeSelector:
309309
matchLabels:
310310
datacenter.nvidia.com/rack: "b-101"
311311
dpuSelector:
312-
pciAddr: "0000:1a:00.0"
312+
provisioning.dpu.nvidia.com/dpudevice-pciAddress: "0000:1a:00.0"
313313
# services reflects the `DPUServices` that should be deployed on those DPUs. The key of this map is the service name
314314
# and the value is referencing the respective `DPUServiceTemplate` and `DPUServiceConfiguration` for that each service.
315315
services:
@@ -382,13 +382,13 @@ spec:
382382
matchLabels:
383383
datacenter.nvidia.com/rack: "b-100"
384384
dpuSelector:
385-
pciAddr: "0000:0e:00.0"
385+
provisioning.dpu.nvidia.com/dpudevice-pciAddress: "0000:0e:00.0"
386386
- nameSuffix: "dpuset2"
387387
nodeSelector:
388388
matchLabels:
389389
datacenter.nvidia.com/rack: "b-101"
390390
dpuSelector:
391-
pciAddr: "0000:1a:00.0"
391+
provisioning.dpu.nvidia.com/dpudevice-pciAddress: "0000:1a:00.0"
392392
nodeEffect:
393393
taint:
394394
key: "dpu"
@@ -411,10 +411,12 @@ The following fields are available in the `spec.dpus`:
411411
by the `DPUDeployment`.
412412
* `nameSuffix`: A suffix to be added to the `DPUSet` name. This is a required
413413
field, as the `DPUSet` name must be unique and identifiable.
414-
* `nodeSelector`: The node selector to be used to select the nodes to which the
415-
DPUs are attached.
416-
* `dpuSelector`: The selector to be used to select the DPUs that are to be targeted.
417-
In this example, the DPUs are selected based on their PCI address.
414+
* `nodeSelector`: The selector of the DPUNodes to which the DPUs are attached
415+
to. See more in [DPU Selection](./dpuset.md#dpu-selection). Note that this
416+
field maps to the DPUSet field `dpuNodeSelector`.
417+
* `dpuSelector`: The selector of the DPUDevices that are to be targeted. In
418+
this example, the DPUs are selected based on their PCI address. See more in
419+
[DPU Selection](./dpuset.md#dpu-selection).
418420
* `dpuAnnotations`: The annotation to be applied on the DPU objects that are
419421
created by the `DPUDeployment`.
420422
* `nodeEffect`: The effect to be applied on the nodes to which the DPUs are attached.

docs/public/developer-guides/api/dpuset.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,66 @@ spec:
113113
effect: NoSchedule
114114
```
115115
116+
## DPU Selection
117+
118+
The DPUSet provides two complementary mechanisms for selecting which DPUs should be managed: `dpuNodeSelector` and
119+
`dpuSelector`.
120+
121+
### dpuNodeSelector
122+
123+
The `dpuNodeSelector` field is used to select DPUNodes based on their labels. It uses the
124+
standard Kubernetes LabelSelector format, which supports both `matchLabels` and `matchExpressions`.
125+
126+
For example, to select nodes with a specific label:
127+
128+
```yaml
129+
spec:
130+
dpuNodeSelector:
131+
matchLabels:
132+
feature.node.kubernetes.io/dpu-enabled: "true"
133+
```
134+
135+
Or using match expressions for more complex selection:
136+
137+
```yaml
138+
spec:
139+
dpuNodeSelector:
140+
matchExpressions:
141+
- key: environment
142+
operator: In
143+
values:
144+
- production
145+
- staging
146+
```
147+
148+
### dpuSelector
149+
150+
The `dpuSelector` field is used to further filter DPUDevices based on their labels. This is applied after the
151+
`dpuNodeSelector` and allows you to select specific DPUDevices on the selected DPUNodes.
152+
153+
The `dpuSelector` uses a simple map of label key-value pairs, where all specified labels must match (AND logic).
154+
155+
For example, to select only specific DPU models or configurations:
156+
157+
```yaml
158+
spec:
159+
dpuNodeSelector:
160+
matchLabels:
161+
feature.node.kubernetes.io/dpu-enabled: "true"
162+
dpuSelector:
163+
provisioning.dpu.nvidia.com/dpudevice-pciAddress: "0000:1a:00.0"
164+
```
165+
166+
In Host Trusted model, the automatically created DPUDevice objects have the following labels:
167+
168+
- `provisioning.dpu.nvidia.com/dpudevice-num-of-pfs`: The number of PFs on the DPU device
169+
- `provisioning.dpu.nvidia.com/dpudevice-pciAddress`: The PCI address of the DPU device
170+
- `provisioning.dpu.nvidia.com/dpudevice-pf0-name`: The name of PF0 on the DPU device
171+
- `provisioning.dpu.nvidia.com/dpunode-name`: The name of the DPUNode the DPU is part of
172+
173+
### Selection Flow
174+
175+
116176
## Host Power-cycle in DPU provisioning
117177

118178
If the version of running BFB is lower than 2.7 before DPU provisioning, the BlueField firmware upgrades and mlxconfig

docs/public/getting-started/dpf-host-trusted.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ helm repo update
6464
Deploy the DPF Operator to your Kubernetes cluster using Helm:
6565

6666
```bash
67-
helm upgrade --install -n dpf-operator-system dpf-operator dpf-repository/dpf-operator --version=v25.7.0
67+
helm upgrade --install -n dpf-operator-system dpf-operator dpf-repository/dpf-operator --version=v25.7.1
6868
```
6969

7070
The command above does the following:
7171

7272
* Creates the `dpf-operator-system` namespace if it doesn't exist
73-
* Installs the DPF Operator version v25.7.0 from the NVIDIA repository
73+
* Installs the DPF Operator version v25.7.1 from the NVIDIA repository
7474

7575
### 3. Verify the Installation
7676

docs/public/getting-started/dpf-zero-trust.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ helm repo update
6464
Deploy the DPF Operator to your Kubernetes cluster using Helm:
6565

6666
```bash
67-
helm upgrade --install -n dpf-operator-system dpf-operator dpf-repository/dpf-operator --version=v25.7.0
67+
helm upgrade --install -n dpf-operator-system dpf-operator dpf-repository/dpf-operator --version=v25.7.1
6868
```
6969

7070
The command above does the following:
7171

7272
* Creates the `dpf-operator-system` namespace if it doesn't exist
73-
* Installs the DPF Operator version v25.7.0 from the NVIDIA repository
73+
* Installs the DPF Operator version v25.7.1 from the NVIDIA repository
7474
* Configures the operator to manage DPU resources across your cluster
7575

7676
### 3. Verify the Installation

docs/public/getting-started/helm-prerequisites.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ The helmfiles are located at `deploy/helmfiles/` in the [DPF repository].
5656

5757
This approach ensures consistent deployment across different environments and simplifies the installation process.
5858

59-
> [!NOTE] You have to install the `local-path-provisioner` manually. The current helmfile for the release v25.7.0 does not
59+
> [!NOTE] You have to install the `local-path-provisioner` manually. The current helmfile for the release v25.7.1 does not
6060
> include it, but it is required for the Kamaji etcd storage.
6161
6262
You can install the `local-path-provisioner` it with the following command:

docs/public/release-notes/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ title: "Release Notes"
66

77
This section contains release notes for the DOCA Platform Framework (DPF), documenting new features, improvements, and bug fixes for each version.
88

9+
* [v25.7.1](./v25.7.1.md)
910
* [v25.7.0](./v25.7.0.md)
1011
* [v25.4.0](./v25.4.0.md)
1112
* [v25.1.1](./v25.1.1.md)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: "DOCA Platform Framework v25.7.1"
3+
---
4+
5+
This is a patch release on top of the 25.7.0 release of the DOCA Platform Framework (DPF).
6+
It includes bug fixes and improvements to enhance the provisioning and orchestration of
7+
NVIDIA BlueField DPUs in Kubernetes environments.
8+
9+
The [release notes for 25.7.0](./v25.7.0.md) still apply for this release and information
10+
presented in this documentation is an amendment to the previous release notes.
11+
12+
This release contains artifacts only for the core DPF components and doesn't include VPC,
13+
Storage and OVN Kubernetes related artifacts.
14+
15+
### Features
16+
17+
* **Support provisioning a single DPU in nodes that have more than one DPU**: This feature
18+
enables customers to select which DPU DPF should provision and run services on in systems
19+
that have more than 1 DPU. It's still not supported to provision more than 1 DPU per node.
20+
21+
### Fixed Issues from previous release
22+
23+
* **[HBN DPUService] Pod stuck in CrashLoopBackOff due to hbn-sidecar failing**
24+
* Occasionally, on creation of the HBN DPUService Pod, it could happen that the hbn-sidecar
25+
container would fail to run `ovs-ofctl add-flow` with arguments that contain `in_port=-1`.
26+
In this release, we introduced a patch that helps reduce the probability of this happening.
27+
* Internal Ref #4618866

docs/public/user-guides/host-trusted/prerequisites/system.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Each worker machine:
2929
* x86_64 architecture
3030
* 16 GB RAM
3131
* 8 CPUs
32-
* Exactly one DPU
32+
* Any number of DPUs **but only one can be provisioned**
3333

3434
#### DPUs
3535

docs/public/user-guides/host-trusted/use-cases/hbn-ovnk/README.md

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ export SERVICE_CIDR=10.233.0.0/18
135135
export REGISTRY=https://helm.ngc.nvidia.com/nvidia/doca
136136

137137
## The DPF TAG is the version of the DPF components which will be deployed in this guide.
138-
export TAG=v25.7.0
138+
export TAG=v25.7.1
139139

140140
## URL to the BFB used in the `bfb.yaml` and linked by the DPUSet.
141141
export BFB_URL="https://content.mellanox.com/BlueField/BFBs/Ubuntu22.04/bf-bundle-3.1.0-76_25.07_ubuntu-22.04_prod.bfb"
@@ -162,7 +162,7 @@ kubectl create ns ovn-kubernetes
162162

163163
Install the OVN Kubernetes CNI components from the helm chart. A number of [environment variables](#0-required-variables) must be set before running this command.
164164
```shell
165-
envsubst < manifests/01-cni-installation/helm-values/ovn-kubernetes.yml | helm upgrade --install -n ovn-kubernetes ovn-kubernetes ${OVN_KUBERNETES_REPO_URL}/ovn-kubernetes-chart --version $TAG --values -
165+
envsubst < manifests/01-cni-installation/helm-values/ovn-kubernetes.yml | helm upgrade --install -n ovn-kubernetes ovn-kubernetes ${OVN_KUBERNETES_REPO_URL}/ovn-kubernetes-chart --version v25.7.0 --values -
166166
```
167167

168168
<details markdown="1"><summary>OVN-Kubernetes Helm values</summary>
@@ -432,7 +432,7 @@ operator:
432432
The OVN Kubernetes resource injection webhook injected each pod scheduled to a worker node with a request for a VF and a Network Attachment Definition. This webhook is part of the same helm chart as the other components of the OVN Kubernetes CNI. Here it is installed by adjusting the existing helm installation to add the webhook component to the installation.
433433
434434
```shell
435-
envsubst < manifests/04-enable-accelerated-cni/helm-values/ovn-kubernetes.yml | helm upgrade --install -n ovn-kubernetes ovn-kubernetes-resource-injector ${OVN_KUBERNETES_REPO_URL}/ovn-kubernetes-chart --version $TAG --values -
435+
envsubst < manifests/04-enable-accelerated-cni/helm-values/ovn-kubernetes.yml | helm upgrade --install -n ovn-kubernetes ovn-kubernetes-resource-injector ${OVN_KUBERNETES_REPO_URL}/ovn-kubernetes-chart --version v25.7.0 --values -
436436
```
437437

438438
<details markdown="1"><summary>OVN Kubernetes Resource Injector Helm values</summary>
@@ -525,6 +525,11 @@ that should run on a set of DPUs.
525525
526526
#### Create the DPUDeployment, DPUServiceConfig, DPUServiceTemplate and other necessary objects
527527

528+
> [!WARNING]
529+
> In case more than 1 DPU exists per node, the relevant selector should be applied in the DPUDeployment
530+
> to select the appropriate DPU. See [DPUDeployment - DPUs Configuration](../../../../developer-guides/api/dpudeployment.md#dpus-configuration)
531+
> to understand more about the selectors.
532+
528533
A number of [environment variables](#0-required-variables) must be set before running this command.
529534
```shell
530535
cat manifests/05-dpudeployment-installation/*.yaml | envsubst | kubectl apply -f -
@@ -566,6 +571,8 @@ spec:
566571
nodeSelector:
567572
matchLabels:
568573
feature.node.kubernetes.io/dpu-enabled: "true"
574+
dpuSelector:
575+
provisioning.dpu.nvidia.com/dpudevice-pf0-name: $DPU_P0
569576
services:
570577
ovn:
571578
serviceTemplate: ovn
@@ -647,7 +654,7 @@ spec:
647654
source:
648655
repoURL: $OVN_KUBERNETES_REPO_URL
649656
chart: ovn-kubernetes-chart
650-
version: $TAG
657+
version: v25.7.0
651658
values:
652659
commonManifests:
653660
enabled: true

docs/public/user-guides/host-trusted/use-cases/hbn-ovnk/manifests/00-env-vars/envvars.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export SERVICE_CIDR=10.233.0.0/18
5050
export REGISTRY=https://helm.ngc.nvidia.com/nvidia/doca
5151

5252
## The DPF TAG is the version of the DPF components which will be deployed in this guide.
53-
export TAG=v25.7.0
53+
export TAG=v25.7.1
5454

5555
## URL to the BFB used in the `bfb.yaml` and linked by the DPUSet.
5656
export BFB_URL="https://content.mellanox.com/BlueField/BFBs/Ubuntu22.04/bf-bundle-3.1.0-76_25.07_ubuntu-22.04_prod.bfb"

0 commit comments

Comments
 (0)