(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec, n ClusterPolicyController)
| 3556 | } |
| 3557 | |
| 3558 | func transformDriverContainer(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec, n ClusterPolicyController) error { |
| 3559 | podSpec := &obj.Spec.Template.Spec |
| 3560 | driverContainer := findContainerByName(podSpec.Containers, "nvidia-driver-ctr") |
| 3561 | if driverContainer == nil { |
| 3562 | return fmt.Errorf("driver container (nvidia-driver-ctr) is missing from the driver daemonset manifest") |
| 3563 | } |
| 3564 | |
| 3565 | image, err := resolveDriverTag(n, &config.Driver) |
| 3566 | if err != nil { |
| 3567 | return err |
| 3568 | } |
| 3569 | if image != "" { |
| 3570 | driverContainer.Image = image |
| 3571 | } |
| 3572 | |
| 3573 | // update image pull policy |
| 3574 | driverContainer.ImagePullPolicy = gpuv1.ImagePullPolicy(config.Driver.ImagePullPolicy) |
| 3575 | |
| 3576 | // set image pull secrets |
| 3577 | if len(config.Driver.ImagePullSecrets) > 0 { |
| 3578 | addPullSecrets(&obj.Spec.Template.Spec, config.Driver.ImagePullSecrets) |
| 3579 | } |
| 3580 | // set resource limits |
| 3581 | if config.Driver.Resources != nil { |
| 3582 | driverContainer.Resources.Requests = config.Driver.Resources.Requests |
| 3583 | driverContainer.Resources.Limits = config.Driver.Resources.Limits |
| 3584 | } |
| 3585 | // set arguments if specified for driver container |
| 3586 | if len(config.Driver.Args) > 0 { |
| 3587 | driverContainer.Args = config.Driver.Args |
| 3588 | } |
| 3589 | |
| 3590 | if len(config.Driver.KernelModuleType) > 0 { |
| 3591 | setContainerEnv(driverContainer, KernelModuleTypeEnvName, config.Driver.KernelModuleType) |
| 3592 | // we set the "OPEN_KERNEL_MODULES_ENABLED" envar for backwards compatibility with older driver containers |
| 3593 | if config.Driver.OpenKernelModulesEnabled() { |
| 3594 | setContainerEnv(driverContainer, OpenKernelModulesEnabledEnvName, "true") |
| 3595 | } |
| 3596 | } |
| 3597 | |
| 3598 | // set container probe timeouts |
| 3599 | if config.Driver.StartupProbe != nil { |
| 3600 | setContainerProbe(driverContainer, config.Driver.StartupProbe, Startup) |
| 3601 | } |
| 3602 | if config.Driver.LivenessProbe != nil { |
| 3603 | setContainerProbe(driverContainer, config.Driver.LivenessProbe, Liveness) |
| 3604 | } |
| 3605 | if config.Driver.ReadinessProbe != nil { |
| 3606 | setContainerProbe(driverContainer, config.Driver.ReadinessProbe, Readiness) |
| 3607 | } |
| 3608 | |
| 3609 | if config.GDRCopy != nil && config.GDRCopy.IsEnabled() { |
| 3610 | // set env indicating gdrcopy is enabled |
| 3611 | setContainerEnv(driverContainer, GDRCopyEnabledEnvName, "true") |
| 3612 | } |
| 3613 | if config.GPUDirectStorage != nil && config.GPUDirectStorage.IsEnabled() { |
| 3614 | // set env indicating gds is enabled |
| 3615 | setContainerEnv(driverContainer, GDSEnabledEnvName, "true") |
no test coverage detected