Skip to content

Commit

Permalink
Merge pull request #199 from damdo/rebase-atop-v1.6.2
Browse files Browse the repository at this point in the history
  • Loading branch information
openshift-merge-bot[bot] committed Mar 12, 2024
2 parents 05e357c + 948626b commit bb7f378
Show file tree
Hide file tree
Showing 7,780 changed files with 2,174,853 additions and 3,349 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
20 changes: 18 additions & 2 deletions .golangci.yml
@@ -1,12 +1,14 @@
run:
timeout: 10m
go: "1.20"
go: "1.21"
build-tags:
- tools
- e2e
skip-files:
- "zz_generated.*\\.go$"
- "vendored_openapi\\.go$"
# We don't want to invest time to fix new linter findings in old API types.
- "internal/apis/.*"
allow-parallel-runners: true

linters:
Expand Down Expand Up @@ -115,26 +117,36 @@ linters-settings:
- pkg: sigs.k8s.io/controller-runtime
alias: ctrl
# CABPK
- pkg: sigs.k8s.io/cluster-api/internal/apis/bootstrap/kubeadm/v1alpha3
alias: bootstrapv1alpha3
- pkg: sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1alpha4
alias: bootstrapv1alpha4
- pkg: sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1
alias: bootstrapv1
# KCP
- pkg: sigs.k8s.io/cluster-api/internal/apis/controlplane/kubeadm/v1alpha3
alias: controlplanev1alpha3
- pkg: sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1alpha4
alias: controlplanev1alpha4
- pkg: sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1
alias: controlplanev1
# CAPI
- pkg: sigs.k8s.io/cluster-api/internal/apis/core/v1alpha3
alias: clusterv1alpha3
- pkg: sigs.k8s.io/cluster-api/api/v1alpha4
alias: clusterv1alpha4
- pkg: sigs.k8s.io/cluster-api/api/v1beta1
alias: clusterv1
# CAPI exp
- pkg: sigs.k8s.io/cluster-api/internal/apis/core/exp/v1alpha3
alias: expv1alpha3
- pkg: sigs.k8s.io/cluster-api/exp/api/v1alpha4
alias: expv1alpha4
- pkg: sigs.k8s.io/cluster-api/exp/api/v1beta1
alias: expv1
# CAPI exp addons
- pkg: sigs.k8s.io/cluster-api/internal/apis/core/exp/addons/v1alpha3
alias: addonsv1alpha3
- pkg: sigs.k8s.io/cluster-api/exp/addons/api/v1alpha4
alias: addonsv1alpha4
- pkg: sigs.k8s.io/cluster-api/exp/addons/api/v1beta1
Expand All @@ -158,11 +170,15 @@ linters-settings:
- pkg: sigs.k8s.io/cluster-api/internal/webhooks/runtime
alias: runtimewebhooks
# CAPD
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1alpha3
alias: infrav1alpha3
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1alpha4
alias: infrav1alpha4
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/api/v1beta1
alias: infrav1
# CAPD exp
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1alpha3
alias: infraexpv1alpha3
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1alpha4
alias: infraexpv1alpha4
- pkg: sigs.k8s.io/cluster-api/test/infrastructure/docker/exp/api/v1beta1
Expand Down Expand Up @@ -226,7 +242,7 @@ issues:
# should be removed as the referenced deprecated types are removed from the project.
- linters:
- staticcheck
text: "SA1019: (clusterv1alpha4.*) is deprecated: This type will be removed in one of the next releases."
text: "SA1019: (clusterv1alpha3.*|clusterv1alpha4.*) is deprecated: This type will be removed in one of the next releases."
- linters:
- revive
text: "exported: exported method .*\\.(Reconcile|SetupWithManager|SetupWebhookWithManager) should have comment or be unexported"
Expand Down
32 changes: 5 additions & 27 deletions CONTRIBUTING.md
Expand Up @@ -18,7 +18,7 @@
- [Proposal process (CAEP)](#proposal-process-caep)
- [Triaging E2E test failures](#triaging-e2e-test-failures)
- [Reviewing a Patch](#reviewing-a-patch)
- [Reviews](#reviews)
- [Reviews](#reviews)
- [Approvals](#approvals)
- [Features and bugs](#features-and-bugs)
- [Experiments](#experiments)
Expand Down Expand Up @@ -166,8 +166,9 @@ Cluster API maintains the most recent release/releases for all supported API and

| Minor Release | API Version | Supported Until |
|---------------|--------------|-----------------------------------------------------|
| v1.6.x | **v1beta1** | when v1.8.0 will be released |
| v1.5.x | **v1beta1** | when v1.7.0 will be released |
| v1.4.x | **v1beta1** | when v1.6.0 will be released, tentatively Nov 2023 |
| v1.4.x | **v1beta1** | EOL since 2023-12-05 - v1.6.0 release date |
| v1.3.x | **v1beta1** | EOL since 2023-07-25 - v1.5.0 release date |
| v1.2.x | **v1beta1** | EOL since 2023-03-28 - v1.4.0 release date |
| v1.1.x | **v1beta1** | EOL since 2022-07-18 - v1.2.0 release date (*) |
Expand Down Expand Up @@ -249,30 +250,7 @@ When submitting the PR remember to label it with the 📖 (:book:) icon.

## Releases

- Minor versions CAN be planned and scheduled for each quarter, or sooner if necessary.
- Each minor version is preceded with one or more planning session.
- Planning consists of one or more backlog grooming meetings, roadmap amendments,
and CAEP proposal reviews.
- Cluster API uses [GitHub milestones](https://github.com/kubernetes-sigs/cluster-api/milestones) to track work
for minor releases.
- Adding an issue to a milestone provides forward visibility on what the next release will be, so, as soon as there
is the intent to work on an issue for a specific target release, contributors are expected to work with maintainers to
set the milestone on the issue so it will be tracked for the release (note: only major features/bug fixes specifically
targeting a release must be tracked; everything else will simply merge when ready without additional toil).
- Before adding an issue to a release milestone, maintainers must ensure that the issue have been triaged and
there is an assignee who expressed the intent to complete the work before the release date.
- An issue being in the milestone doesn't guarantee inclusion in the release; this depends on the work being
completed before the release code freeze target date.
- Code freeze is in effect at least 72 hours (3 days) before a major/minor release.
- Maintainers should communicate the code freeze date at a community meeting preceding the code freeze date.
- Only critical bug fixes may be merged in between freeze & release.
- Each bug MUST be associated with an open issue and properly triaged.
- PRs MUST be approved by at least 2 project maintainers.
- First approver should `/approve` and `/hold`.
- Second approver should `/approve` and `/hold cancel`.
- [E2E Test grid](https://testgrid.k8s.io/sig-cluster-lifecycle-cluster-api#capi%20e2e%20tests) SHOULD be green before cutting a release.
- Patch versions CAN be planned and scheduled each month for supported minor releases.
- Dates in a release are approximations and always subject to change.
Cluster API release process is described in [this document](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-cycle.md).

## Proposal process (CAEP)

Expand Down Expand Up @@ -312,7 +290,7 @@ In case you want to run E2E test locally, please refer to the [Testing](https://

## Reviewing a Patch

## Reviews
### Reviews

> Parts of the following content have been adapted from https://google.github.io/eng-practices/review.
Expand Down
56 changes: 47 additions & 9 deletions Makefile
Expand Up @@ -23,7 +23,7 @@ SHELL:=/usr/bin/env bash
#
# Go.
#
GO_VERSION ?= 1.20.11
GO_VERSION ?= 1.21.5
GO_CONTAINER_IMAGE ?= docker.io/library/golang:$(GO_VERSION)

# Use GOPROXY environment variable if set
Expand All @@ -39,7 +39,7 @@ export GO111MODULE=on
#
# Kubebuilder.
#
export KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ?= 1.28.0
export KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ?= 1.29.0
export KUBEBUILDER_CONTROLPLANE_START_TIMEOUT ?= 60s
export KUBEBUILDER_CONTROLPLANE_STOP_TIMEOUT ?= 60s

Expand Down Expand Up @@ -265,7 +265,7 @@ help: # Display this help

##@ generate:

ALL_GENERATE_MODULES = core kubeadm-bootstrap kubeadm-control-plane docker-infrastructure in-memory-infrastructure
ALL_GENERATE_MODULES = core kubeadm-bootstrap kubeadm-control-plane docker-infrastructure in-memory-infrastructure test-extension

.PHONY: generate
generate: ## Run all generate-manifests-*, generate-go-deepcopy-*, generate-go-conversions-* and generate-go-openapi targets
Expand All @@ -280,6 +280,7 @@ generate-manifests-core: $(CONTROLLER_GEN) $(KUSTOMIZE) ## Generate manifests e.
$(CONTROLLER_GEN) \
paths=./ \
paths=./api/... \
paths=./internal/apis/core/... \
paths=./internal/controllers/... \
paths=./internal/webhooks/... \
paths=./$(EXP_DIR)/api/... \
Expand Down Expand Up @@ -311,6 +312,7 @@ generate-manifests-kubeadm-bootstrap: $(CONTROLLER_GEN) ## Generate manifests e.
paths=./bootstrap/kubeadm/api/... \
paths=./bootstrap/kubeadm/internal/controllers/... \
paths=./bootstrap/kubeadm/internal/webhooks/... \
paths=./internal/apis/bootstrap/kubeadm/... \
crd:crdVersions=v1 \
rbac:roleName=manager-role \
output:crd:dir=./bootstrap/kubeadm/config/crd/bases \
Expand All @@ -326,6 +328,7 @@ generate-manifests-kubeadm-control-plane: $(CONTROLLER_GEN) ## Generate manifest
paths=./controlplane/kubeadm/api/... \
paths=./controlplane/kubeadm/internal/controllers/... \
paths=./controlplane/kubeadm/internal/webhooks/... \
paths=./internal/apis/controlplane/kubeadm/... \
crd:crdVersions=v1 \
rbac:roleName=manager-role \
output:crd:dir=./controlplane/kubeadm/config/crd/bases \
Expand Down Expand Up @@ -365,6 +368,13 @@ generate-manifests-in-memory-infrastructure: $(CONTROLLER_GEN) ## Generate manif
output:webhook:dir=./config/webhook \
webhook

.PHONY: generate-manifests-test-extension
generate-manifests-test-extension: $(CONTROLLER_GEN) ## Generate manifests e.g. RBAC for test-extension provider
cd ./test/extension; $(CONTROLLER_GEN) \
paths=./... \
output:rbac:dir=./config/rbac \
rbac:roleName=manager-role

.PHONY: generate-go-deepcopy
generate-go-deepcopy: ## Run all generate-go-deepcopy-* targets
$(MAKE) $(addprefix generate-go-deepcopy-,$(ALL_GENERATE_MODULES))
Expand Down Expand Up @@ -415,6 +425,9 @@ generate-go-deepcopy-in-memory-infrastructure: $(CONTROLLER_GEN) ## Generate dee
paths=./api/... \
paths=./internal/cloud/api/...

.PHONY: generate-go-deepcopy-test-extension
generate-go-deepcopy-test-extension: $(CONTROLLER_GEN) ## Generate deepcopy go code for test-extension

.PHONY: generate-go-conversions
generate-go-conversions: ## Run all generate-go-conversions-* targets
$(MAKE) $(addprefix generate-go-conversions-,$(ALL_GENERATE_MODULES))
Expand All @@ -428,19 +441,24 @@ generate-go-conversions-core: ## Run all generate-go-conversions-core-* targets

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

.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="./$(EXP_DIR)/api/v1alpha4,./$(EXP_DIR)/addons/api/v1alpha4"
$(MAKE) clean-generated-conversions SRC_DIRS="./internal/apis/core/exp/v1alpha3,./internal/apis/core/exp/addons/v1alpha3,./$(EXP_DIR)/api/v1alpha4,./$(EXP_DIR)/addons/api/v1alpha4"
$(CONVERSION_GEN) \
--input-dirs=./internal/apis/core/exp/v1alpha3 \
--input-dirs=./$(EXP_DIR)/api/v1alpha4 \
--input-dirs=./internal/apis/core/exp/addons/v1alpha3 \
--input-dirs=./$(EXP_DIR)/addons/api/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/api/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
Expand All @@ -450,6 +468,7 @@ generate-go-conversions-core-exp-ipam: $(CONVERSION_GEN) ## Generate conversions
$(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

Expand All @@ -459,16 +478,18 @@ generate-go-conversions-core-runtime: $(CONVERSION_GEN) ## Generate conversions
$(CONVERSION_GEN) \
--input-dirs=./internal/runtime/test/v1alpha1 \
--input-dirs=./internal/runtime/test/v1alpha2 \
--build-tag=ignore_autogenerated_runtime \
--build-tag=ignore_autogenerated_core_runtime \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt

.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="./bootstrap/kubeadm/api"
$(MAKE) clean-generated-conversions SRC_DIRS="./bootstrap/kubeadm/api,./internal/apis/bootstrap/kubeadm"
$(CONVERSION_GEN) \
--input-dirs=./internal/apis/bootstrap/kubeadm/v1alpha3 \
--input-dirs=./bootstrap/kubeadm/api/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/api/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt
Expand All @@ -482,21 +503,27 @@ generate-go-conversions-kubeadm-bootstrap: $(CONVERSION_GEN) ## Generate convers

.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="./controlplane/kubeadm/api"
$(MAKE) clean-generated-conversions SRC_DIRS="./controlplane/kubeadm/api,./internal/apis/controlplane/kubeadm"
$(CONVERSION_GEN) \
--input-dirs=./internal/apis/controlplane/kubeadm/v1alpha3 \
--input-dirs=./controlplane/kubeadm/api/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/api/v1alpha4 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/internal/apis/bootstrap/kubeadm/v1alpha3 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE) \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt

.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/api/v1alpha4 \
--output-file-base=zz_generated.conversion $(CONVERSION_GEN_OUTPUT_BASE_CAPD) \
--go-header-file=../../../hack/boilerplate/boilerplate.generatego.txt
Expand All @@ -505,6 +532,9 @@ generate-go-conversions-docker-infrastructure: $(CONVERSION_GEN) ## Generate con
generate-go-conversions-in-memory-infrastructure: $(CONVERSION_GEN) ## Generate conversions go code for in-memory infrastructure provider
cd $(CAPIM_DIR)

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

# The tmp/sigs.k8s.io/cluster-api symlink is a workaround to make this target run outside of GOPATH
.PHONY: generate-go-openapi
generate-go-openapi: $(OPENAPI_GEN) $(CONTROLLER_GEN) ## Generate openapi go code for runtime SDK
Expand All @@ -531,11 +561,19 @@ generate-doctoc:
TRACE=$(TRACE) ./hack/generate-doctoc.sh

.PHONY: generate-e2e-templates
generate-e2e-templates: $(KUSTOMIZE) $(addprefix generate-e2e-templates-, v1.0 v1.4 v1.5 main) ## Generate cluster templates for all versions
generate-e2e-templates: $(KUSTOMIZE) $(addprefix generate-e2e-templates-, v0.3 v0.4 v1.0 v1.4 v1.5 main) ## Generate cluster templates for all versions

DOCKER_TEMPLATES := test/e2e/data/infrastructure-docker
INMEMORY_TEMPLATES := test/e2e/data/infrastructure-inmemory

.PHONY: generate-e2e-templates-v0.3
generate-e2e-templates-v0.3: $(KUSTOMIZE)
$(KUSTOMIZE) build $(DOCKER_TEMPLATES)/v0.3/cluster-template --load-restrictor LoadRestrictionsNone > $(DOCKER_TEMPLATES)/v0.3/cluster-template.yaml

.PHONY: generate-e2e-templates-v0.4
generate-e2e-templates-v0.4: $(KUSTOMIZE)
$(KUSTOMIZE) build $(DOCKER_TEMPLATES)/v0.4/cluster-template --load-restrictor LoadRestrictionsNone > $(DOCKER_TEMPLATES)/v0.4/cluster-template.yaml

.PHONY: generate-e2e-templates-v1.0
generate-e2e-templates-v1.0: $(KUSTOMIZE)
$(KUSTOMIZE) build $(DOCKER_TEMPLATES)/v1.0/cluster-template --load-restrictor LoadRestrictionsNone > $(DOCKER_TEMPLATES)/v1.0/cluster-template.yaml
Expand Down
8 changes: 4 additions & 4 deletions Tiltfile
Expand Up @@ -3,7 +3,7 @@
envsubst_cmd = "./hack/tools/bin/envsubst"
clusterctl_cmd = "./bin/clusterctl"
kubectl_cmd = "kubectl"
kubernetes_version = "v1.28.0"
kubernetes_version = "v1.29.0"

load("ext://uibutton", "cmd_button", "location", "text_input")

Expand Down Expand Up @@ -184,9 +184,9 @@ def load_provider_tiltfiles():

tilt_helper_dockerfile_header = """
# Tilt image
FROM golang:1.20.11 as tilt-helper
FROM golang:1.21.5 as tilt-helper
# Install delve. Note this should be kept in step with the Go release minor version.
RUN go install github.com/go-delve/delve/cmd/dlv@v1.20
RUN go install github.com/go-delve/delve/cmd/dlv@v1.21
# Support live reloading with Tilt
RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com/tilt-dev/rerun-process-wrapper/master/restart.sh && \
wget --output-document /start.sh --quiet https://raw.githubusercontent.com/tilt-dev/rerun-process-wrapper/master/start.sh && \
Expand All @@ -195,7 +195,7 @@ RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com
"""

tilt_dockerfile_header = """
FROM golang:1.20.11 as tilt
FROM golang:1.21.5 as tilt
WORKDIR /
COPY --from=tilt-helper /process.txt .
COPY --from=tilt-helper /start.sh .
Expand Down

0 comments on commit bb7f378

Please sign in to comment.