Skip to content

Commit 819d302

Browse files
authored
Merge pull request #1431 from mythi/PR-2023-027
operator: fix setting QAT provisioning config volumeMount
2 parents 7f812e6 + 52d3d4a commit 819d302

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

pkg/controllers/qat/controller.go

+23-10
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
const (
3838
ownerKey = ".metadata.controller.qat"
3939
initcontainerName = "intel-qat-initcontainer"
40+
qatConfigVolume = "intel-qat-config-volume"
4041
)
4142

4243
var defaultNodeSelector = deployments.QATPluginDaemonSet().Spec.Template.Spec.NodeSelector
@@ -96,10 +97,7 @@ func (c *controller) NewDaemonSet(rawObj client.Object) *apps.DaemonSet {
9697
daemonSet.Spec.Template.Spec.NodeSelector = devicePlugin.Spec.NodeSelector
9798
}
9899

99-
if devicePlugin.Spec.InitImage == "" {
100-
daemonSet.Spec.Template.Spec.InitContainers = nil
101-
daemonSet.Spec.Template.Spec.Volumes = removeVolume(daemonSet.Spec.Template.Spec.Volumes, "sysfs")
102-
} else {
100+
if devicePlugin.Spec.InitImage != "" {
103101
setInitContainer(&daemonSet.Spec.Template.Spec, devicePlugin.Spec)
104102
}
105103

@@ -129,7 +127,7 @@ func (c *controller) UpdateDaemonSet(rawObj client.Object, ds *apps.DaemonSet) (
129127
if ds.Spec.Template.Spec.InitContainers != nil {
130128
ds.Spec.Template.Spec.InitContainers = nil
131129
ds.Spec.Template.Spec.Volumes = removeVolume(ds.Spec.Template.Spec.Volumes, "sysfs")
132-
ds.Spec.Template.Spec.Volumes = removeVolume(ds.Spec.Template.Spec.Volumes, "qat-config")
130+
ds.Spec.Template.Spec.Volumes = removeVolume(ds.Spec.Template.Spec.Volumes, qatConfigVolume)
133131
updated = true
134132
}
135133
} else {
@@ -220,7 +218,7 @@ func setInitContainer(dsSpec *v1.PodSpec, dpSpec devicepluginv1.QatDevicePluginS
220218
{
221219
Image: dpSpec.InitImage,
222220
ImagePullPolicy: "IfNotPresent",
223-
Name: "init-sriov-numvfs",
221+
Name: initcontainerName,
224222
Env: []v1.EnvVar{
225223
{
226224
Name: "ENABLED_QAT_PF_PCIIDS",
@@ -254,20 +252,35 @@ func setInitContainer(dsSpec *v1.PodSpec, dpSpec devicepluginv1.QatDevicePluginS
254252
mode := int32(0440)
255253

256254
if dpSpec.ProvisioningConfig != "" {
257-
dsSpec.Volumes = append(dsSpec.Volumes, v1.Volume{
258-
Name: "qat-config",
255+
qatVol := v1.Volume{
256+
Name: qatConfigVolume,
259257
VolumeSource: v1.VolumeSource{
260258
ConfigMap: &v1.ConfigMapVolumeSource{
261259
LocalObjectReference: v1.LocalObjectReference{Name: dpSpec.ProvisioningConfig},
262260
DefaultMode: &mode,
263261
},
264262
},
265-
})
263+
}
264+
265+
volumeUpdated := false
266+
267+
// update ProvisioningConfig volume
268+
for idx, vol := range dsSpec.Volumes {
269+
if vol.Name == qatConfigVolume {
270+
dsSpec.Volumes[idx] = qatVol
271+
volumeUpdated = true
272+
}
273+
}
274+
275+
// or add if it's completely missing
276+
if !volumeUpdated {
277+
dsSpec.Volumes = append(dsSpec.Volumes, qatVol)
278+
}
266279

267280
for i, initcontainer := range dsSpec.InitContainers {
268281
if initcontainer.Name == initcontainerName {
269282
dsSpec.InitContainers[i].VolumeMounts = append(dsSpec.InitContainers[i].VolumeMounts, v1.VolumeMount{
270-
Name: "qat-config",
283+
Name: qatConfigVolume,
271284
MountPath: "/qat-init/conf",
272285
})
273286
}

test/envtest/qatdeviceplugin_controller_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ var _ = Describe("QatDevicePlugin Controller", func() {
136136
}
137137
mode := int32(0440)
138138
expectedVolume := v1.Volume{
139-
Name: "qat-config",
139+
Name: "intel-qat-config-volume",
140140
VolumeSource: v1.VolumeSource{
141141
ConfigMap: &v1.ConfigMapVolumeSource{
142142
LocalObjectReference: v1.LocalObjectReference{Name: updatedProvisioningConfig},

0 commit comments

Comments
 (0)