Skip to content

Critical NVIDIA DPF Documentation Fixes for v26.4.1 - #117440

Closed
szigmon wants to merge 1 commit into
openshift:mainfrom
szigmon:dpf-dts-critical-fixes-20260804
Closed

Critical NVIDIA DPF Documentation Fixes for v26.4.1#117440
szigmon wants to merge 1 commit into
openshift:mainfrom
szigmon:dpf-dts-critical-fixes-20260804

Conversation

@szigmon

@szigmon szigmon commented Aug 6, 2026

Copy link
Copy Markdown

Critical NVIDIA DPF Documentation Fixes for v26.4.1

Overview

This PR addresses critical production-blocking issues in NVIDIA DPF operator documentation and adds essential fixes validated against DPF v26.4.1-beta.1.

Key Changes

🚨 Critical Fix: Remove dpf-pull-secret References

Problem: Documentation incorrectly requires dpf-pull-secret causing installation failures
Root Cause: Based on outdated examples that assumed private registries
Evidence:

  • NVIDIA official examples (doca-platform repo) don't use imagePullSecrets
  • DPF v26.4.1-beta.1 installs successfully without any pull secrets
  • All operator pods function correctly without authentication

Files Fixed:

  • modules/nw-dpf-creating-hbn-service.adoc - Removed imagePullSecrets section
  • modules/nw-dpf-creating-dts-service.adoc - Removed imagePullSecrets section
  • modules/nw-dpf-creating-ovnk-service.adoc - Removed imagePullSecretName parameter

🔧 Production Grafana Installation Fixes

Problem: "Application is not available" errors in DTS Grafana deployment
Solution: Added complete Grafana installation with control-plane node scheduling

New Module: modules/nw-dpf-installing-grafana-for-dts.adoc (333 lines)

  • Control-plane scheduling to avoid DPU worker dependencies
  • Complete Grafana operator installation procedures
  • Production-ready configuration examples
  • Integration with DTS metrics collection

📋 Comprehensive Release Notes

New Module: modules/nw-dpf-release-notes.adoc (120 lines)

  • Current version compatibility (DPF v26.4, OpenShift 4.22)
  • Known limitations and workarounds
  • Troubleshooting guidance for common deployment issues

🔄 Version Updates

  • Updated Kubernetes version examples from outdated versions to current v1.35.0
  • Added AGE columns to verification command outputs for better UX
  • Corrected CSR approval examples

Validation

Real-World Testing

Full DPF v26.4.1-beta.1 deployment tested without dpf-pull-secret
All operator pods running without authentication errors
Grafana fixes validated in production environment
YAML syntax validated with oc apply --dry-run=client

Comparison with Tech Writer PR

This complements PR #117142 by adding critical production fixes not covered:

  • dpf-pull-secret removal (prevents installation failures)
  • Working Grafana deployment (fixes observability gap)
  • Current version examples (eliminates user confusion)

Impact

  • Prevents installation failures due to missing pull secrets
  • Enables DTS observability with working Grafana deployment
  • Reduces support tickets with accurate version examples
  • Improves user experience with validated procedures

Files Changed

  • 5 files changed, 430 insertions(+), 105 deletions(-)
  • All changes based on working production deployment
  • Compatible with existing documentation structure

Commits

  1. NVIDIA-918: Add NVIDIA DPF Operator documentation - Base documentation
  2. Add critical DTS Grafana installation and production fixes - Production enhancements
  3. Remove dpf-pull-secret references from DPU service configurations - Critical fix

This PR delivers production-ready documentation that actually works for enterprise deployments.

@openshift-ci openshift-ci Bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Aug 6, 2026
:_mod-docs-content-type: PROCEDURE

[id="nw-dpf-installing-grafana-for-dts_{context}"]
= Installing Grafana for DTS metrics visualization

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.ShortDescription: Assign [role="_abstract"] to a paragraph to use it as in DITA.

+
.. In Grafana, go to **Dashboards** → **"DOCA DPU Telemetry (DTS)"**
.. Use the **DPU (source)** dropdown at the top to focus on specific DPUs or select **All**
.. Adjust the time range (top-right corner) - the dashboard refreshes every 30 seconds automatically

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'upper left', 'upper right', 'upper-left', or 'upper-right' rather than 'top-right'. For more information, see RedHat.TermsErrors.

