Skip to content

Commit 0486747

Browse files
AmitSahastrakillianmuldoonfabriziopandinisbueringer
authored
PCP-4053: Upgrade CAPI to support Cluster upgrade from v1.31.1 to v1.31.4 and KCP Upgrade in v1.31 (#228)
* Remove v1alpha3 apiVersion Signed-off-by: killianmuldoon <[email protected]> * Remove Kubeadm upstream v1beta1 types Signed-off-by: killianmuldoon <[email protected]> * ✨ Add kubeadm v1beta4 types (kubernetes-sigs#10709) * Add kubeadm v1beta4 types * cleanup conversions for kubeadm v1beta1, v1beta2, v1beta3 * Implement conversions for kubeadm v1beta4 types * Handle Migration of ClusterConfiguration.APIServer.TimeoutForControlPlane to Init/JoinConfiguration.Timeouts.ControlPlaneComponentHealthCheck * Handle Migration of JoinConfiguration.Discovery.Timeout to JoinConfiguration.Timeouts.TLSBootstrap * Final alignment with kubeadm PR * Address comments * fix nit --------- Co-authored-by: Stefan Bueringer <[email protected]> * Addtional changes for zz_generated.deepcopy, taints, kind mappers * Minor fix for undefined ctx * Additional changes to fix 1.31.4 upgrade issue * Minor fix --------- Signed-off-by: killianmuldoon <[email protected]> Co-authored-by: killianmuldoon <[email protected]> Co-authored-by: Fabrizio Pandini <[email protected]> Co-authored-by: Stefan Bueringer <[email protected]>
1 parent 9d1a88f commit 0486747

File tree

128 files changed

+8909
-23310
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+8909
-23310
lines changed

.golangci.yml

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -85,36 +85,26 @@ linters-settings:
8585
- pkg: sigs.k8s.io/controller-runtime
8686
alias: ctrl
8787
# CABPK
88-
- pkg: sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1alpha3
89-
alias: bootstrapv1alpha3
9088
- pkg: sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1alpha4
9189
alias: bootstrapv1alpha4
9290
- pkg: sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1
9391
alias: bootstrapv1
9492
# KCP
95-
- pkg: sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1alpha3
96-
alias: controlplanev1alpha3
9793
- pkg: sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1alpha4
9894
alias: controlplanev1alpha4
9995
- pkg: sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1
10096
alias: controlplanev1
10197
# CAPI
102-
- pkg: sigs.k8s.io/cluster-api/api/v1alpha3
103-
alias: clusterv1alpha3
10498
- pkg: sigs.k8s.io/cluster-api/api/v1alpha4
10599
alias: clusterv1alpha4
106100
- pkg: sigs.k8s.io/cluster-api/api/v1beta1
107101
alias: clusterv1
108102
# CAPI exp
109-
- pkg: sigs.k8s.io/cluster-api/exp/api/v1alpha3
110-
alias: expv1alpha3
111103
- pkg: sigs.k8s.io/cluster-api/exp/api/v1alpha4
112104
alias: expv1alpha4
113105
- pkg: sigs.k8s.io/cluster-api/exp/api/v1beta1
114106
alias: expv1
115107
# CAPI exp addons
116-
- pkg: sigs.k8s.io/cluster-api/exp/addons/api/v1alpha3
117-
alias: addonsv1alpha3
118108
- pkg: sigs.k8s.io/cluster-api/exp/addons/api/v1alpha4
119109
alias: addonsv1alpha4
120110
- pkg: sigs.k8s.io/cluster-api/exp/addons/api/v1beta1
@@ -135,15 +125,11 @@ linters-settings:
135125
- pkg: sigs.k8s.io/cluster-api/internal/webhooks/runtime
136126
alias: runtimewebhooks
137127
# CAPD
138-
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1alpha3
139-
alias: infrav1alpha3
140128
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1alpha4
141129
alias: infrav1alpha4
142130
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta1
143131
alias: infrav1
144132
# CAPD exp
145-
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1alpha3
146-
alias: infraexpv1alpha3
147133
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1alpha4
148134
alias: infraexpv1alpha4
149135
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1beta1
@@ -220,7 +206,17 @@ issues:
220206
# Specific exclude rules for deprecated fields that are still part of the codebase. These should be removed as the referenced deprecated item is removed from the project.
221207
- linters:
222208
- staticcheck
223-
text: "SA1019: (bootstrapv1.ClusterStatus|clusterv1.ClusterTopologyManagedFieldsAnnotation|scope.Config.Spec.UseExperimentalRetryJoin|DockerMachine.Spec.Bootstrapped|machineStatus.Bootstrapped) is deprecated"
209+
text: "SA1019: (bootstrapv1.ClusterStatus|scope.Config.Spec.UseExperimentalRetryJoin|DockerMachine.Spec.Bootstrapped|machineStatus.Bootstrapped) is deprecated"
210+
# Specific exclude rules for deprecated packages that are still part of the codebase. These
211+
# should be removed as the referenced deprecated packages are removed from the project.
212+
- linters:
213+
- staticcheck
214+
text: "SA1019: .* is deprecated: This package will be removed in one of the next releases."
215+
# Specific exclude rules for deprecated types that are still part of the codebase. These
216+
# should be removed as the referenced deprecated types are removed from the project.
217+
- linters:
218+
- staticcheck
219+
text: "SA1019: (clusterv1alpha4.*) is deprecated: This type will be removed in one of the next releases."
224220
- linters:
225221
- revive
226222
text: "exported: exported method .*\\.(Reconcile|SetupWithManager|SetupWebhookWithManager) should have comment or be unexported"

Makefile

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ ifeq ($(FIPS_ENABLE),yes)
186186
RELEASE_LOC := release-fips
187187
endif
188188

189-
SPECTRO_VERSION ?= 4.0.0-dev
189+
SPECTRO_VERSION ?= 4.6.0-dev
190190
TAG ?= v1.3.2-spectro-${SPECTRO_VERSION}
191191
ARCH ?= amd64
192192
# ALL_ARCH = amd64 arm arm64 ppc64le s390x
@@ -382,23 +382,19 @@ generate-go-conversions-core: ## Run all generate-go-conversions-core-* targets
382382

383383
.PHONY: generate-go-conversions-core-api
384384
generate-go-conversions-core-api: $(CONVERSION_GEN) ## Generate conversions go code for core api
385-
$(MAKE) clean-generated-conversions SRC_DIRS="./api/v1alpha3,./api/v1alpha4"
385+
$(MAKE) clean-generated-conversions SRC_DIRS="./api/v1alpha4"
386386
$(CONVERSION_GEN) \
387-
--input-dirs=./api/v1alpha3 \
388387
--input-dirs=./api/v1alpha4 \
389388
--build-tag=ignore_autogenerated_core \
390389
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
391390
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
392391

393392
.PHONY: generate-go-conversions-core-exp
394393
generate-go-conversions-core-exp: $(CONVERSION_GEN) ## Generate conversions go code for core exp
395-
$(MAKE) clean-generated-conversions SRC_DIRS="./$(EXP_DIR)/api/v1alpha3,./$(EXP_DIR)/addons/api/v1alpha3,./$(EXP_DIR)/api/v1alpha4,./$(EXP_DIR)/addons/api/v1alpha4"
394+
$(MAKE) clean-generated-conversions SRC_DIRS="./$(EXP_DIR)/api/v1alpha4,./$(EXP_DIR)/addons/api/v1alpha4"
396395
$(CONVERSION_GEN) \
397-
--input-dirs=./$(EXP_DIR)/api/v1alpha3 \
398396
--input-dirs=./$(EXP_DIR)/api/v1alpha4 \
399-
--input-dirs=./$(EXP_DIR)/addons/api/v1alpha3 \
400397
--input-dirs=./$(EXP_DIR)/addons/api/v1alpha4 \
401-
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha3 \
402398
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha4 \
403399
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
404400
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
@@ -417,45 +413,45 @@ generate-go-conversions-core-runtime: $(CONVERSION_GEN) ## Generate conversions
417413
generate-go-conversions-kubeadm-bootstrap: $(CONVERSION_GEN) ## Generate conversions go code for kubeadm bootstrap
418414
$(MAKE) clean-generated-conversions SRC_DIRS="./bootstrap/kubeadm/api"
419415
$(CONVERSION_GEN) \
420-
--input-dirs=./bootstrap/kubeadm/api/v1alpha3 \
421416
--input-dirs=./bootstrap/kubeadm/api/v1alpha4 \
417+
--input-dirs=./bootstrap/kubeadm/api/v1beta1 \
422418
--build-tag=ignore_autogenerated_kubeadm_bootstrap \
423-
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha3 \
424419
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha4 \
425420
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
426-
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
427-
$(MAKE) clean-generated-conversions SRC_DIRS="./bootstrap/kubeadm/types/upstreamv1beta1,./bootstrap/kubeadm/types/upstreamv1beta2,./bootstrap/kubeadm/types/upstreamv1beta3"
421+
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
422+
./internal/apis/bootstrap/kubeadm/v1alpha3 \
423+
./internal/apis/bootstrap/kubeadm/v1alpha4
424+
$(MAKE) clean-generated-conversions SRC_DIRS="./bootstrap/kubeadm/types/upstreamv1beta1,./bootstrap/kubeadm/types/upstreamv1beta2,./bootstrap/kubeadm/types/upstreamv1beta3,./bootstrap/kubeadm/types/upstreamv1beta4"
428425
$(CONVERSION_GEN) \
429426
--input-dirs=./bootstrap/kubeadm/types/upstreamv1beta1 \
430427
--input-dirs=./bootstrap/kubeadm/types/upstreamv1beta2 \
431428
--input-dirs=./bootstrap/kubeadm/types/upstreamv1beta3 \
429+
--input-dirs=./bootstrap/kubeadm/types/upstreamv1beta4 \
432430
--build-tag=ignore_autogenerated_kubeadm_types \
433431
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
434-
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
432+
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
433+
./bootstrap/kubeadm/types/upstreamv1beta1 \
434+
./bootstrap/kubeadm/types/upstreamv1beta2 \
435+
./bootstrap/kubeadm/types/upstreamv1beta3 \
436+
./bootstrap/kubeadm/types/upstreamv1beta4
435437

436438
.PHONY: generate-go-conversions-kubeadm-control-plane
437439
generate-go-conversions-kubeadm-control-plane: $(CONVERSION_GEN) ## Generate conversions go code for kubeadm control plane
438440
$(MAKE) clean-generated-conversions SRC_DIRS="./controlplane/kubeadm/api"
439441
$(CONVERSION_GEN) \
440-
--input-dirs=./controlplane/kubeadm/api/v1alpha3 \
441442
--input-dirs=./controlplane/kubeadm/api/v1alpha4 \
442443
--build-tag=ignore_autogenerated_kubeadm_controlplane \
443-
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha3 \
444444
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha4 \
445-
--extra-peer-dirs=sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1alpha3 \
446445
--extra-peer-dirs=sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1alpha4 \
447446
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
448447
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
449448

450449
.PHONY: generate-go-conversions-docker-infrastructure
451450
generate-go-conversions-docker-infrastructure: $(CONVERSION_GEN) ## Generate conversions go code for docker infrastructure provider
452451
cd $(CAPD_DIR); $(CONVERSION_GEN) \
453-
--input-dirs=./api/v1alpha3 \
454452
--input-dirs=./api/v1alpha4 \
455-
--input-dirs=./$(EXP_DIR)/api/v1alpha3 \
456453
--input-dirs=./$(EXP_DIR)/api/v1alpha4 \
457454
--build-tag=ignore_autogenerated_capd \
458-
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha3 \
459455
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1alpha4 \
460456
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE_CAPD) \
461457
--go-header-file=../../../hack/boilerplate/boilerplate.generatego.txt

PROJECT

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
11
domain: x-k8s.io
22
repo: sigs.k8s.io/cluster-api
33
resources:
4-
# v1alpha3 types
5-
- group: cluster
6-
kind: Cluster
7-
version: v1alpha3
8-
- group: cluster
9-
kind: Machine
10-
version: v1alpha3
11-
- group: cluster
12-
kind: MachineSet
13-
version: v1alpha3
14-
- group: cluster
15-
kind: MachineDeployment
16-
version: v1alpha3
174
# v1alpha4 types
185
- group: cluster
196
kind: ClusterClass

api/v1alpha3/cluster_phase_types.go

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)