Skip to content

Commit 7f0ac3b

Browse files
committed
Deploy RDMA CNI as a part of SR-IOV Operator
Signed-off-by: Ivan Kolodiazhnyi <[email protected]>
1 parent 2d2e5a4 commit 7f0ac3b

File tree

9 files changed

+31
-0
lines changed

9 files changed

+31
-0
lines changed

bindata/manifests/daemon/daemonset.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,23 @@ spec:
9292
mountPath: /host/etc/os-release
9393
readOnly: true
9494
{{- end }}
95+
{{- if ne .RDMACNIImage "" }}
96+
- name: rdma-cni
97+
image: {{.RDMACNIImage}}
98+
command:
99+
- /bin/sh
100+
- -c
101+
- cp /usr/bin/rdma /host/opt/cni/bin/
102+
securityContext:
103+
privileged: true
104+
resources:
105+
requests:
106+
cpu: 10m
107+
memory: 10Mi
108+
volumeMounts:
109+
- name: cnibin
110+
mountPath: /host/opt/cni/bin
111+
{{- end }}
95112
{{- if .UsedSystemdMode}}
96113
- name: sriov-service-copy
97114
image: {{.Image}}

controllers/sriovoperatorconfig_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ func (r *SriovOperatorConfigReconciler) syncConfigDaemonSet(ctx context.Context,
168168
data.Data["SRIOVCNIImage"] = os.Getenv("SRIOV_CNI_IMAGE")
169169
data.Data["SRIOVInfiniBandCNIImage"] = os.Getenv("SRIOV_INFINIBAND_CNI_IMAGE")
170170
data.Data["OVSCNIImage"] = os.Getenv("OVS_CNI_IMAGE")
171+
data.Data["RDMACNIImage"] = os.Getenv("RDMA_CNI_IMAGE")
171172
data.Data["ReleaseVersion"] = os.Getenv("RELEASEVERSION")
172173
data.Data["ClusterType"] = vars.ClusterType
173174
data.Data["DevMode"] = os.Getenv("DEV_MODE")

controllers/suite_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ var _ = BeforeSuite(func() {
111111
Expect(err).NotTo(HaveOccurred())
112112
err = os.Setenv("OVS_CNI_IMAGE", "mock-image")
113113
Expect(err).NotTo(HaveOccurred())
114+
err = os.Setenv("RDMA_CNI_IMAGE", "mock-image")
115+
Expect(err).NotTo(HaveOccurred())
114116
err = os.Setenv("SRIOV_DEVICE_PLUGIN_IMAGE", "mock-image")
115117
Expect(err).NotTo(HaveOccurred())
116118
err = os.Setenv("NETWORK_RESOURCES_INJECTOR_IMAGE", "mock-image")

deploy/operator.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ spec:
5656
value: $SRIOV_INFINIBAND_CNI_IMAGE
5757
- name: OVS_CNI_IMAGE
5858
value: $OVS_CNI_IMAGE
59+
- name: RDMA_CNI_IMAGE
60+
value: $RDMA_CNI_IMAGE
5961
- name: SRIOV_DEVICE_PLUGIN_IMAGE
6062
value: $SRIOV_DEVICE_PLUGIN_IMAGE
6163
- name: NETWORK_RESOURCES_INJECTOR_IMAGE

deployment/sriov-network-operator/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ This section contains general parameters that apply to both the operator and dae
125125
| `images.sriovCni` | SR-IOV CNI image |
126126
| `images.ibSriovCni` | InfiniBand SR-IOV CNI image |
127127
| `images.ovsCni` | OVS CNI image |
128+
| `images.rdmaCni` | RDMA CNI image |
128129
| `images.sriovDevicePlugin` | SR-IOV device plugin image |
129130
| `images.resourcesInjector` | Resources Injector image |
130131
| `images.webhook` | Operator Webhook image |

deployment/sriov-network-operator/templates/operator.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ spec:
5858
value: {{ .Values.images.ibSriovCni }}
5959
- name: OVS_CNI_IMAGE
6060
value: {{ .Values.images.ovsCni }}
61+
- name: RDMA_CNI_IMAGE
62+
value: { { .Values.images.rdmaCni } }
6163
- name: SRIOV_DEVICE_PLUGIN_IMAGE
6264
value: {{ .Values.images.sriovDevicePlugin }}
6365
- name: NETWORK_RESOURCES_INJECTOR_IMAGE

deployment/sriov-network-operator/values.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ images:
9696
sriovCni: ghcr.io/k8snetworkplumbingwg/sriov-cni
9797
ibSriovCni: ghcr.io/k8snetworkplumbingwg/ib-sriov-cni
9898
ovsCni: quay.io/kubevirt/ovs-cni-plugin
99+
rdmaCni: ghcr.io/k8snetworkplumbingwg/rdma-cni
99100
sriovDevicePlugin: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin
100101
resourcesInjector: ghcr.io/k8snetworkplumbingwg/network-resources-injector
101102
webhook: ghcr.io/k8snetworkplumbingwg/sriov-network-operator-webhook

hack/env.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ if [ -z $SKIP_VAR_SET ]; then
33
export SRIOV_INFINIBAND_CNI_IMAGE=${SRIOV_INFINIBAND_CNI_IMAGE:-ghcr.io/k8snetworkplumbingwg/ib-sriov-cni}
44
# OVS_CNI_IMAGE can be explicitly set to empty value, use default only if the var is not set
55
export OVS_CNI_IMAGE=${OVS_CNI_IMAGE-quay.io/kubevirt/ovs-cni-plugin}
6+
# RDMA_CNI_IMAGE can be explicitly set to empty value, use default only if the var is not set
7+
export RDMA_CNI_IMAGE=${RDMA_CNI_IMAGE-ghcr.io/k8snetworkplumbingwg/rdma-cni}
68
export SRIOV_DEVICE_PLUGIN_IMAGE=${SRIOV_DEVICE_PLUGIN_IMAGE:-ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin}
79
export NETWORK_RESOURCES_INJECTOR_IMAGE=${NETWORK_RESOURCES_INJECTOR_IMAGE:-ghcr.io/k8snetworkplumbingwg/network-resources-injector}
810
export SRIOV_NETWORK_CONFIG_DAEMON_IMAGE=${SRIOV_NETWORK_CONFIG_DAEMON_IMAGE:-ghcr.io/k8snetworkplumbingwg/sriov-network-operator-config-daemon}
@@ -13,6 +15,8 @@ else
1315
[ -z $SRIOV_INFINIBAND_CNI_IMAGE ] && echo "SRIOV_INFINIBAND_CNI_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1416
# check that OVS_CNI_IMAGE is set to any value, empty string is a valid value
1517
[ -z ${OVS_CNI_IMAGE+set} ] && echo "OVS_CNI_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
18+
# check that RDMA_CNI_IMAGE is set to any value, empty string is a valid value
19+
[ -z ${$RDMA_CNI_IMAGE+set} ] && echo "RDMA_CNI_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1620
[ -z $SRIOV_DEVICE_PLUGIN_IMAGE ] && echo "SRIOV_DEVICE_PLUGIN_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1721
[ -z $NETWORK_RESOURCES_INJECTOR_IMAGE ] && echo "NETWORK_RESOURCES_INJECTOR_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1822
[ -z $SRIOV_NETWORK_CONFIG_DAEMON_IMAGE ] && echo "SRIOV_NETWORK_CONFIG_DAEMON_IMAGE is empty but SKIP_VAR_SET is set" && exit 1

hack/run-e2e-test.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ KUBECONFIG=${KUBECONFIG:-/root/env/ign/auth/kubeconfig}
88
echo ${SRIOV_CNI_IMAGE}
99
echo ${SRIOV_INFINIBAND_CNI_IMAGE}
1010
echo ${OVS_CNI_IMAGE}
11+
echo ${RDMA_CNI_IMAGE}
1112
echo ${SRIOV_DEVICE_PLUGIN_IMAGE}
1213
echo ${NETWORK_RESOURCES_INJECTOR_IMAGE}
1314
echo ${SRIOV_NETWORK_CONFIG_DAEMON_IMAGE}

0 commit comments

Comments
 (0)