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

Function TransformCCManager

controllers/object_controls.go:2192–2238  ·  view source on GitHub ↗

TransformCCManager transforms CC Manager daemonset with required config as per ClusterPolicy

(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec, n ClusterPolicyController)

Source from the content-addressed store, hash-verified

2190
2191// TransformCCManager transforms CC Manager daemonset with required config as per ClusterPolicy
2192func TransformCCManager(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec, n ClusterPolicyController) error {
2193 // update image
2194 image, err := gpuv1.ImagePath(&config.CCManager)
2195 if err != nil {
2196 return err
2197 }
2198 obj.Spec.Template.Spec.Containers[0].Image = image
2199
2200 // update image pull policy
2201 obj.Spec.Template.Spec.Containers[0].ImagePullPolicy = gpuv1.ImagePullPolicy(config.CCManager.ImagePullPolicy)
2202
2203 // set image pull secrets
2204 if len(config.CCManager.ImagePullSecrets) > 0 {
2205 addPullSecrets(&obj.Spec.Template.Spec, config.CCManager.ImagePullSecrets)
2206 }
2207
2208 // set resource limits
2209 if config.CCManager.Resources != nil {
2210 // apply resource limits to all containers
2211 for i := range obj.Spec.Template.Spec.Containers {
2212 obj.Spec.Template.Spec.Containers[i].Resources.Requests = config.CCManager.Resources.Requests
2213 obj.Spec.Template.Spec.Containers[i].Resources.Limits = config.CCManager.Resources.Limits
2214 }
2215 }
2216
2217 // set arguments if specified for cc-manager container
2218 if len(config.CCManager.Args) > 0 {
2219 obj.Spec.Template.Spec.Containers[0].Args = config.CCManager.Args
2220 }
2221
2222 // set default cc mode env
2223 if config.CCManager.DefaultMode != "" {
2224 setContainerEnv(&(obj.Spec.Template.Spec.Containers[0]), DefaultCCModeEnvName, config.CCManager.DefaultMode)
2225 }
2226
2227 // set/append environment variables for cc-manager container
2228 if len(config.CCManager.Env) > 0 {
2229 for _, env := range config.CCManager.Env {
2230 setContainerEnv(&(obj.Spec.Template.Spec.Containers[0]), env.Name, env.Value)
2231 }
2232 }
2233
2234 // set hostNetwork for cc-manager if specified
2235 applyHostNetworkConfig(&obj.Spec.Template.Spec, config.CCManager.HostNetwork)
2236
2237 return nil
2238}
2239
2240// TransformVGPUDeviceManager transforms VGPU Device Manager daemonset with required config as per ClusterPolicy
2241func TransformVGPUDeviceManager(obj *appsv1.DaemonSet, config *gpuv1.ClusterPolicySpec, n ClusterPolicyController) error {

Callers 1

TestTransformCCManagerFunction · 0.85

Calls 3

addPullSecretsFunction · 0.85
setContainerEnvFunction · 0.85
applyHostNetworkConfigFunction · 0.85

Tested by 1

TestTransformCCManagerFunction · 0.68