Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,18 @@ generate-go-conversions-core: $(CONVERSION_GEN)
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha3 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
$(MAKE) clean-generated-conversions SRC_DIRS="./api/v1alpha4,./$(EXP_DIR)/api/v1alpha4,./$(EXP_DIR)/addons/api/v1alpha4"
$(CONVERSION_GEN) \
--input-dirs=./api/v1alpha4 \
--build-tag=ignore_autogenerated_core_v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
$(CONVERSION_GEN) \
--input-dirs=./$(EXP_DIR)/api/v1alpha4 \
--input-dirs=./$(EXP_DIR)/addons/api/v1alpha4 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt

.PHONY: generate-go-cabpk
generate-go-cabpk: $(CONTROLLER_GEN)
Expand Down
18 changes: 18 additions & 0 deletions PROJECT
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
domain: x-k8s.io
repo: sigs.k8s.io/cluster-api
resources:
# v1alpha3 types
- group: cluster
kind: Cluster
version: v1alpha3
Expand All @@ -13,6 +14,7 @@ resources:
- group: cluster
kind: MachineDeployment
version: v1alpha3
# v1alpha4 types
- group: cluster
kind: ClusterClass
version: v1alpha4
Expand All @@ -28,4 +30,20 @@ resources:
- group: cluster
kind: MachineDeployment
version: v1alpha4
# v1beta1 types
- group: cluster
kind: ClusterClass
version: v1beta1
- group: cluster
kind: Cluster
version: v1beta1
- group: cluster
kind: Machine
version: v1beta1
- group: cluster
kind: MachineSet
version: v1beta1
- group: cluster
kind: MachineDeployment
version: v1beta1
version: "2"
134 changes: 67 additions & 67 deletions api/v1alpha3/conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,28 +18,28 @@ package v1alpha3

import (
apiconversion "k8s.io/apimachinery/pkg/conversion"
"sigs.k8s.io/cluster-api/api/v1alpha4"
"sigs.k8s.io/cluster-api/api/v1beta1"
"sigs.k8s.io/cluster-api/util/conditions"
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)

func (src *Cluster) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.Cluster)
dst := dstRaw.(*v1beta1.Cluster)

if err := Convert_v1alpha3_Cluster_To_v1alpha4_Cluster(src, dst, nil); err != nil {
if err := Convert_v1alpha3_Cluster_To_v1beta1_Cluster(src, dst, nil); err != nil {
return err
}

// Given this is a bool and there is no timestamp associated with it, when this condition is set, its timestamp
// will be "now". See https://github.com/kubernetes-sigs/cluster-api/issues/3798#issuecomment-708619826 for more
// discussion.
if src.Status.ControlPlaneInitialized {
conditions.MarkTrue(dst, v1alpha4.ControlPlaneInitializedCondition)
conditions.MarkTrue(dst, v1beta1.ControlPlaneInitializedCondition)
}

// Manually restore data.
restored := &v1alpha4.Cluster{}
restored := &v1beta1.Cluster{}
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
return err
}
Expand All @@ -52,14 +52,14 @@ func (src *Cluster) ConvertTo(dstRaw conversion.Hub) error {
}

func (dst *Cluster) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.Cluster)
src := srcRaw.(*v1beta1.Cluster)

if err := Convert_v1alpha4_Cluster_To_v1alpha3_Cluster(src, dst, nil); err != nil {
if err := Convert_v1beta1_Cluster_To_v1alpha3_Cluster(src, dst, nil); err != nil {
return err
}

// Set the v1alpha3 boolean status field if the v1alpha4 condition was true
if conditions.IsTrue(src, v1alpha4.ControlPlaneInitializedCondition) {
// Set the v1alpha3 boolean status field if the v1beta1 condition was true
if conditions.IsTrue(src, v1beta1.ControlPlaneInitializedCondition) {
dst.Status.ControlPlaneInitialized = true
}

Expand All @@ -72,26 +72,26 @@ func (dst *Cluster) ConvertFrom(srcRaw conversion.Hub) error {
}

func (src *ClusterList) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.ClusterList)
dst := dstRaw.(*v1beta1.ClusterList)

return Convert_v1alpha3_ClusterList_To_v1alpha4_ClusterList(src, dst, nil)
return Convert_v1alpha3_ClusterList_To_v1beta1_ClusterList(src, dst, nil)
}

func (dst *ClusterList) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.ClusterList)
src := srcRaw.(*v1beta1.ClusterList)

return Convert_v1alpha4_ClusterList_To_v1alpha3_ClusterList(src, dst, nil)
return Convert_v1beta1_ClusterList_To_v1alpha3_ClusterList(src, dst, nil)
}

