Skip to content

Commit

Permalink
fix: set kubeletExtraArgs
Browse files Browse the repository at this point in the history
  • Loading branch information
dkoshkin committed Sep 27, 2023
1 parent 46c5f7e commit e1e3793
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 0 deletions.
17 changes: 17 additions & 0 deletions common/pkg/testutils/capitest/request/items.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ func NewKubeadmConfigTemplateRequestItem(uid types.UID) runtimehooksv1.GenerateP
Template: bootstrapv1.KubeadmConfigTemplateResource{
Spec: bootstrapv1.KubeadmConfigSpec{
PostKubeadmCommands: []string{"initial-post-kubeadm"},
JoinConfiguration: &bootstrapv1.JoinConfiguration{
NodeRegistration: bootstrapv1.NodeRegistrationOptions{},
},
},
},
},
Expand All @@ -83,6 +86,20 @@ func NewKubeadmControlPlaneTemplateRequestItem(
Name: KubeadmControlPlaneTemplateRequestObjectName,
Namespace: Namespace,
},
Spec: controlplanev1.KubeadmControlPlaneTemplateSpec{
Template: controlplanev1.KubeadmControlPlaneTemplateResource{
Spec: controlplanev1.KubeadmControlPlaneTemplateResourceSpec{
KubeadmConfigSpec: bootstrapv1.KubeadmConfigSpec{
InitConfiguration: &bootstrapv1.InitConfiguration{
NodeRegistration: bootstrapv1.NodeRegistrationOptions{},
},
JoinConfiguration: &bootstrapv1.JoinConfiguration{
NodeRegistration: bootstrapv1.NodeRegistrationOptions{},
},
},
},
},
},
},
&runtimehooksv1.HolderReference{
Kind: "Cluster",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Copyright 2023 D2iQ, Inc. All rights reserved.
// SPDX-License-Identifier: Apache-2.0

package credentials

const ()

func addImageCredentialProviderArgs(args map[string]string) {
args["image-credential-provider-bin-dir"] = credentialProviderTargetDir
args["image-credential-provider-config"] = kubeletImageCredentialProviderConfigOnRemote
}
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,27 @@ func (h *imageRegistriesPatchHandler) Mutate(
return generateErr
}

initConfiguration := obj.Spec.Template.Spec.KubeadmConfigSpec.InitConfiguration
if initConfiguration == nil {
initConfiguration = &cabpkv1.InitConfiguration{}
}
obj.Spec.Template.Spec.KubeadmConfigSpec.InitConfiguration = initConfiguration
if initConfiguration.NodeRegistration.KubeletExtraArgs == nil {
initConfiguration.NodeRegistration.KubeletExtraArgs = map[string]string{}
}
addImageCredentialProviderArgs(initConfiguration.NodeRegistration.KubeletExtraArgs)

joinConfiguration := obj.Spec.Template.Spec.KubeadmConfigSpec.JoinConfiguration
if joinConfiguration == nil {
joinConfiguration = &cabpkv1.JoinConfiguration{}
}
obj.Spec.Template.Spec.KubeadmConfigSpec.JoinConfiguration = joinConfiguration
if joinConfiguration.NodeRegistration.KubeletExtraArgs == nil {
joinConfiguration.NodeRegistration.KubeletExtraArgs = map[string]string{}
}
addImageCredentialProviderArgs(joinConfiguration.NodeRegistration.KubeletExtraArgs)

fmt.Printf("%v", joinConfiguration)
return nil
}); err != nil {
return err
Expand Down Expand Up @@ -196,6 +217,16 @@ func (h *imageRegistriesPatchHandler) Mutate(
return generateErr
}

joinConfiguration := obj.Spec.Template.Spec.JoinConfiguration
if joinConfiguration == nil {
joinConfiguration = &cabpkv1.JoinConfiguration{}
}
obj.Spec.Template.Spec.JoinConfiguration = joinConfiguration
if joinConfiguration.NodeRegistration.KubeletExtraArgs == nil {
joinConfiguration.NodeRegistration.KubeletExtraArgs = map[string]string{}
}
addImageCredentialProviderArgs(joinConfiguration.NodeRegistration.KubeletExtraArgs)

return nil
}); err != nil {
return err
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,22 @@ func TestGeneratePatches(t *testing.T) {
Path: "/spec/template/spec/kubeadmConfigSpec/preKubeadmCommands",
ValueMatcher: gomega.HaveLen(1),
},
{
Operation: "add",
Path: "/spec/template/spec/kubeadmConfigSpec/initConfiguration/nodeRegistration/kubeletExtraArgs",
ValueMatcher: gomega.HaveKeyWithValue(
"image-credential-provider-bin-dir",
"/etc/kubernetes/image-credential-provider/",
),
},
{
Operation: "add",
Path: "/spec/template/spec/kubeadmConfigSpec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
ValueMatcher: gomega.HaveKeyWithValue(
"image-credential-provider-config",
"/etc/kubernetes/image-credential-provider-config.yaml",
),
},
},
},
capitest.PatchTestDef{
Expand Down Expand Up @@ -95,6 +111,22 @@ func TestGeneratePatches(t *testing.T) {
Path: "/spec/template/spec/kubeadmConfigSpec/preKubeadmCommands",
ValueMatcher: gomega.HaveLen(1),
},
{
Operation: "add",
Path: "/spec/template/spec/kubeadmConfigSpec/initConfiguration/nodeRegistration/kubeletExtraArgs",
ValueMatcher: gomega.HaveKeyWithValue(
"image-credential-provider-bin-dir",
"/etc/kubernetes/image-credential-provider/",
),
},
{
Operation: "add",
Path: "/spec/template/spec/kubeadmConfigSpec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
ValueMatcher: gomega.HaveKeyWithValue(
"image-credential-provider-config",
"/etc/kubernetes/image-credential-provider-config.yaml",
),
},
},
},
capitest.PatchTestDef{
Expand Down Expand Up @@ -129,6 +161,14 @@ func TestGeneratePatches(t *testing.T) {
Path: "/spec/template/spec/preKubeadmCommands",
ValueMatcher: gomega.HaveLen(1),
},
{
Operation: "add",
Path: "/spec/template/spec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
ValueMatcher: gomega.HaveKeyWithValue(
"image-credential-provider-bin-dir",
"/etc/kubernetes/image-credential-provider/",
),
},
},
},
capitest.PatchTestDef{
Expand Down Expand Up @@ -166,6 +206,14 @@ func TestGeneratePatches(t *testing.T) {
Path: "/spec/template/spec/preKubeadmCommands",
ValueMatcher: gomega.HaveLen(1),
},
{
Operation: "add",
Path: "/spec/template/spec/joinConfiguration/nodeRegistration/kubeletExtraArgs",
ValueMatcher: gomega.HaveKeyWithValue(
"image-credential-provider-bin-dir",
"/etc/kubernetes/image-credential-provider/",
),
},
},
},
capitest.PatchTestDef{
Expand Down

0 comments on commit e1e3793

Please sign in to comment.