Skip to content

🌱 Cleanup CAPD exp packages #12672

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -370,9 +370,6 @@ generate-manifests-docker-infrastructure: $(CONTROLLER_GEN) ## Generate manifest
cd $(CAPD_DIR); $(CONTROLLER_GEN) \
paths=./ \
paths=./api/... \
paths=./exp/api/... \
paths=./exp/internal/controllers/... \
paths=./exp/internal/webhooks/... \
paths=./internal/controllers/... \
paths=./internal/webhooks/... \
crd:crdVersions=v1 \
Expand Down Expand Up @@ -430,11 +427,10 @@ generate-go-deepcopy-kubeadm-control-plane: $(CONTROLLER_GEN) ## Generate deepco

.PHONY: generate-go-deepcopy-docker-infrastructure
generate-go-deepcopy-docker-infrastructure: $(CONTROLLER_GEN) generate-go-deepcopy-in-memory-infrastructure ## Generate deepcopy go code for docker infrastructure provider
$(MAKE) clean-generated-deepcopy SRC_DIRS="$(CAPD_DIR)/api,$(CAPD_DIR)/exp/api"
$(MAKE) clean-generated-deepcopy SRC_DIRS="$(CAPD_DIR)/api"
cd $(CAPD_DIR); $(CONTROLLER_GEN) \
object:headerFile=../../../hack/boilerplate/boilerplate.generatego.txt \
paths=./api/... \
paths=./exp/api/...
paths=./api/...

.PHONY: generate-go-deepcopy-in-memory-infrastructure
generate-go-deepcopy-in-memory-infrastructure: $(CONTROLLER_GEN) ## Generate deepcopy go code for in-memory cloud resources
Expand Down Expand Up @@ -534,10 +530,7 @@ generate-go-conversions-docker-infrastructure: $(CONVERSION_GEN) ## Generate con
--go-header-file=../../../hack/boilerplate/boilerplate.generatego.txt \
./api/v1alpha3 \
./api/v1alpha4 \
./api/v1beta1 \
./exp/api/v1alpha3 \
./exp/api/v1alpha4 \
./exp/api/v1beta1
./api/v1beta1

.PHONY: generate-go-conversions-test-extension
generate-go-conversions-test-extension: $(CONVERSION_GEN) ## Generate conversions go code for test runtime extension provider
Expand Down Expand Up @@ -729,7 +722,6 @@ verify-conversions: $(CONVERSION_VERIFIER) ## Verifies expected API conversion
./api/... \
./internal/api/... \
./test/infrastructure/docker/api/... \
./test/infrastructure/docker/exp/api/...

.PHONY: verify-doctoc
verify-doctoc: generate-doctoc
Expand Down
10 changes: 3 additions & 7 deletions test/extension/handlers/topologymutation/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ import (
"sigs.k8s.io/cluster-api/exp/runtime/topologymutation"
infrav1beta1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta1"
infrav1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta2"
infraexpv1beta1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1beta1"
infraexpv1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1beta2"
"sigs.k8s.io/cluster-api/test/infrastructure/kind"
)