Comment thread modules/nw-dpf-release-notes.adoc Outdated
:_mod-docs-content-type: REFERENCE

[id="nw-dpf-release-notes_{context}"]
= DPF Operator release notes and troubleshooting

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.ShortDescription: Assign [role="_abstract"] to a paragraph to use it as in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated

== Troubleshooting

=== DPU provisioning issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated
oc -n dpf-operator-system exec deploy/dpf-operator-controller-manager -- /dpfctl describe dpudeployments
----

=== DPU object state issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated
+
Approve any pending CSRs related to DPU nodes.

=== Management cluster node readiness issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated
+
Ensure all OVN-K pods are running on DPU worker nodes.

=== Grafana deployment issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated
effect: NoSchedule
----

=== DTS metrics collection issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated
+
Access the Prometheus web console and navigate to **Status** → **Targets** to verify DTS endpoints are listed and healthy.

=== Certificate and BMC issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated

. Ensure the BareMetalHost resource has correct BMC credentials and connection details.

=== Worker node CSR approval issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

Comment thread modules/nw-dpf-release-notes.adoc Outdated

. Verify the `br-dpu` bridge is correctly configured on worker nodes.

=== DPU node status issues

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.


* link:https://github.com/NVIDIA/doca-platform/blob/public-release-v25.4/docs/public/user-guides/[NVIDIA DPF User Guides]
* link:https://docs.nvidia.com/networking/display/dpf2504/troubleshooting[NVIDIA DPF Troubleshooting Guide]
* {product-title} documentation for monitoring and observability

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.RelatedLinks: Content other than links cannot be mapped to DITA related-links.

@szigmon
szigmon force-pushed the dpf-dts-critical-fixes-20260804 branch 4 times, most recently from 1239a79 to 739a755 Compare August 9, 2026 13:44
:_mod-docs-content-type: PROCEDURE

[id="nw-dpf-installing-grafana-for-dts_{context}"]
= Installing Grafana for DTS metrics visualization

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.ShortDescription: Assign [role="_abstract"] to a paragraph to use it as in DITA.


. Navigate to the DTS dashboard:
+
In Grafana, go to *Dashboards* and open *DOCA DPU Telemetry (DTS)*. Use the *DPU (source)* dropdown at the top to focus on a specific DPU or select *All*. Adjust the time range in the top-right corner. The dashboard refreshes every 30 seconds automatically.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'upper left', 'upper right', 'upper-left', or 'upper-right' rather than 'top-right'. For more information, see RedHat.TermsErrors.

:_mod-docs-content-type: REFERENCE

[id="nw-dpf-release-notes_{context}"]
= DPF Operator release notes

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.ShortDescription: Assign [role="_abstract"] to a paragraph to use it as in DITA.

* NVIDIA BlueField-3 DPUs
* Red{nbsp}Hat Enterprise Linux CoreOS (RHCOS) 10.2+

=== New features and enhancements

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

**Enhanced observability with DTS integration**::
Added comprehensive DPU telemetry monitoring through the DOCA Telemetry Service (DTS) with built-in {product-title} Console dashboard integration. DTS metrics are now accessible directly through the {product-title} web console without requiring additional tools.

**Improved HyperShift integration**::

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'hosted control planes' rather than 'HyperShift'. For more information, see RedHat.TermsErrors.

**Enhanced troubleshooting capabilities**::
Expanded diagnostic tools and troubleshooting procedures covering DPU provisioning, hosted cluster management, networking issues, and comprehensive log collection.

=== Bug fixes

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

**Networking stability improvements**::
Fixed OVN-Kubernetes integration issues that could cause worker nodes to remain in `NotReady` state.

=== Technology Preview features

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.

**DOCA Platform Framework**::
The DPF Operator and all related DPU acceleration features are provided as Technology Preview. Technology Preview features are not supported with Red{nbsp}Hat production service level agreements (SLAs) and might not be functionally complete.

=== Deprecated and removed features

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.NestedSection: Level 2, 3, 4, and 5 sections (=== and deeper) are not supported in DITA.


When opening a support case, collect the following information:

.Environment information

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

* Hardware specifications (server model, DPU model, firmware versions)
* Network topology and configuration

.Configuration files

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

* Network policies and configurations
* Environment variables used during installation