func (src *Machine) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.Machine)
dst := dstRaw.(*v1beta1.Machine)

if err := Convert_v1alpha3_Machine_To_v1alpha4_Machine(src, dst, nil); err != nil {
if err := Convert_v1alpha3_Machine_To_v1beta1_Machine(src, dst, nil); err != nil {
return err
}

// Manually restore data.
restored := &v1alpha4.Machine{}
restored := &v1beta1.Machine{}
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
return err
}
Expand All @@ -101,9 +101,9 @@ func (src *Machine) ConvertTo(dstRaw conversion.Hub) error {
}

func (dst *Machine) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.Machine)
src := srcRaw.(*v1beta1.Machine)

if err := Convert_v1alpha4_Machine_To_v1alpha3_Machine(src, dst, nil); err != nil {
if err := Convert_v1beta1_Machine_To_v1alpha3_Machine(src, dst, nil); err != nil {
return err
}

Expand All @@ -116,60 +116,60 @@ func (dst *Machine) ConvertFrom(srcRaw conversion.Hub) error {
}

func (src *MachineList) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.MachineList)
dst := dstRaw.(*v1beta1.MachineList)

return Convert_v1alpha3_MachineList_To_v1alpha4_MachineList(src, dst, nil)
return Convert_v1alpha3_MachineList_To_v1beta1_MachineList(src, dst, nil)
}

func (dst *MachineList) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.MachineList)
src := srcRaw.(*v1beta1.MachineList)

return Convert_v1alpha4_MachineList_To_v1alpha3_MachineList(src, dst, nil)
return Convert_v1beta1_MachineList_To_v1alpha3_MachineList(src, dst, nil)
}

func (src *MachineSet) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.MachineSet)
dst := dstRaw.(*v1beta1.MachineSet)

return Convert_v1alpha3_MachineSet_To_v1alpha4_MachineSet(src, dst, nil)
return Convert_v1alpha3_MachineSet_To_v1beta1_MachineSet(src, dst, nil)
}

func (dst *MachineSet) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.MachineSet)
src := srcRaw.(*v1beta1.MachineSet)

return Convert_v1alpha4_MachineSet_To_v1alpha3_MachineSet(src, dst, nil)
return Convert_v1beta1_MachineSet_To_v1alpha3_MachineSet(src, dst, nil)
}

func (src *MachineSetList) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.MachineSetList)
dst := dstRaw.(*v1beta1.MachineSetList)

return Convert_v1alpha3_MachineSetList_To_v1alpha4_MachineSetList(src, dst, nil)
return Convert_v1alpha3_MachineSetList_To_v1beta1_MachineSetList(src, dst, nil)
}

func (dst *MachineSetList) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.MachineSetList)
src := srcRaw.(*v1beta1.MachineSetList)

return Convert_v1alpha4_MachineSetList_To_v1alpha3_MachineSetList(src, dst, nil)
return Convert_v1beta1_MachineSetList_To_v1alpha3_MachineSetList(src, dst, nil)
}

func (src *MachineDeployment) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.MachineDeployment)
dst := dstRaw.(*v1beta1.MachineDeployment)

if err := Convert_v1alpha3_MachineDeployment_To_v1alpha4_MachineDeployment(src, dst, nil); err != nil {
if err := Convert_v1alpha3_MachineDeployment_To_v1beta1_MachineDeployment(src, dst, nil); err != nil {
return err
}

// Manually restore data.
restored := &v1alpha4.MachineDeployment{}
restored := &v1beta1.MachineDeployment{}
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
return err
}

if restored.Spec.Strategy != nil && restored.Spec.Strategy.RollingUpdate != nil {
if dst.Spec.Strategy == nil {
dst.Spec.Strategy = &v1alpha4.MachineDeploymentStrategy{}
dst.Spec.Strategy = &v1beta1.MachineDeploymentStrategy{}
}
if dst.Spec.Strategy.RollingUpdate == nil {
dst.Spec.Strategy.RollingUpdate = &v1alpha4.MachineRollingUpdateDeployment{}
dst.Spec.Strategy.RollingUpdate = &v1beta1.MachineRollingUpdateDeployment{}
}
dst.Spec.Strategy.RollingUpdate.DeletePolicy = restored.Spec.Strategy.RollingUpdate.DeletePolicy
}
Expand All @@ -179,9 +179,9 @@ func (src *MachineDeployment) ConvertTo(dstRaw conversion.Hub) error {
}

func (dst *MachineDeployment) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.MachineDeployment)
src := srcRaw.(*v1beta1.MachineDeployment)

