@@ -11,6 +11,8 @@ import (
1111 commonconfig "github.com/netapp/trident/config"
1212 . "github.com/netapp/trident/logging"
1313 "github.com/netapp/trident/utils"
14+ v1 "k8s.io/api/core/v1"
15+ "sigs.k8s.io/yaml"
1416)
1517
1618const (
@@ -502,6 +504,7 @@ func GetCSIDeploymentYAML(args *DeploymentYAMLArguments) string {
502504 deploymentYAML = utils .ReplaceMultilineYAMLTag (deploymentYAML , "OWNER_REF" , constructOwnerRef (args .ControllingCRDetails ))
503505 deploymentYAML = utils .ReplaceMultilineYAMLTag (deploymentYAML , "NODE_SELECTOR" , constructNodeSelector (args .NodeSelector ))
504506 deploymentYAML = utils .ReplaceMultilineYAMLTag (deploymentYAML , "NODE_TOLERATIONS" , constructTolerations (args .Tolerations ))
507+ deploymentYAML = utils .ReplaceMultilineYAMLTag (deploymentYAML , "RESOURCES" , constructResources (args .Resources ))
505508 deploymentYAML = strings .ReplaceAll (deploymentYAML , "{ENABLE_FORCE_DETACH}" , strconv .FormatBool (args .EnableForceDetach ))
506509 deploymentYAML = strings .ReplaceAll (deploymentYAML , "{ENABLE_ACP}" , enableACP )
507510 deploymentYAML = strings .ReplaceAll (deploymentYAML , "{K8S_API_CLIENT_TRIDENT_THROTTLE}" , K8sAPITridentThrottle )
@@ -572,6 +575,7 @@ spec:
572575 {ENABLE_ACP}
573576 {DEBUG}
574577 {K8S_API_CLIENT_TRIDENT_THROTTLE}
578+ {RESOURCES}
575579 livenessProbe:
576580 exec:
577581 command:
@@ -625,9 +629,7 @@ spec:
625629 {AUTOSUPPORT_HOSTNAME}
626630 {AUTOSUPPORT_DEBUG}
627631 {AUTOSUPPORT_INSECURE}
628- resources:
629- limits:
630- memory: 1Gi
632+ {RESOURCES}
631633 volumeMounts:
632634 - name: asup-dir
633635 mountPath: /asup
@@ -645,6 +647,7 @@ spec:
645647 - "--retry-interval-start=8s"
646648 - "--retry-interval-max=30s"
647649 {K8S_API_CLIENT_SIDECAR_THROTTLE}
650+ {RESOURCES}
648651 env:
649652 - name: ADDRESS
650653 value: /var/lib/csi/sockets/pluginproxy/csi.sock
@@ -664,6 +667,7 @@ spec:
664667 - "--retry-interval-start=10s"
665668 - "--csi-address=$(ADDRESS)"
666669 {K8S_API_CLIENT_SIDECAR_THROTTLE}
670+ {RESOURCES}
667671 env:
668672 - name: ADDRESS
669673 value: /var/lib/csi/sockets/pluginproxy/csi.sock
@@ -678,6 +682,7 @@ spec:
678682 - "--timeout=300s"
679683 - "--csi-address=$(ADDRESS)"
680684 {K8S_API_CLIENT_SIDECAR_THROTTLE}
685+ {RESOURCES}
681686 env:
682687 - name: ADDRESS
683688 value: /var/lib/csi/sockets/pluginproxy/csi.sock
@@ -696,6 +701,7 @@ spec:
696701 - "--timeout=300s"
697702 - "--csi-address=$(ADDRESS)"
698703 {K8S_API_CLIENT_SIDECAR_THROTTLE}
704+ {RESOURCES}
699705 env:
700706 - name: ADDRESS
701707 value: /var/lib/csi/sockets/pluginproxy/csi.sock
@@ -886,6 +892,7 @@ func GetCSIDaemonSetYAMLLinux(args *DaemonsetYAMLArguments) string {
886892 daemonSetYAML = utils .ReplaceMultilineYAMLTag (daemonSetYAML , "NODE_TOLERATIONS" , constructTolerations (tolerations ))
887893 daemonSetYAML = utils .ReplaceMultilineYAMLTag (daemonSetYAML , "LABELS" , constructLabels (args .Labels ))
888894 daemonSetYAML = utils .ReplaceMultilineYAMLTag (daemonSetYAML , "OWNER_REF" , constructOwnerRef (args .ControllingCRDetails ))
895+ daemonSetYAML = utils .ReplaceMultilineYAMLTag (daemonSetYAML , "RESOURCES" , constructResources (args .Resources ))
889896
890897 // Log before secrets are inserted into YAML.
891898 Log ().WithField ("yaml" , daemonSetYAML ).Trace ("CSI Daemonset Linux YAML." )
@@ -1033,6 +1040,7 @@ spec:
10331040 timeoutSeconds: 5
10341041 periodSeconds: 10
10351042 initialDelaySeconds: 15
1043+ {RESOURCES}
10361044 env:
10371045 - name: KUBE_NODE_NAME
10381046 valueFrom:
@@ -1074,6 +1082,7 @@ spec:
10741082 - "--v={SIDECAR_LOG_LEVEL}"
10751083 - "--csi-address=$(ADDRESS)"
10761084 - "--kubelet-registration-path=$(REGISTRATION_PATH)"
1085+ {RESOURCES}
10771086 env:
10781087 - name: ADDRESS
10791088 value: /plugin/csi.sock
@@ -2654,6 +2663,16 @@ func constructOwnerRef(ownerRef map[string]string) string {
26542663 return ownerRefData
26552664}
26562665
2666+ func constructResources (res * v1.ResourceRequirements ) string {
2667+ r := struct {
2668+ Resources * v1.ResourceRequirements `json:"resources"`
2669+ }{
2670+ Resources : res ,
2671+ }
2672+ bytes , _ := yaml .Marshal (r )
2673+ return string (bytes )
2674+ }
2675+
26572676func constructImagePullSecrets (imagePullSecrets []string ) string {
26582677 var imagePullSecretsData string
26592678 if len (imagePullSecrets ) > 0 {
0 commit comments