Skip to content

Commit af30c8a

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

File tree

9 files changed

+38
-9
lines changed

9 files changed

+38
-9
lines changed

bindata/manifests/daemon/daemonset.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,23 @@ spec:
7070
- name: os-release
7171
mountPath: /host/etc/os-release
7272
readOnly: true
73+
{{- if ne .RDMACNIImage "" }}
74+
- name: rdma-cni
75+
image: {{.RDMACNIImage}}
76+
command:
77+
- /bin/sh
78+
- -c
79+
- cp /usr/bin/rdma /host/opt/cni/bin/
80+
securityContext:
81+
privileged: true
82+
resources:
83+
requests:
84+
cpu: 10m
85+
memory: 10Mi
86+
volumeMounts:
87+
- name: cnibin
88+
mountPath: /host/opt/cni/bin
89+
{{- end }}
7390
{{- if .UsedSystemdMode}}
7491
- name: sriov-service-copy
7592
image: {{.Image}}

controllers/sriovoperatorconfig_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ func (r *SriovOperatorConfigReconciler) syncConfigDaemonSet(ctx context.Context,
162162
data.Data["Namespace"] = vars.Namespace
163163
data.Data["SRIOVCNIImage"] = os.Getenv("SRIOV_CNI_IMAGE")
164164
data.Data["SRIOVInfiniBandCNIImage"] = os.Getenv("SRIOV_INFINIBAND_CNI_IMAGE")
165+
data.Data["RDMACNIImage"] = os.Getenv("RDMA_CNI_IMAGE")
165166
data.Data["ReleaseVersion"] = os.Getenv("RELEASEVERSION")
166167
data.Data["ClusterType"] = vars.ClusterType
167168
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
@@ -109,6 +109,8 @@ var _ = BeforeSuite(func() {
109109
Expect(err).NotTo(HaveOccurred())
110110
err = os.Setenv("SRIOV_INFINIBAND_CNI_IMAGE", "mock-image")
111111
Expect(err).NotTo(HaveOccurred())
112+
err = os.Setenv("RDMA_CNI_IMAGE", "mock-image")
113+
Expect(err).NotTo(HaveOccurred())
112114
err = os.Setenv("SRIOV_DEVICE_PLUGIN_IMAGE", "mock-image")
113115
Expect(err).NotTo(HaveOccurred())
114116
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
@@ -54,6 +54,8 @@ spec:
5454
value: $SRIOV_CNI_IMAGE
5555
- name: SRIOV_INFINIBAND_CNI_IMAGE
5656
value: $SRIOV_INFINIBAND_CNI_IMAGE
57+
- name: RDMA_CNI_IMAGE
58+
value: $RDMA_CNI_IMAGE
5759
- name: SRIOV_DEVICE_PLUGIN_IMAGE
5860
value: $SRIOV_DEVICE_PLUGIN_IMAGE
5961
- name: NETWORK_RESOURCES_INJECTOR_IMAGE

deployment/sriov-network-operator/README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,13 @@ This section contains general parameters that apply to both the operator and dae
118118

119119
### Images parameters
120120

121-
| Name | description |
122-
| ---- | ----------- |
123-
| `images.operator` | Operator controller image |
124-
| `images.sriovConfigDaemon` | Daemon node agent image |
125-
| `images.sriovCni` | SR-IOV CNI image |
126-
| `images.ibSriovCni` | InfiniBand SR-IOV CNI image |
127-
| `images.sriovDevicePlugin` | SR-IOV device plugin image |
128-
| `images.resourcesInjector` | Resources Injector image |
129-
| `images.webhook` | Operator Webhook image |
121+
| Name | description |
122+
|----------------------------|-----------------------------|
123+
| `images.operator` | Operator controller image |
124+
| `images.sriovConfigDaemon` | Daemon node agent image |
125+
| `images.sriovCni` | SR-IOV CNI image |
126+
| `images.ibSriovCni` | InfiniBand SR-IOV CNI image |
127+
| `images.rdmaCni` | RDMA CNI image |
128+
| `images.sriovDevicePlugin` | SR-IOV device plugin image |
129+
| `images.resourcesInjector` | Resources Injector image |
130+
| `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
@@ -56,6 +56,8 @@ spec:
5656
value: {{ .Values.images.sriovCni }}
5757
- name: SRIOV_INFINIBAND_CNI_IMAGE
5858
value: {{ .Values.images.ibSriovCni }}
59+
- name: RDMA_CNI_IMAGE
60+
value: {{ .Values.images.rdmaCni }}
5961
- name: SRIOV_DEVICE_PLUGIN_IMAGE
6062
value: {{ .Values.images.sriovDevicePlugin }}
6163
- 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
@@ -95,6 +95,7 @@ images:
9595
sriovConfigDaemon: ghcr.io/k8snetworkplumbingwg/sriov-network-operator-config-daemon
9696
sriovCni: ghcr.io/k8snetworkplumbingwg/sriov-cni
9797
ibSriovCni: ghcr.io/k8snetworkplumbingwg/ib-sriov-cni
98+
rdmaCni: ghcr.io/k8snetworkplumbingwg/rdma-cni
9899
sriovDevicePlugin: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin
99100
resourcesInjector: ghcr.io/k8snetworkplumbingwg/network-resources-injector
100101
webhook: ghcr.io/k8snetworkplumbingwg/sriov-network-operator-webhook

hack/env.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
if [ -z $SKIP_VAR_SET ]; then
22
export SRIOV_CNI_IMAGE=${SRIOV_CNI_IMAGE:-ghcr.io/k8snetworkplumbingwg/sriov-cni}
33
export SRIOV_INFINIBAND_CNI_IMAGE=${SRIOV_INFINIBAND_CNI_IMAGE:-ghcr.io/k8snetworkplumbingwg/ib-sriov-cni}
4+
export RDMA_CNI_IMAGE=${RDMA_CNI_IMAGE-ghcr.io/k8snetworkplumbingwg/rdma-cni}
45
export SRIOV_DEVICE_PLUGIN_IMAGE=${SRIOV_DEVICE_PLUGIN_IMAGE:-ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin}
56
export NETWORK_RESOURCES_INJECTOR_IMAGE=${NETWORK_RESOURCES_INJECTOR_IMAGE:-ghcr.io/k8snetworkplumbingwg/network-resources-injector}
67
export SRIOV_NETWORK_CONFIG_DAEMON_IMAGE=${SRIOV_NETWORK_CONFIG_DAEMON_IMAGE:-ghcr.io/k8snetworkplumbingwg/sriov-network-operator-config-daemon}
@@ -9,6 +10,7 @@ if [ -z $SKIP_VAR_SET ]; then
910
else
1011
[ -z $SRIOV_CNI_IMAGE ] && echo "SRIOV_CNI_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1112
[ -z $SRIOV_INFINIBAND_CNI_IMAGE ] && echo "SRIOV_INFINIBAND_CNI_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
13+
[ -z ${$RDMA_CNI_IMAGE+set} ] && echo "RDMA_CNI_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1214
[ -z $SRIOV_DEVICE_PLUGIN_IMAGE ] && echo "SRIOV_DEVICE_PLUGIN_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1315
[ -z $NETWORK_RESOURCES_INJECTOR_IMAGE ] && echo "NETWORK_RESOURCES_INJECTOR_IMAGE is empty but SKIP_VAR_SET is set" && exit 1
1416
[ -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
@@ -7,6 +7,7 @@ KUBECONFIG=${KUBECONFIG:-/root/env/ign/auth/kubeconfig}
77

88
echo ${SRIOV_CNI_IMAGE}
99
echo ${SRIOV_INFINIBAND_CNI_IMAGE}
10+
echo ${RDMA_CNI_IMAGE}
1011
echo ${SRIOV_DEVICE_PLUGIN_IMAGE}
1112
echo ${NETWORK_RESOURCES_INJECTOR_IMAGE}
1213
echo ${SRIOV_NETWORK_CONFIG_DAEMON_IMAGE}

0 commit comments

Comments
 (0)