@@ -181,12 +181,11 @@ func RemoveRdmaDeviceOnNode(node string) error {
181
181
return nil
182
182
}
183
183
184
- func DisableRdmaOnNode (node string ) error {
184
+ func DisableRdmaOnNode (node string , networkInterface string ) error {
185
185
logf .Log .Info ("Disable rdma from IO engine node" , "name" , node )
186
186
187
- iface := e2e_config .GetConfig ().NetworkInterface
188
187
// get dev link port wrt to interface
189
- rdmaDevName , err := GetDevLinkName (node , iface )
188
+ rdmaDevName , err := GetDevLinkName (node , networkInterface )
190
189
if err != nil {
191
190
return err
192
191
}
@@ -212,7 +211,9 @@ func DisableRdmaOnNode(node string) error {
212
211
}
213
212
}
214
213
215
- return nil
214
+ // Restart csi node pod on the node
215
+ return RestartCsiNodePodOnNode (node , 240 , 120 )
216
+
216
217
}
217
218
218
219
func RemoveRdmaDeviceOnAllWorkerNodes () error {
@@ -223,7 +224,7 @@ func RemoveRdmaDeviceOnAllWorkerNodes() error {
223
224
logf .Log .Info ("Remove rdma from IO engine node" )
224
225
for _ , node := range workerNodes .Items {
225
226
logf .Log .Info ("IO engine" , "Node" , node .Name )
226
- err := DisableRdmaOnNode (node .Name )
227
+ err := DisableRdmaOnNode (node .Name , e2e_config . GetConfig (). NetworkInterface )
227
228
if err != nil {
228
229
return err
229
230
}
@@ -239,20 +240,19 @@ func EnableRdmaDeviceOnAllWorkerNodes() error {
239
240
logf .Log .Info ("Enable rdma from IO engine node" )
240
241
for _ , node := range workerNodes .Items {
241
242
logf .Log .Info ("IO engine" , "Node" , node .Name )
242
- err := EnableRdmaOnNode (node .Name )
243
+ err := EnableRdmaOnNode (node .Name , e2e_config . GetConfig (). NetworkInterface )
243
244
if err != nil {
244
245
return err
245
246
}
246
247
}
247
248
return nil
248
249
}
249
250
250
- func EnableRdmaOnNode (node string ) error {
251
+ func EnableRdmaOnNode (node string , networkInterface string ) error {
251
252
logf .Log .Info ("Enable rdma on IO engine node" , "name" , node )
252
- // get interface name
253
- iface := e2e_config .GetConfig ().NetworkInterface
253
+
254
254
// get dev link port wrt to interface
255
- rdmaDevPortName , err := GetDevLinkName (node , iface )
255
+ rdmaDevPortName , err := GetDevLinkName (node , networkInterface )
256
256
if err != nil {
257
257
return err
258
258
}
@@ -317,3 +317,55 @@ func GetDevLinkName(node, iface string) (string, error) {
317
317
}
318
318
return "" , nil
319
319
}
320
+
321
+ // DisableConfiguredDisabledRdmaDevicesOnAllMayastorNodes disable rdma devices which are configured in platform config
322
+ // on all mayastor nodes. If no rdma devices are configured then it will return without doing anything.
323
+ // In some cases, multiple rdma devices are configured in cluster, so it should be disabled all the devices on nodes
324
+ func DisableConfiguredDisabledRdmaDevicesOnAllMayastorNodes () error {
325
+ ifaceList := e2e_config .GetConfig ().DisabledRdmaDevices
326
+ if len (ifaceList ) == 0 {
327
+ logf .Log .Info ("No rdma devices configured which needs to be disabled" )
328
+ return nil
329
+ }
330
+ workerNodes , err := ListIOEngineNodes ()
331
+ if err != nil {
332
+ return err
333
+ }
334
+ for _ , node := range workerNodes .Items {
335
+ logf .Log .Info ("Disable rdma device" , "Node" , node .Name )
336
+ for _ , iface := range ifaceList {
337
+ err := DisableRdmaOnNode (node .Name , iface )
338
+ if err != nil {
339
+ return err
340
+ }
341
+ }
342
+
343
+ }
344
+ return nil
345
+ }
346
+
347
+ // RestoreConfiguredDisabledRdmaDevicesOnAllMayastorNodes enable rdma devices which are configured in platform config
348
+ // on all mayastor nodes. If no rdma devices are configured then it will return without doing anything.
349
+ // In some cases, multiple rdma devices are configured in cluster were disabled, so it should be enabled all the devices on nodes
350
+ func RestoreConfiguredDisabledRdmaDevicesOnAllMayastorNodes () error {
351
+ ifaceList := e2e_config .GetConfig ().DisabledRdmaDevices
352
+ if len (ifaceList ) == 0 {
353
+ logf .Log .Info ("No rdma devices configured which needs to be restored" )
354
+ return nil
355
+ }
356
+ workerNodes , err := ListIOEngineNodes ()
357
+ if err != nil {
358
+ return err
359
+ }
360
+ for _ , node := range workerNodes .Items {
361
+ logf .Log .Info ("Enable rdma device" , "Node" , node .Name )
362
+ for _ , iface := range ifaceList {
363
+ err := EnableRdmaOnNode (node .Name , iface )
364
+ if err != nil {
365
+ return err
366
+ }
367
+ }
368
+
369
+ }
370
+ return nil
371
+ }
0 commit comments