Skip to content
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

🌱 Bump conversion-gen to v0.30.0 #10474

Merged
Merged
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
104 changes: 46 additions & 58 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ OBSERVABILITY_DIR := hack/observability

export PATH := $(abspath $(TOOLS_BIN_DIR)):$(PATH)

# Set --output-base for conversion-gen if we are not within GOPATH
# Set --output-dir for conversion-gen if we are not within GOPATH
ifneq ($(abspath $(ROOT_DIR)),$(shell go env GOPATH)/src/sigs.k8s.io/cluster-api)
CONVERSION_GEN_OUTPUT_BASE := --output-base=$(ROOT_DIR)
CONVERSION_GEN_OUTPUT_BASE_CAPD := --output-base=$(ROOT_DIR)/$(CAPD_DIR)
CONVERSION_GEN_OUTPUT_BASE := --output-dir=$(ROOT_DIR)
CONVERSION_GEN_OUTPUT_BASE_CAPD := --output-dir=$(ROOT_DIR)/$(CAPD_DIR)
else
export GOPATH := $(shell go env GOPATH)
endif
Expand Down Expand Up @@ -124,7 +124,7 @@ GOTESTSUM_BIN := gotestsum
GOTESTSUM := $(abspath $(TOOLS_BIN_DIR)/$(GOTESTSUM_BIN)-$(GOTESTSUM_VER))
GOTESTSUM_PKG := gotest.tools/gotestsum

CONVERSION_GEN_VER := v0.29.2
CONVERSION_GEN_VER := v0.30.0
CONVERSION_GEN_BIN := conversion-gen
# We are intentionally using the binary without version suffix, to avoid the version
# in generated files.
Expand Down Expand Up @@ -184,7 +184,7 @@ IMPORT_BOSS_PKG := k8s.io/code-generator/cmd/import-boss
CONVERSION_VERIFIER_BIN := conversion-verifier
CONVERSION_VERIFIER := $(abspath $(TOOLS_BIN_DIR)/$(CONVERSION_VERIFIER_BIN))

OPENAPI_GEN_VER := 70dd376
OPENAPI_GEN_VER := dc4e619 # main branch as of 22.04.2024
OPENAPI_GEN_BIN := openapi-gen
# We are intentionally using the binary without version suffix, to avoid the version
# in generated files.
Expand Down Expand Up @@ -447,90 +447,78 @@ generate-go-conversions-core: ## Run all generate-go-conversions-core-* targets
generate-go-conversions-core-api: $(CONVERSION_GEN) ## Generate conversions go code for core api
$(MAKE) clean-generated-conversions SRC_DIRS="./internal/apis/core/v1alpha3,./internal/apis/core/v1alpha4"
$(CONVERSION_GEN) \
--input-dirs=./internal/apis/core/v1alpha3 \
--input-dirs=./internal/apis/core/v1alpha4 \
--build-tag=ignore_autogenerated_core \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./internal/apis/core/v1alpha3 \
./internal/apis/core/v1alpha4

.PHONY: generate-go-conversions-core-exp
generate-go-conversions-core-exp: $(CONVERSION_GEN) ## Generate conversions go code for core exp
$(MAKE) clean-generated-conversions SRC_DIRS="./internal/apis/core/exp/v1alpha3,./internal/apis/core/exp/addons/v1alpha3,./internal/apis/core/exp/v1alpha4,./internal/apis/core/exp/addons/v1alpha4"
$(CONVERSION_GEN) \
--input-dirs=./internal/apis/core/exp/v1alpha3 \
--input-dirs=./internal/apis/core/exp/v1alpha4 \
--input-dirs=./internal/apis/core/exp/addons/v1alpha3 \
--input-dirs=./internal/apis/core/exp/addons/v1alpha4 \
--build-tag=ignore_autogenerated_core_exp \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha3 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
--extra-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha3 \
--extra-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha4 \
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./internal/apis/core/exp/v1alpha3 \
./internal/apis/core/exp/v1alpha4 \
./internal/apis/core/exp/addons/v1alpha3 \
./internal/apis/core/exp/addons/v1alpha4

.PHONY: generate-go-conversions-core-exp-ipam
generate-go-conversions-core-exp-ipam: $(CONVERSION_GEN) ## Generate conversions go code for core exp IPAM
$(MAKE) clean-generated-conversions SRC_DIRS="./$(EXP_DIR)/ipam/api/v1alpha1"
$(CONVERSION_GEN) \
--input-dirs=./$(EXP_DIR)/ipam/api/v1alpha1 \
--build-tag=ignore_autogenerated_core_exp_ipam \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./$(EXP_DIR)/ipam/api/v1alpha1

.PHONY: generate-go-conversions-core-runtime
generate-go-conversions-core-runtime: $(CONVERSION_GEN) ## Generate conversions go code for core runtime
$(MAKE) clean-generated-conversions SRC_DIRS="./internal/runtime/test/v1alpha1,./internal/runtime/test/v1alpha2"
$(CONVERSION_GEN) \
--input-dirs=./internal/runtime/test/v1alpha1 \
--input-dirs=./internal/runtime/test/v1alpha2 \
--build-tag=ignore_autogenerated_core_runtime \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./internal/runtime/test/v1alpha1 \
./internal/runtime/test/v1alpha2

