Skip to content

Commit

Permalink
[release-1.5] 🐛 Skip checking clusterConfiguration.dns fields when …
Browse files Browse the repository at this point in the history
…KCP checking MachineNeedRollout (#10304)

* Skip checking DNS filed when checking KCP MachineNeedRollout

* fix comment

---------

Co-authored-by: huangwei <wei.huang@smartx.com>
  • Loading branch information
k8s-infra-cherrypick-robot and Levi080513 committed Mar 22, 2024
1 parent 5f20c32 commit e5abeb3
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
4 changes: 4 additions & 0 deletions controlplane/kubeadm/internal/filters.go
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,15 @@ func matchClusterConfiguration(kcp *controlplanev1.KubeadmControlPlane, machine
if machineClusterConfig == nil {
machineClusterConfig = &bootstrapv1.ClusterConfiguration{}
}

kcpLocalClusterConfiguration := kcp.Spec.KubeadmConfigSpec.ClusterConfiguration
if kcpLocalClusterConfiguration == nil {
kcpLocalClusterConfiguration = &bootstrapv1.ClusterConfiguration{}
}

// Skip checking DNS fields because we can update the configuration of the working cluster in place.
machineClusterConfig.DNS = kcpLocalClusterConfiguration.DNS

// Compare and return.
return reflect.DeepEqual(machineClusterConfig, kcpLocalClusterConfiguration)
}
Expand Down
25 changes: 25 additions & 0 deletions controlplane/kubeadm/internal/filters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,31 @@ func TestMatchClusterConfiguration(t *testing.T) {
}
g.Expect(matchClusterConfiguration(kcp, m)).To(BeTrue())
})
t.Run("Return true although the DNS fields are different", func(t *testing.T) {
g := NewWithT(t)
kcp := &controlplanev1.KubeadmControlPlane{
Spec: controlplanev1.KubeadmControlPlaneSpec{
KubeadmConfigSpec: bootstrapv1.KubeadmConfigSpec{
ClusterConfiguration: &bootstrapv1.ClusterConfiguration{
DNS: bootstrapv1.DNS{
ImageMeta: bootstrapv1.ImageMeta{
ImageTag: "v1.10.1",
ImageRepository: "gcr.io/capi-test",
},
},
},
},
},
}
m := &clusterv1.Machine{
ObjectMeta: metav1.ObjectMeta{
Annotations: map[string]string{
controlplanev1.KubeadmClusterConfigurationAnnotation: "{\"dns\":{\"imageRepository\":\"gcr.io/capi-test\",\"imageTag\":\"v1.9.3\"}}",
},
},
}
g.Expect(matchClusterConfiguration(kcp, m)).To(BeTrue())
})
}

func TestGetAdjustedKcpConfig(t *testing.T) {
Expand Down

0 comments on commit e5abeb3

Please sign in to comment.