if err := Convert_v1alpha4_MachineDeployment_To_v1alpha3_MachineDeployment(src, dst, nil); err != nil {
if err := Convert_v1beta1_MachineDeployment_To_v1alpha3_MachineDeployment(src, dst, nil); err != nil {
return err
}

Expand All @@ -193,32 +193,32 @@ func (dst *MachineDeployment) ConvertFrom(srcRaw conversion.Hub) error {
return nil
}

// Status.Conditions was introduced in v1alpha4, thus requiring a custom conversion function; the values is going to be preserved in an annotation thus allowing roundtrip without loosing informations
func Convert_v1alpha4_MachineDeploymentStatus_To_v1alpha3_MachineDeploymentStatus(in *v1alpha4.MachineDeploymentStatus, out *MachineDeploymentStatus, s apiconversion.Scope) error {
return autoConvert_v1alpha4_MachineDeploymentStatus_To_v1alpha3_MachineDeploymentStatus(in, out, s)
// Status.Conditions was introduced in v1beta1, thus requiring a custom conversion function; the values is going to be preserved in an annotation thus allowing roundtrip without loosing informations
func Convert_v1beta1_MachineDeploymentStatus_To_v1alpha3_MachineDeploymentStatus(in *v1beta1.MachineDeploymentStatus, out *MachineDeploymentStatus, s apiconversion.Scope) error {
return autoConvert_v1beta1_MachineDeploymentStatus_To_v1alpha3_MachineDeploymentStatus(in, out, s)
}

func (src *MachineDeploymentList) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.MachineDeploymentList)
dst := dstRaw.(*v1beta1.MachineDeploymentList)

return Convert_v1alpha3_MachineDeploymentList_To_v1alpha4_MachineDeploymentList(src, dst, nil)
return Convert_v1alpha3_MachineDeploymentList_To_v1beta1_MachineDeploymentList(src, dst, nil)
}

func (dst *MachineDeploymentList) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.MachineDeploymentList)
src := srcRaw.(*v1beta1.MachineDeploymentList)

return Convert_v1alpha4_MachineDeploymentList_To_v1alpha3_MachineDeploymentList(src, dst, nil)
return Convert_v1beta1_MachineDeploymentList_To_v1alpha3_MachineDeploymentList(src, dst, nil)
}

func (src *MachineHealthCheck) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.MachineHealthCheck)
dst := dstRaw.(*v1beta1.MachineHealthCheck)

if err := Convert_v1alpha3_MachineHealthCheck_To_v1alpha4_MachineHealthCheck(src, dst, nil); err != nil {
if err := Convert_v1alpha3_MachineHealthCheck_To_v1beta1_MachineHealthCheck(src, dst, nil); err != nil {
return err
}

// Manually restore data.
restored := &v1alpha4.MachineHealthCheck{}
restored := &v1beta1.MachineHealthCheck{}
if ok, err := utilconversion.UnmarshalData(src, restored); err != nil || !ok {
return err
}
Expand All @@ -231,9 +231,9 @@ func (src *MachineHealthCheck) ConvertTo(dstRaw conversion.Hub) error {
}

func (dst *MachineHealthCheck) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.MachineHealthCheck)
src := srcRaw.(*v1beta1.MachineHealthCheck)

if err := Convert_v1alpha4_MachineHealthCheck_To_v1alpha3_MachineHealthCheck(src, dst, nil); err != nil {
if err := Convert_v1beta1_MachineHealthCheck_To_v1alpha3_MachineHealthCheck(src, dst, nil); err != nil {
return err
}

Expand All @@ -246,42 +246,42 @@ func (dst *MachineHealthCheck) ConvertFrom(srcRaw conversion.Hub) error {
}

func (src *MachineHealthCheckList) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1alpha4.MachineHealthCheckList)
dst := dstRaw.(*v1beta1.MachineHealthCheckList)

return Convert_v1alpha3_MachineHealthCheckList_To_v1alpha4_MachineHealthCheckList(src, dst, nil)
return Convert_v1alpha3_MachineHealthCheckList_To_v1beta1_MachineHealthCheckList(src, dst, nil)
}

func (dst *MachineHealthCheckList) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*v1alpha4.MachineHealthCheckList)
src := srcRaw.(*v1beta1.MachineHealthCheckList)

return Convert_v1alpha4_MachineHealthCheckList_To_v1alpha3_MachineHealthCheckList(src, dst, nil)
return Convert_v1beta1_MachineHealthCheckList_To_v1alpha3_MachineHealthCheckList(src, dst, nil)
}