.PHONY: generate-go-conversions-kubeadm-bootstrap
generate-go-conversions-kubeadm-bootstrap: $(CONVERSION_GEN) ## Generate conversions go code for kubeadm bootstrap
$(MAKE) clean-generated-conversions SRC_DIRS="./internal/apis/bootstrap/kubeadm"
$(CONVERSION_GEN) \
--input-dirs=./internal/apis/bootstrap/kubeadm/v1alpha3 \
--input-dirs=./internal/apis/bootstrap/kubeadm/v1alpha4 \
--build-tag=ignore_autogenerated_kubeadm_bootstrap \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha3 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./internal/apis/bootstrap/kubeadm/v1alpha3 \
./internal/apis/bootstrap/kubeadm/v1alpha4
$(MAKE) clean-generated-conversions SRC_DIRS="./bootstrap/kubeadm/types/upstreamv1beta2,./bootstrap/kubeadm/types/upstreamv1beta3"
$(CONVERSION_GEN) \
--input-dirs=./bootstrap/kubeadm/types/upstreamv1beta2 \
--input-dirs=./bootstrap/kubeadm/types/upstreamv1beta3 \
--build-tag=ignore_autogenerated_kubeadm_types \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./bootstrap/kubeadm/types/upstreamv1beta2 \
./bootstrap/kubeadm/types/upstreamv1beta3

.PHONY: generate-go-conversions-kubeadm-control-plane
generate-go-conversions-kubeadm-control-plane: $(CONVERSION_GEN) ## Generate conversions go code for kubeadm control plane
$(MAKE) clean-generated-conversions SRC_DIRS="./internal/apis/controlplane/kubeadm"
$(CONVERSION_GEN) \
--input-dirs=./internal/apis/controlplane/kubeadm/v1alpha3 \
--input-dirs=./internal/apis/controlplane/kubeadm/v1alpha4 \
--build-tag=ignore_autogenerated_kubeadm_controlplane \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha3 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha4 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/bootstrap/kubeadm/v1alpha3 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/bootstrap/kubeadm/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
--extra-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha3 \
--extra-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha4 \
--extra-dirs=sigs.k8s.io/cluster-api/internal/apis/bootstrap/kubeadm/v1alpha3 \
--extra-dirs=sigs.k8s.io/cluster-api/internal/apis/bootstrap/kubeadm/v1alpha4 \
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./internal/apis/controlplane/kubeadm/v1alpha3 \
./internal/apis/controlplane/kubeadm/v1alpha4

.PHONY: generate-go-conversions-docker-infrastructure
generate-go-conversions-docker-infrastructure: $(CONVERSION_GEN) ## Generate conversions go code for docker infrastructure provider
cd $(CAPD_DIR); $(CONVERSION_GEN) \
--input-dirs=./api/v1alpha3 \
--input-dirs=./api/v1alpha4 \
--input-dirs=./$(EXP_DIR)/api/v1alpha3 \
--input-dirs=./$(EXP_DIR)/api/v1alpha4 \
--build-tag=ignore_autogenerated_capd \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha3 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/core/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE_CAPD) \
--go-header-file=../../../hack/boilerplate/boilerplate.generatego.txt
--output-file=zz_generated.conversion.go $(CONVERSION_GEN_OUTPUT_BASE_CAPD) \
--go-header-file=../../../hack/boilerplate/boilerplate.generatego.txt \
./api/v1alpha3 \
./api/v1alpha4 \
./$(EXP_DIR)/api/v1alpha3 \
./$(EXP_DIR)/api/v1alpha4

.PHONY: generate-go-conversions-in-memory-infrastructure
generate-go-conversions-in-memory-infrastructure: $(CONVERSION_GEN) ## Generate conversions go code for in-memory infrastructure provider
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions exp/ipam/api/v1alpha1/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions internal/apis/controlplane/kubeadm/v1alpha3/conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (

bootstrapv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1"
controlplanev1 "sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1"
bootstrapv1alpha3 "sigs.k8s.io/cluster-api/internal/apis/bootstrap/kubeadm/v1alpha3"
utilconversion "sigs.k8s.io/cluster-api/util/conversion"
)

Expand Down Expand Up @@ -154,3 +155,11 @@ func Convert_v1alpha3_KubeadmControlPlaneSpec_To_v1beta1_KubeadmControlPlaneSpec
out.MachineTemplate.NodeDrainTimeout = in.NodeDrainTimeout
return autoConvert_v1alpha3_KubeadmControlPlaneSpec_To_v1beta1_KubeadmControlPlaneSpec(in, out, s)
}

func Convert_v1beta1_KubeadmConfigSpec_To_v1alpha3_KubeadmConfigSpec(in *bootstrapv1.KubeadmConfigSpec, out *bootstrapv1alpha3.KubeadmConfigSpec, s apiconversion.Scope) error {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a workaround for now. Brought up the issue here: kubernetes/code-generator#94

return bootstrapv1alpha3.Convert_v1beta1_KubeadmConfigSpec_To_v1alpha3_KubeadmConfigSpec(in, out, s)
}

func Convert_v1alpha3_KubeadmConfigSpec_To_v1beta1_KubeadmConfigSpec(in *bootstrapv1alpha3.KubeadmConfigSpec, out *bootstrapv1.KubeadmConfigSpec, s apiconversion.Scope) error {
return bootstrapv1alpha3.Convert_v1alpha3_KubeadmConfigSpec_To_v1beta1_KubeadmConfigSpec(in, out, s)
}
Loading
Loading