Expand All @@ -64,8 +62,6 @@ func NewExtensionHandlers() *ExtensionHandlers {
scheme := runtime.NewScheme()
_ = infrav1beta1.AddToScheme(scheme)
_ = infrav1.AddToScheme(scheme)
_ = infraexpv1beta1.AddToScheme(scheme)
_ = infraexpv1.AddToScheme(scheme)
_ = bootstrapv1beta1.AddToScheme(scheme)
_ = bootstrapv1.AddToScheme(scheme)
_ = controlplanev1beta1.AddToScheme(scheme)
Expand Down Expand Up @@ -125,7 +121,7 @@ func (h *ExtensionHandlers) GeneratePatches(ctx context.Context, req *runtimehoo
log.Error(err, "Error patching DockerMachineTemplate")
return errors.Wrap(err, "error patching DockerMachineTemplate")
}
case *infraexpv1beta1.DockerMachinePoolTemplate, *infraexpv1.DockerMachinePoolTemplate:
case *infrav1beta1.DockerMachinePoolTemplate, *infrav1.DockerMachinePoolTemplate:
if err := patchDockerMachinePoolTemplate(ctx, obj, variables); err != nil {
log.Error(err, "Error patching DockerMachinePoolTemplate")
return errors.Wrap(err, "error patching DockerMachinePoolTemplate")
Expand Down Expand Up @@ -370,12 +366,12 @@ func patchDockerMachinePoolTemplate(ctx context.Context, obj runtime.Object, tem

log.Info(fmt.Sprintf("Setting MachinePool customImage to %q", kindMapping.Image))

dockerMachinePoolTemplateV1Beta1, ok := obj.(*infraexpv1beta1.DockerMachinePoolTemplate)
dockerMachinePoolTemplateV1Beta1, ok := obj.(*infrav1beta1.DockerMachinePoolTemplate)
if ok {
dockerMachinePoolTemplateV1Beta1.Spec.Template.Spec.Template.CustomImage = kindMapping.Image
}

dockerMachinePoolTemplate, ok := obj.(*infraexpv1.DockerMachinePoolTemplate)
dockerMachinePoolTemplate, ok := obj.(*infrav1.DockerMachinePoolTemplate)
if ok {
dockerMachinePoolTemplate.Spec.Template.Spec.Template.CustomImage = kindMapping.Image
}
Expand Down
24 changes: 11 additions & 13 deletions test/extension/handlers/topologymutation/handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ import (
controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta2"
runtimehooksv1 "sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1"
infrav1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta2"
infraexpv1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1beta2"
)

var (
Expand All @@ -44,7 +43,6 @@ var (

func init() {
_ = infrav1.AddToScheme(testScheme)
_ = infraexpv1.AddToScheme(testScheme)
_ = controlplanev1.AddToScheme(testScheme)
_ = bootstrapv1.AddToScheme(testScheme)
}
Expand Down Expand Up @@ -250,21 +248,21 @@ func Test_patchDockerMachinePoolTemplate(t *testing.T) {

tests := []struct {
name string
template *infraexpv1.DockerMachinePoolTemplate
template *infrav1.DockerMachinePoolTemplate
variables map[string]apiextensionsv1.JSON
expectedTemplate *infraexpv1.DockerMachinePoolTemplate
expectedTemplate *infrav1.DockerMachinePoolTemplate
expectedErr bool
}{
{
name: "fails if builtin.controlPlane.version nor builtin.machinePool.version is not set",
template: &infraexpv1.DockerMachinePoolTemplate{},
template: &infrav1.DockerMachinePoolTemplate{},
variables: nil,
expectedTemplate: &infraexpv1.DockerMachinePoolTemplate{},
expectedTemplate: &infrav1.DockerMachinePoolTemplate{},
expectedErr: true,
},
{
name: "sets customImage for templates linked to ControlPlane",
template: &infraexpv1.DockerMachinePoolTemplate{},
template: &infrav1.DockerMachinePoolTemplate{},
variables: map[string]apiextensionsv1.JSON{
runtimehooksv1.BuiltinsName: {Raw: toJSON(runtimehooksv1.Builtins{
ControlPlane: &runtimehooksv1.ControlPlaneBuiltins{
Expand All @@ -276,11 +274,11 @@ func Test_patchDockerMachinePoolTemplate(t *testing.T) {
},
})},
},
expectedTemplate: &infraexpv1.DockerMachinePoolTemplate{
Spec: infraexpv1.DockerMachinePoolTemplateSpec{
Template: infraexpv1.DockerMachinePoolTemplateResource{
Spec: infraexpv1.DockerMachinePoolSpec{
Template: infraexpv1.DockerMachinePoolMachineTemplate{
expectedTemplate: &infrav1.DockerMachinePoolTemplate{
Spec: infrav1.DockerMachinePoolTemplateSpec{
Template: infrav1.DockerMachinePoolTemplateResource{
Spec: infrav1.DockerMachinePoolSpec{
Template: infrav1.DockerMachinePoolMachineTemplate{
CustomImage: "kindest/node:v1.23.0",
},
},
Expand Down Expand Up @@ -346,7 +344,7 @@ func TestHandler_GeneratePatches(t *testing.T) {
APIVersion: infrav1.GroupVersion.String(),
},
}
dockerMachinePoolTemplate := infraexpv1.DockerMachinePoolTemplate{
dockerMachinePoolTemplate := infrav1.DockerMachinePoolTemplate{
TypeMeta: metav1.TypeMeta{
Kind: "DockerMachinePoolTemplate",
APIVersion: infrav1.GroupVersion.String(),
Expand Down
3 changes: 1 addition & 2 deletions test/framework/finalizers_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ import (
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
clusterctlcluster "sigs.k8s.io/cluster-api/cmd/clusterctl/client/cluster"
infrav1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta2"
infraexpv1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
)

Expand Down Expand Up @@ -72,7 +71,7 @@ var ExpFinalizersAssertion = map[string]func(types.NamespacedName) []string{
var DockerInfraFinalizersAssertion = map[string]func(types.NamespacedName) []string{
dockerMachineKind: func(_ types.NamespacedName) []string { return []string{infrav1.MachineFinalizer} },
dockerClusterKind: func(_ types.NamespacedName) []string { return []string{infrav1.ClusterFinalizer} },
dockerMachinePoolKind: func(_ types.NamespacedName) []string { return []string{infraexpv1.MachinePoolFinalizer} },
dockerMachinePoolKind: func(_ types.NamespacedName) []string { return []string{infrav1.MachinePoolFinalizer} },
}

// KubeadmControlPlaneFinalizersAssertion maps Kubeadm resource types to their expected finalizers.
Expand Down
4 changes: 2 additions & 2 deletions test/framework/ownerreference_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import (
controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta2"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
clusterctlcluster "sigs.k8s.io/cluster-api/cmd/clusterctl/client/cluster"
infraexpv1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1beta2"
infrav1 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
)

Expand Down Expand Up @@ -301,7 +301,7 @@ var (
dockerClusterKind = "DockerCluster"
dockerClusterTemplateKind = "DockerClusterTemplate"

dockerMachinePoolController = metav1.OwnerReference{Kind: dockerMachinePoolKind, APIVersion: infraexpv1.GroupVersion.String()}
dockerMachinePoolController = metav1.OwnerReference{Kind: dockerMachinePoolKind, APIVersion: infrav1.GroupVersion.String()}
)

// DockerInfraOwnerReferenceAssertions maps Docker Infrastructure types to functions which return an error if the passed
Expand Down
52 changes: 52 additions & 0 deletions test/infrastructure/docker/api/v1alpha3/conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -355,3 +355,55 @@ func Convert_v1alpha3_DockerClusterSpec_To_v1beta2_DockerClusterSpec(in *DockerC
func Convert_v1beta2_DockerMachineTemplate_To_v1alpha3_DockerMachineTemplate(in *infrav1.DockerMachineTemplate, out *DockerMachineTemplate, s apiconversion.Scope) error {
return autoConvert_v1beta2_DockerMachineTemplate_To_v1alpha3_DockerMachineTemplate(in, out, s)
}

func (src *DockerMachinePool) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*infrav1.DockerMachinePool)

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

// Reset conditions from autogenerated conversions
// NOTE: v1beta3 conditions should not be automatically be converted into v1beta2 conditions.
dst.Status.Conditions = nil
if src.Status.Conditions != nil {
dst.Status.Deprecated = &infrav1.DockerMachinePoolDeprecatedStatus{}
dst.Status.Deprecated.V1Beta1 = &infrav1.DockerMachinePoolV1Beta1DeprecatedStatus{}
clusterv1alpha3.Convert_v1alpha3_Conditions_To_v1beta2_Deprecated_V1Beta1_Conditions(&src.Status.Conditions, &dst.Status.Deprecated.V1Beta1.Conditions)
}

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

dst.Status.InfrastructureMachineKind = restored.Status.InfrastructureMachineKind
dst.Status.Conditions = restored.Status.Conditions

return nil
}

func (dst *DockerMachinePool) ConvertFrom(srcRaw conversion.Hub) error {
src := srcRaw.(*infrav1.DockerMachinePool)

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

// Reset conditions from autogenerated conversions
// NOTE: v1beta2 conditions should not be automatically be converted into v1alpha3 conditions.
dst.Status.Conditions = nil
if src.Status.Deprecated != nil && src.Status.Deprecated.V1Beta1 != nil && src.Status.Deprecated.V1Beta1.Conditions != nil {
clusterv1alpha3.Convert_v1beta2_Deprecated_V1Beta1_Conditions_To_v1alpha3_Conditions(&src.Status.Deprecated.V1Beta1.Conditions, &dst.Status.Conditions)
}

// Preserve Hub data on down-conversion except for metadata
return utilconversion.MarshalData(src, dst)
}

// Convert_v1beta2_DockerMachinePoolStatus_To_v1alpha3_DockerMachinePoolStatus is an autogenerated conversion function.
func Convert_v1beta2_DockerMachinePoolStatus_To_v1alpha3_DockerMachinePoolStatus(in *infrav1.DockerMachinePoolStatus, out *DockerMachinePoolStatus, s apiconversion.Scope) error {
// NOTE: custom conversion func is required because Status.InfrastructureMachineKind has been added in v1beta1.
return autoConvert_v1beta2_DockerMachinePoolStatus_To_v1alpha3_DockerMachinePoolStatus(in, out, s)
}
21 changes: 21 additions & 0 deletions test/infrastructure/docker/api/v1alpha3/conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ func TestFuzzyConversion(t *testing.T) {
Spoke: &DockerMachineTemplate{},
FuzzerFuncs: []fuzzer.FuzzerFuncs{DockerMachineTemplateFuzzFunc},
}))
t.Run("for DockerMachinePool", utilconversion.FuzzTestFunc(utilconversion.FuzzTestFuncInput{
Hub: &infrav1.DockerMachinePool{},
Spoke: &DockerMachinePool{},
FuzzerFuncs: []fuzzer.FuzzerFuncs{DockerMachinePoolFuzzFunc},
}))
}

func DockerClusterFuzzFunc(_ runtimeserializer.CodecFactory) []any {
Expand Down Expand Up @@ -109,3 +114,19 @@ func DockerMachineTemplateFuzzFunc(_ runtimeserializer.CodecFactory) []any {
spokeDockerMachineSpec,
}
}

func DockerMachinePoolFuzzFunc(_ runtimeserializer.CodecFactory) []any {
return []any{
hubDockerMachinePoolStatus,
}
}

func hubDockerMachinePoolStatus(in *infrav1.DockerMachinePoolStatus, c randfill.Continue) {
c.FillNoCustom(in)

if in.Deprecated != nil {
if in.Deprecated.V1Beta1 == nil || reflect.DeepEqual(in.Deprecated.V1Beta1, &infrav1.DockerMachinePoolV1Beta1DeprecatedStatus{}) {
in.Deprecated = nil
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

clusterv1alpha3 "sigs.k8s.io/cluster-api/internal/api/core/v1alpha3"
infrav1alpha3 "sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1alpha3"
)

const (
Expand All @@ -43,7 +42,7 @@ type DockerMachinePoolMachineTemplate struct {
// ExtraMounts describes additional mount points for the node container
// These may be used to bind a hostPath
// +optional
ExtraMounts []infrav1alpha3.Mount `json:"extraMounts,omitempty"`
ExtraMounts []Mount `json:"extraMounts,omitempty"`
}

// DockerMachinePoolSpec defines the desired state of DockerMachinePool.
Expand Down
Loading