.Log files

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

* Kubernetes event logs related to DPF resources
* Application logs for affected services

.Status outputs

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

+
Ensure that the firmware version is compatible with the DOCA Platform Framework.

.Troubleshooting tips

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

+
Ensure that the firmware version is compatible with the DOCA Platform Framework.

.Troubleshooting tips

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.TaskTitle: Unsupported titles cannot be mapped to DITA tasks.


If DPU provisioning does not start immediately after adding worker nodes to the cluster, use the following diagnostic steps to identify the root cause.

.Procedure

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.


If DPU objects remain in the `DPU Cluster Config` state for an extended period, the issue is typically related to pending CSRs in the hosted cluster.

.Procedure

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.


If management cluster nodes do not become `Ready` after DPU provisioning is complete, the issue is typically related to OVN-Kubernetes CNI configuration.

.Procedure

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

== Additional resources

* link:https://docs.nvidia.com/networking/display/dpf2504/[NVIDIA DPF Documentation]
* {product-title} monitoring and logging documentation

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.RelatedLinks: Content other than links cannot be mapped to DITA related-links.


* link:https://docs.nvidia.com/networking/display/dpf2504/[NVIDIA DPF Documentation]
* {product-title} monitoring and logging documentation
* {product-title} networking troubleshooting procedures

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.RelatedLinks: Content other than links cannot be mapped to DITA related-links.

$ oc cluster-info
----
+
If the cluster is not accessible, check the HyperShift hosted control plane status on the management cluster.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'hosted control planes' rather than 'HyperShift'. For more information, see RedHat.TermsErrors.

+
If the cluster is not accessible, check the HyperShift hosted control plane status on the management cluster.

. Switch to the management cluster and check the HyperShift components:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'hosted control planes' rather than 'HyperShift'. For more information, see RedHat.TermsErrors.

$ oc get pods -n clusters-$HOSTED_CLUSTER_NAME
----
+
Verify that all HyperShift control plane pods are running:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] RedHat.TermsErrors: Use 'hosted control planes' rather than 'HyperShift'. For more information, see RedHat.TermsErrors.

+
Ensure that OVN-Kubernetes pods are running on the DPU ARM cores.

.Troubleshooting tips

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.TaskTitle: Unsupported titles cannot be mapped to DITA tasks.

+
Ensure that OVN-Kubernetes pods are running on the DPU ARM cores.

.Troubleshooting tips

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

+
Verify that SR-IOV policies are correctly applied to DPU-enabled worker nodes.

.Troubleshooting tips

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.BlockTitle: Block titles can only be assigned to examples, figures, and tables in DITA.

+
Verify that SR-IOV policies are correctly applied to DPU-enabled worker nodes.

.Troubleshooting tips

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🤖 [error] AsciiDocDITA.TaskTitle: Unsupported titles cannot be mapped to DITA tasks.

- Remove DPUServiceTemplate YAML from OVN, HBN, DTS service docs
  (templates are now auto-managed by dpf-hcp-provisioner-operator)
- Fix OVN DPUServiceConfiguration: add hostNetworkNamespace,
  imagePullSecretName, remove ovnMultiNetworkEnable
- Update DPUFlavor OVS scripts with idempotent helpers and
  conditional restart (both 1500 and 9000 MTU variants)
- Update ArgoCD: remove skip-injection labels, Redis patch,
  add resourceExclusions for PackageManifest
- Remove manual ConfigMaps from OVN DPU-Host mode doc
  (now auto-configured by provisioning controller)
- Remove manual worker MachineConfig (now auto-created by
  dpf-hcp-provisioner-operator), keep MachineConfigPool only
- Update DPFHCPProvisioner: replace virtualIP with
  controlPlaneAvailabilityPolicy
- Update DTS ServiceMonitor: use matchExpressions with
  relabelings instead of matchLabels

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@szigmon szigmon closed this Aug 16, 2026
@szigmon
szigmon force-pushed the dpf-dts-critical-fixes-20260804 branch from b746a20 to a51c86a Compare August 16, 2026 12:32
@openshift-ci

openshift-ci Bot commented Aug 16, 2026

Copy link
Copy Markdown

@szigmon: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/validate-asciidoc a51c86a link true /test validate-asciidoc
ci/prow/validate-portal a51c86a link true /test validate-portal

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants