MCPcopy Create free account
hub / github.com/NVIDIA/gpu-operator / transformValidationInitContainer

Function transformValidationInitContainer

controllers/object_controls.go:3901–3945  ·  view source on GitHub ↗
(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec)

Source from the content-addressed store, hash-verified

3899}
3900
3901func transformValidationInitContainer(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec) error {
3902 for i, initContainer := range obj.Spec.Template.Spec.InitContainers {
3903 // skip if not validation initContainer
3904 if !strings.Contains(initContainer.Name, "validation") {
3905 continue
3906 }
3907
3908 // TODO: refactor the component-specific validation logic so that we are not duplicating TransformValidatorComponent()
3909 // Pass env for driver-validation init container
3910 if strings.HasPrefix(initContainer.Name, "driver") {
3911 if len(config.Validator.Driver.Env) > 0 {
3912 for _, env := range config.Validator.Driver.Env {
3913 setContainerEnv(&(obj.Spec.Template.Spec.InitContainers[i]), env.Name, env.Value)
3914 }
3915 }
3916 }
3917
3918 // Pass env for toolkit-validation init container
3919 if strings.HasPrefix(initContainer.Name, "toolkit") {
3920 if len(config.Validator.Toolkit.Env) > 0 {
3921 for _, env := range config.Validator.Toolkit.Env {
3922 setContainerEnv(&(obj.Spec.Template.Spec.InitContainers[i]), env.Name, env.Value)
3923 }
3924 }
3925 }
3926
3927 // update validation image
3928 image, err := gpuv1.ImagePath(&config.Validator)
3929 if err != nil {
3930 return err
3931 }
3932 obj.Spec.Template.Spec.InitContainers[i].Image = image
3933 // update validation image pull policy
3934 if config.Validator.ImagePullPolicy != "" {
3935 obj.Spec.Template.Spec.InitContainers[i].ImagePullPolicy = gpuv1.ImagePullPolicy(config.Validator.ImagePullPolicy)
3936 }
3937 // update the security context for the validator container
3938 transformValidatorSecurityContext(&obj.Spec.Template.Spec.InitContainers[i])
3939 }
3940 // add any pull secrets needed for validation image
3941 if len(config.Validator.ImagePullSecrets) > 0 {
3942 addPullSecrets(&obj.Spec.Template.Spec, config.Validator.ImagePullSecrets)
3943 }
3944 return nil
3945}
3946
3947func addPullSecrets(podSpec *corev1.PodSpec, secrets []string) {
3948 for _, secret := range secrets {

Callers 11

TransformToolkitFunction · 0.85
TransformDevicePluginFunction · 0.85
TransformDCGMExporterFunction · 0.85
TransformDCGMFunction · 0.85
TransformMIGManagerFunction · 0.85

Calls 3

setContainerEnvFunction · 0.85
addPullSecretsFunction · 0.85

Tested by 1