Skip to content

Commit

Permalink
fine tuning
Browse files Browse the repository at this point in the history
  • Loading branch information
Devinwong committed Jan 28, 2025
1 parent 5ea55cb commit abf21d3
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
24 changes: 19 additions & 5 deletions aks-node-controller/parser/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,13 @@ var (
containerdConfigTemplateText string
//nolint:gochecknoglobals
containerdConfigTemplate = template.Must(
template.New("containerdconfigforaksnodeconfig").Funcs(getFuncMapForContainerdConfigTemplate()).Parse(containerdConfigTemplateText),
template.New("containerdconfig").Funcs(getFuncMapForContainerdConfigTemplate()).Parse(containerdConfigTemplateText),
)
//go:embed templates/containerd_no_GPU.toml.gtpl
containerdConfigNoGPUTemplateText string
//nolint:gochecknoglobals
containerdConfigNoGPUTemplate = template.Must(
template.New("containerdconfigforaksnodeconfig").Funcs(getFuncMapForContainerdConfigTemplate()).Parse(containerdConfigNoGPUTemplateText),
template.New("nogpucontainerdconfig").Funcs(getFuncMapForContainerdConfigTemplate()).Parse(containerdConfigNoGPUTemplateText),
)
)

Expand Down Expand Up @@ -145,20 +145,34 @@ func getKubenetTemplate() string {
return base64.StdEncoding.EncodeToString(kubenetTemplateContent)
}

// getContainerdConfig returns the base64 encoded containerd config depending on whether the node is with GPU or not.
func getContainerdConfig(aksnodeconfig *aksnodeconfigv1.Configuration, noGPU bool) string {
// getContainerdConfigBase64 returns the base64 encoded containerd config depending on whether the node is with GPU or not.
func getContainerdConfigBase64(aksnodeconfig *aksnodeconfigv1.Configuration) string {
if aksnodeconfig == nil {
return ""
}

containerdConfig, err := containerdConfigFromAKSNodeConfig(aksnodeconfig, noGPU)
containerdConfig, err := containerdConfigFromAKSNodeConfig(aksnodeconfig, false)
if err != nil {
return fmt.Sprintf("error getting containerd config from node bootstrap variables: %v", err)
}

return base64.StdEncoding.EncodeToString([]byte(containerdConfig))
}

// getNoGPUContainerdConfigBase64 returns the base64 encoded containerd config depending on whether the node is with GPU or not.
func getNoGPUContainerdConfigBase64(aksnodeconfig *aksnodeconfigv1.Configuration) string {
if aksnodeconfig == nil {
return ""
}

containerdConfig, err := containerdConfigFromAKSNodeConfig(aksnodeconfig, true)
if err != nil {
return fmt.Sprintf("error getting No GPU containerd config from node bootstrap variables: %v", err)
}

return base64.StdEncoding.EncodeToString([]byte(containerdConfig))
}

func containerdConfigFromAKSNodeConfig(aksnodeconfig *aksnodeconfigv1.Configuration, noGPU bool) (string, error) {
if aksnodeconfig == nil {
return "", fmt.Errorf("AKSNodeConfig is nil")
Expand Down
2 changes: 1 addition & 1 deletion aks-node-controller/parser/helper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ oom_score = 0
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := getContainerdConfig(tt.args.aksnodeconfig, tt.args.noGpu); got != tt.want {
if got := getContainerdConfigBase64(tt.args.aksnodeconfig); got != tt.want {
t.Errorf("getContainerdConfig() = %v, want %v", got, tt.want)
}
})
Expand Down
4 changes: 2 additions & 2 deletions aks-node-controller/parser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,8 @@ func getCSEEnv(config *aksnodeconfigv1.Configuration) map[string]string {
"AZURE_ENVIRONMENT_FILEPATH": getAzureEnvironmentFilepath(config),
"KUBE_CA_CRT": config.GetKubernetesCaCert(),
"KUBENET_TEMPLATE": getKubenetTemplate(),
"CONTAINERD_CONFIG_CONTENT": getContainerdConfig(config, false),
"CONTAINERD_CONFIG_NO_GPU_CONTENT": getContainerdConfig(config, true),
"CONTAINERD_CONFIG_CONTENT": getContainerdConfigBase64(config),
"CONTAINERD_CONFIG_NO_GPU_CONTENT": getNoGPUContainerdConfigBase64(config),
"IS_KATA": fmt.Sprintf("%v", config.GetIsKata()),
"ARTIFACT_STREAMING_ENABLED": fmt.Sprintf("%v", config.GetEnableArtifactStreaming()),
"SYSCTL_CONTENT": getSysctlContent(config.GetCustomLinuxOsConfig().GetSysctlConfig()),
Expand Down

0 comments on commit abf21d3

Please sign in to comment.