Skip to content

Commit 4429cb3

Browse files
authored
Merge pull request #12719 from sbueringer/pr-fixup-conversion-annotation
🐛 Stop adding conversion-data annotation to Cluster object
2 parents 25ec6d9 + 884e0ea commit 4429cb3

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

bootstrap/kubeadm/types/utils.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ func marshalForVersion(obj conversion.Hub, version semver.Version, kubeadmObjVer
115115
}
116116

117117
targetKubeadmObj = targetKubeadmObj.DeepCopyObject().(conversion.Convertible)
118-
if err := targetKubeadmObj.ConvertFrom(obj); err != nil {
118+
// DeepCopy obj because ConvertFrom might have side effects.
119+
if err := targetKubeadmObj.ConvertFrom(obj.DeepCopyObject().(conversion.Hub)); err != nil {
119120
return "", errors.Wrapf(err, "failed to convert to KubeadmAPI type for version %s", kubeadmAPIGroupVersion)
120121
}
121122

exp/topology/desiredstate/desired_state.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,8 @@ func (g *generator) computeControlPlaneVersion(ctx context.Context, s *scope.Sco
555555
// hook because we didn't go through an upgrade or we already called the hook after the upgrade.
556556
if hooks.IsPending(runtimehooksv1.AfterControlPlaneUpgrade, s.Current.Cluster) {
557557
v1beta1Cluster := &clusterv1beta1.Cluster{}
558-
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster); err != nil {
558+
// DeepCopy cluster because ConvertFrom has side effects like adding the conversion annotation.
559+
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster.DeepCopy()); err != nil {
559560
return "", errors.Wrap(err, "error converting Cluster to v1beta1 Cluster")
560561
}
561562

@@ -629,7 +630,8 @@ func (g *generator) computeControlPlaneVersion(ctx context.Context, s *scope.Sco
629630
// At this point the control plane and the machine deployments are stable and we are almost ready to pick
630631
// up the desiredVersion. Call the BeforeClusterUpgrade hook before picking up the desired version.
631632
v1beta1Cluster := &clusterv1beta1.Cluster{}
632-
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster); err != nil {
633+
// DeepCopy cluster because ConvertFrom has side effects like adding the conversion annotation.
634+
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster.DeepCopy()); err != nil {
633635
return "", errors.Wrap(err, "error converting Cluster to v1beta1 Cluster")
634636
}
635637

internal/controllers/topology/cluster/cluster_controller.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,8 @@ func (r *Reconciler) callBeforeClusterCreateHook(ctx context.Context, s *scope.S
436436

437437
if !s.Current.Cluster.Spec.InfrastructureRef.IsDefined() && !s.Current.Cluster.Spec.ControlPlaneRef.IsDefined() {
438438
v1beta1Cluster := &clusterv1beta1.Cluster{}
439-
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster); err != nil {
439+
// DeepCopy cluster because ConvertFrom has side effects like adding the conversion annotation.
440+
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster.DeepCopy()); err != nil {
440441
return ctrl.Result{}, errors.Wrap(err, "error converting Cluster to v1beta1 Cluster")
441442
}
442443

@@ -529,7 +530,8 @@ func (r *Reconciler) reconcileDelete(ctx context.Context, cluster *clusterv1.Clu
529530
if feature.Gates.Enabled(feature.RuntimeSDK) {
530531
if !hooks.IsOkToDelete(cluster) {
531532
v1beta1Cluster := &clusterv1beta1.Cluster{}
532-
if err := v1beta1Cluster.ConvertFrom(cluster); err != nil {
533+
// DeepCopy cluster because ConvertFrom has side effects like adding the conversion annotation.
534+
if err := v1beta1Cluster.ConvertFrom(cluster.DeepCopy()); err != nil {
533535
return ctrl.Result{}, errors.Wrap(err, "error converting Cluster to v1beta1 Cluster")
534536
}
535537

internal/controllers/topology/cluster/reconcile_state.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,8 @@ func (r *Reconciler) callAfterControlPlaneInitialized(ctx context.Context, s *sc
197197
if hooks.IsPending(runtimehooksv1.AfterControlPlaneInitialized, s.Current.Cluster) {
198198
if isControlPlaneInitialized(s.Current.Cluster) {
199199
v1beta1Cluster := &clusterv1beta1.Cluster{}
200-
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster); err != nil {
200+
// DeepCopy cluster because ConvertFrom has side effects like adding the conversion annotation.
201+
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster.DeepCopy()); err != nil {
201202
return errors.Wrap(err, "error converting Cluster to v1beta1 Cluster")
202203
}
203204

@@ -250,7 +251,8 @@ func (r *Reconciler) callAfterClusterUpgrade(ctx context.Context, s *scope.Scope
250251
!s.UpgradeTracker.MachinePools.IsAnyPendingUpgrade() && // No MachinePools are pending an upgrade
251252
!s.UpgradeTracker.MachinePools.DeferredUpgrade() { // No MachinePools have deferred an upgrade
252253
v1beta1Cluster := &clusterv1beta1.Cluster{}
253-
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster); err != nil {
254+
// DeepCopy cluster because ConvertFrom has side effects like adding the conversion annotation.
255+
if err := v1beta1Cluster.ConvertFrom(s.Current.Cluster.DeepCopy()); err != nil {
254256
return errors.Wrap(err, "error converting Cluster to v1beta1 Cluster")
255257
}
256258

0 commit comments

Comments
 (0)