Skip to content

Commit 9897af6

Browse files
nikhilsksajmera-pensando
authored andcommitted
[REDHAT ISSUE] Make init container images configurable through helm-charts (#912)
1 parent bca0d2d commit 9897af6

File tree

8 files changed

+19
-10
lines changed

8 files changed

+19
-10
lines changed

api/v1alpha1/deviceconfig_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ type UtilsContainerSpec struct {
773773

774774
// CommonConfigSpec contains the common config across operator and operands
775775
type CommonConfigSpec struct {
776-
// InitContainerImage is being used for the operands pods, i.e. metrics exporter, test runner, device plugin and node labeller
776+
// InitContainerImage is being used for the operands pods, i.e. metrics exporter, test runner, device plugin, device config manager and node labeller
777777
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="InitContainerImage",xDescriptors={"urn:alm:descriptor:com.amd.deviceconfigs:initContainerImage"}
778778
// +optional
779779
InitContainerImage string `json:"initContainerImage,omitempty"`

bundle/manifests/amd-gpu-operator.clusterserviceversion.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ spec:
8383
x-descriptors:
8484
- urn:alm:descriptor:com.amd.deviceconfigs:commonConfig
8585
- description: InitContainerImage is being used for the operands pods, i.e.
86-
metrics exporter, test runner, device plugin and node labeller
86+
metrics exporter, test runner, device plugin, device config manager and
87+
node labeller
8788
displayName: InitContainerImage
8889
path: commonConfig.initContainerImage
8990
x-descriptors:

bundle/manifests/amd.com_deviceconfigs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ spec:
5151
properties:
5252
initContainerImage:
5353
description: InitContainerImage is being used for the operands
54-
pods, i.e. metrics exporter, test runner, device plugin and
55-
node labeller
54+
pods, i.e. metrics exporter, test runner, device plugin, device
55+
config manager and node labeller
5656
type: string
5757
utilsContainer:
5858
description: UtilsContainer contains parameters to configure operator's

config/crd/bases/amd.com_deviceconfigs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ spec:
4747
properties:
4848
initContainerImage:
4949
description: InitContainerImage is being used for the operands
50-
pods, i.e. metrics exporter, test runner, device plugin and
51-
node labeller
50+
pods, i.e. metrics exporter, test runner, device plugin, device
51+
config manager and node labeller
5252
type: string
5353
utilsContainer:
5454
description: UtilsContainer contains parameters to configure operator's

config/manifests/bases/amd-gpu-operator.clusterserviceversion.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ spec:
5454
x-descriptors:
5555
- urn:alm:descriptor:com.amd.deviceconfigs:commonConfig
5656
- description: InitContainerImage is being used for the operands pods, i.e.
57-
metrics exporter, test runner, device plugin and node labeller
57+
metrics exporter, test runner, device plugin, device config manager and
58+
node labeller
5859
displayName: InitContainerImage
5960
path: commonConfig.initContainerImage
6061
x-descriptors:

helm-charts-k8s/crds/deviceconfig-crd.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ spec:
5656
properties:
5757
initContainerImage:
5858
description: InitContainerImage is being used for the operands pods,
59-
i.e. metrics exporter, test runner, device plugin and node labeller
59+
i.e. metrics exporter, test runner, device plugin, device config
60+
manager and node labeller
6061
type: string
6162
utilsContainer:
6263
description: UtilsContainer contains parameters to configure operator's

helm-charts-openshift/crds/deviceconfig-crd.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ spec:
5656
properties:
5757
initContainerImage:
5858
description: InitContainerImage is being used for the operands pods,
59-
i.e. metrics exporter, test runner, device plugin and node labeller
59+
i.e. metrics exporter, test runner, device plugin, device config
60+
manager and node labeller
6061
type: string
6162
utilsContainer:
6263
description: UtilsContainer contains parameters to configure operator's

internal/configmanager/configmanager.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ const (
5454
defaultConfigManagerImage = "docker.io/rocm/device-config-manager:v1.4.0"
5555
ConfigManagerName = "device-config-manager"
5656
defaultSAName = "amd-gpu-operator-config-manager"
57+
defaultInitContainerImage = "busybox:1.36"
5758
)
5859

5960
var configManagerLabelPair = []string{"app.kubernetes.io/name", ConfigManagerName}
@@ -289,6 +290,10 @@ func (nl *configManager) SetConfigManagerAsDesired(ds *appsv1.DaemonSet, devConf
289290

290291
serviceaccount := defaultSAName
291292
gracePeriod := int64(1)
293+
initContainerImage := defaultInitContainerImage
294+
if devConfig.Spec.CommonConfig.InitContainerImage != "" {
295+
initContainerImage = devConfig.Spec.CommonConfig.InitContainerImage
296+
}
292297
initContainerCommand := "if [ \"$SIM_ENABLE\" = \"true\" ]; then exit 0; fi; while [ ! -d /host-sys/class/kfd ] || [ ! -d /host-sys/module/amdgpu/drivers/ ]; do echo \"amdgpu driver is not loaded \"; sleep 2 ;done"
293298
switch devConfig.Spec.Driver.DriverType {
294299
case utils.DriverTypeVFPassthrough:
@@ -307,7 +312,7 @@ func (nl *configManager) SetConfigManagerAsDesired(ds *appsv1.DaemonSet, devConf
307312
InitContainers: []v1.Container{
308313
{
309314
Name: "driver-init",
310-
Image: "busybox:1.36",
315+
Image: initContainerImage,
311316
Command: []string{"sh", "-c", initContainerCommand},
312317
SecurityContext: &v1.SecurityContext{Privileged: ptr.To(true)},
313318
VolumeMounts: []v1.VolumeMount{

0 commit comments

Comments
 (0)