func Convert_v1alpha4_ClusterSpec_To_v1alpha3_ClusterSpec(in *v1alpha4.ClusterSpec, out *ClusterSpec, s apiconversion.Scope) error {
func Convert_v1beta1_ClusterSpec_To_v1alpha3_ClusterSpec(in *v1beta1.ClusterSpec, out *ClusterSpec, s apiconversion.Scope) error {
// NOTE: custom conversion func is required because spec.Topology does not exists in v1alpha3
return autoConvert_v1alpha4_ClusterSpec_To_v1alpha3_ClusterSpec(in, out, s)
return autoConvert_v1beta1_ClusterSpec_To_v1alpha3_ClusterSpec(in, out, s)
}

func Convert_v1alpha3_Bootstrap_To_v1alpha4_Bootstrap(in *Bootstrap, out *v1alpha4.Bootstrap, s apiconversion.Scope) error {
return autoConvert_v1alpha3_Bootstrap_To_v1alpha4_Bootstrap(in, out, s)
func Convert_v1alpha3_Bootstrap_To_v1beta1_Bootstrap(in *Bootstrap, out *v1beta1.Bootstrap, s apiconversion.Scope) error {
return autoConvert_v1alpha3_Bootstrap_To_v1beta1_Bootstrap(in, out, s)
}

func Convert_v1alpha4_MachineRollingUpdateDeployment_To_v1alpha3_MachineRollingUpdateDeployment(in *v1alpha4.MachineRollingUpdateDeployment, out *MachineRollingUpdateDeployment, s apiconversion.Scope) error {
return autoConvert_v1alpha4_MachineRollingUpdateDeployment_To_v1alpha3_MachineRollingUpdateDeployment(in, out, s)
func Convert_v1beta1_MachineRollingUpdateDeployment_To_v1alpha3_MachineRollingUpdateDeployment(in *v1beta1.MachineRollingUpdateDeployment, out *MachineRollingUpdateDeployment, s apiconversion.Scope) error {
return autoConvert_v1beta1_MachineRollingUpdateDeployment_To_v1alpha3_MachineRollingUpdateDeployment(in, out, s)
}

func Convert_v1alpha4_MachineHealthCheckSpec_To_v1alpha3_MachineHealthCheckSpec(in *v1alpha4.MachineHealthCheckSpec, out *MachineHealthCheckSpec, s apiconversion.Scope) error {
return autoConvert_v1alpha4_MachineHealthCheckSpec_To_v1alpha3_MachineHealthCheckSpec(in, out, s)
func Convert_v1beta1_MachineHealthCheckSpec_To_v1alpha3_MachineHealthCheckSpec(in *v1beta1.MachineHealthCheckSpec, out *MachineHealthCheckSpec, s apiconversion.Scope) error {
return autoConvert_v1beta1_MachineHealthCheckSpec_To_v1alpha3_MachineHealthCheckSpec(in, out, s)
}

func Convert_v1alpha3_ClusterStatus_To_v1alpha4_ClusterStatus(in *ClusterStatus, out *v1alpha4.ClusterStatus, s apiconversion.Scope) error {
return autoConvert_v1alpha3_ClusterStatus_To_v1alpha4_ClusterStatus(in, out, s)
func Convert_v1alpha3_ClusterStatus_To_v1beta1_ClusterStatus(in *ClusterStatus, out *v1beta1.ClusterStatus, s apiconversion.Scope) error {
return autoConvert_v1alpha3_ClusterStatus_To_v1beta1_ClusterStatus(in, out, s)
}

func Convert_v1alpha3_ObjectMeta_To_v1alpha4_ObjectMeta(in *ObjectMeta, out *v1alpha4.ObjectMeta, s apiconversion.Scope) error {
return autoConvert_v1alpha3_ObjectMeta_To_v1alpha4_ObjectMeta(in, out, s)
func Convert_v1alpha3_ObjectMeta_To_v1beta1_ObjectMeta(in *ObjectMeta, out *v1beta1.ObjectMeta, s apiconversion.Scope) error {
return autoConvert_v1alpha3_ObjectMeta_To_v1beta1_ObjectMeta(in, out, s)
}

func Convert_v1alpha4_MachineStatus_To_v1alpha3_MachineStatus(in *v1alpha4.MachineStatus, out *MachineStatus, s apiconversion.Scope) error {
return autoConvert_v1alpha4_MachineStatus_To_v1alpha3_MachineStatus(in, out, s)
func Convert_v1beta1_MachineStatus_To_v1alpha3_MachineStatus(in *v1beta1.MachineStatus, out *MachineStatus, s apiconversion.Scope) error {
return autoConvert_v1beta1_MachineStatus_To_v1alpha3_MachineStatus(in, out, s)
}
Loading