Skip to content

Commit 05f8d8f

Browse files
committed
Add short doc update with the ovn-ic components on the DPU
Signed-off-by: Alin Gabriel Serdean <[email protected]>
1 parent 116ba52 commit 05f8d8f

File tree

2 files changed

+46
-9
lines changed

2 files changed

+46
-9
lines changed

dist/images/ovnkube.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -324,15 +324,14 @@ ovn_nohostsubnet_label=${OVN_NOHOSTSUBNET_LABEL:-""}
324324
# should be set to true when dpu nodes are in the cluster
325325
ovn_disable_requestedchassis=${OVN_DISABLE_REQUESTEDCHASSIS:-false}
326326

327-
# external_ids:host-k8s-nodename is set on an Open_vSwitch enabled system if the ovnkube pod
328-
# should function on behalf of a different host than external_ids:host
327+
# external_ids:host-k8s-nodename is set on an Open_vSwitch enabled system if the ovnkube stack
328+
# should function on behalf of a different host than external_ids:hostname. This includes
329+
# all the components that belond in an ovnkube stack (i.e. NB DB, SB DB, ovnkube etc)
329330
# overwrite the K8S_NODE env var with the one found within the OVS metadata in this case
330-
if [[ ${ovnkube_node_mode} == "dpu" ]]; then
331-
K8S_NODE=$(ovs-vsctl --if-exists get Open_vSwitch . external_ids:host-k8s-nodename | tr -d '\"')
332-
if [[ ${K8S_NODE} == "" ]]; then
333-
echo "Trying to run in DPU mode and couldn't get the required Host K8s Nodename. Exiting..."
334-
exit 1
335-
fi
331+
ovn_k8s_node=$(ovs-vsctl --if-exists get Open_vSwitch . external_ids:host-k8s-nodename | tr -d '\"')
332+
if [[ ! -z $ovn_k8s_node ]]; then
333+
echo "host-k8s-nodename is set, overriding K8S_NODE with $ovn_k8s_node"
334+
K8S_NODE=$ovn_k8s_node
336335
fi
337336

338337
# Determine the ovn rundir.
@@ -2423,10 +2422,12 @@ ovn-node() {
24232422
wait_for_event ovs_ready
24242423
fi
24252424

2426-
if [[ ${ovnkube_node_mode} != "dpu-host" ]] && [[ ${ovn_enable_interconnect} != "true" ]]; then
2425+
if [[ ${ovnkube_node_mode} == "dpu-host" ]] && [[ ${ovn_enable_interconnect} == "true" ]]; then
24272426
# ready_to_start_node checks for the NB/SB readiness state.
24282427
# This is not available on the DPU host when interconnect is enabled,
24292428
# because the DBs will run locally on the DPU
2429+
echo "skipping ready_to_start_node on DPU Host and when interconnect is true"
2430+
else
24302431
echo "=============== ovn-node - (wait for ready_to_start_node)"
24312432
wait_for_event ready_to_start_node
24322433
fi

docs/features/hardware-offload/dpu-support.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,39 @@ on the embedded CPU.
1717
Any vendor that manufactures a DPU which supports the above model should work with current design.
1818

1919
Design document can be found [here](https://docs.google.com/document/d/11IoMKiohK7hIyIE36FJmwJv46DEBx52a4fqvrpCBBcg/edit?usp=sharing).
20+
21+
## OVN Kubernetes in a DPU-Accelerated Environment
22+
23+
The **ovn-kubernetes** deployment will have two parts one on the host and another on the DPU side.
24+
25+
26+
These aforementioned parts are expected to be deployed also on two different Kubernetes clusters, one for the host and another for the DPUs.
27+
28+
29+
### Host Cluster
30+
---
31+
32+
#### OVN Kubernetes control plane related component
33+
- ovn-cluster-manager
34+
35+
#### OVN Kubernetes components on a Standard Host (Non-DPU)
36+
- local-nb-ovsdb
37+
- local-sb-ovsdb
38+
- run-ovn-northd
39+
- ovnkube-controller-with-node
40+
- ovn-controller
41+
- ovs-metrics
42+
43+
#### OVN Kubernetes component on a DPU-Enabled Host
44+
- ovn-node
45+
46+
### DPU Cluster
47+
---
48+
49+
#### OVN Kubernetes components
50+
- local-nb-ovsdb
51+
- local-sb-ovsdb
52+
- run-ovn-northd
53+
- ovnkube-controller-with-node
54+
- ovn-controller
55+
- ovs-metrics

0 commit comments

Comments
 (0)