Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/Nordix/cluster-api into cap…
Browse files Browse the repository at this point in the history
…o-cni-docs/max
  • Loading branch information
Max Rantil committed Jan 26, 2024
2 parents 7935dc6 + 0f55580 commit 888a3ff
Show file tree
Hide file tree
Showing 208 changed files with 10,465 additions and 8,616 deletions.
36 changes: 20 additions & 16 deletions .github/ISSUE_TEMPLATE/kubernetes_bump.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,21 +34,25 @@ changes should be cherry-picked to all release series that will support the new
* Note: Only bump for Cluster API versions that will support the new Kubernetes release.
* Prior art: #9160
* [ ] Ensure the jobs are adjusted to provide test coverage according to our [support policy](https://cluster-api.sigs.k8s.io/reference/versions.html#supported-kubernetes-versions):
* For the main branch:
* periodics:
* Drop the oldest upgrade job as the oldest Kubernetes minor version is now out of support.
* Add new upgrade job which upgrades from the previous to the new Kubernetes version.
* periodics & presubmits:
* Bump `KUBERNETES_VERSION_MANAGEMENT` of the `e2e-mink8s` job to the new minimum supported management cluster version.
* Bump `KUBEBUILDER_ENVTEST_KUBERNETES_VERSION` of the `test-mink8s` jobs to the new minimum supported management cluster version.
* Adjust the `-latest` upgrade job to upgrade from the new Kubernetes to the next Kubernetes version.
* For the release branch of the latest supported Cluster API minor release:
* periodics & presubmits:
* Adust the `-latest` upgrade jobs to upgrade to the new Kubernetes version instead of latest.
* Note: Also check if `ETCD_VERSION_UPGRADE_TO` or `COREDNS_VERSION_UPGRADE_TO` needs to change for the upgrades jobs to the new or next Kubernetes version.
* For etcd, see the `DefaultEtcdVersion` kubeadm constant: [e.g. for v1.28.0](https://github.com/kubernetes/kubernetes/blob/v1.28.0/cmd/kubeadm/app/constants/constants.go#L308)
* For coredns, see the `CoreDNSVersion` kubeadm constant:[e.g. for v1.28.0](https://github.com/kubernetes/kubernetes/blob/v1.28.0/cmd/kubeadm/app/constants/constants.go#L344)
* Prior art: https://github.com/kubernetes/test-infra/pull/30347 https://github.com/kubernetes/test-infra/pull/30406 https://github.com/kubernetes/test-infra/pull/30407

* At the `.versions` section in the `cluster-api-prowjob-gen.yaml` file in [test-infra](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-sigs/cluster-api/):
* Add a new entry for the new Kubernetes version
* Adjust the released Kubernetes's version entry to refer `stable-1.<minor>` instead of `ci/latest-1.<minor>`
* Check and update the versions for the keys `etcd` and `coreDNS` if necessary:
* For etcd, see the `DefaultEtcdVersion` kubeadm constant: [e.g. for v1.28.0](https://github.com/kubernetes/kubernetes/blob/v1.28.0/cmd/kubeadm/app/constants/constants.go#L308)
* For coredns, see the `CoreDNSVersion` kubeadm constant:[e.g. for v1.28.0](https://github.com/kubernetes/kubernetes/blob/v1.28.0/cmd/kubeadm/app/constants/constants.go#L344)
* For the `.branches.main` section in the `cluster-api-prowjob-gen.yaml` file in [test-infra](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-sigs/cluster-api/):
* For the `.upgrades` section:
* Drop the oldest upgrade
* Add a new upgrade entry from the previous to the new Kubernetes version
* Bump the version set at `.kubernetesVersionManagement` to the new minimum supported management cluster version (This is the image version available as kind image).
* Bump the version set at `.kubebuilderEnvtestKubernetesVersion` to the new minimum supported management cluster version.
* Run `make generate-test-infra-prowjobs` to generate the resulting prowjob configuration:

```sh
TEST_INFRA_DIR=../../k8s.io/test-infra make generate-test-infra-prowjobs
```

* [ ] Update book:
* Update supported versions in `versions.md`
* Update job documentation in `jobs.md`
Expand All @@ -65,7 +69,7 @@ need them in older releases as they are not necessary to manage workload cluster
run the Cluster API controllers on the new Kubernetes version.
* [ ] Ensure there is a new controller-runtime minor release which uses the new Kubernetes Go dependencies.
* [ ] Update our Prow jobs for the `main` branch to use the correct `kubekins-e2e` image
* [ ] Update our Prow jobs for the `main` branch to use the correct `kubekins-e2e` image via the configuration file and by running `make generate-test-infra-prowjobs`.
* It is recommended to have one PR for presubmit and one for periodic jobs to reduce the risk of breaking the periodic jobs.
* Prior art: presubmit jobs: https://github.com/kubernetes/test-infra/pull/27311
* Prior art: periodic jobs: https://github.com/kubernetes/test-infra/pull/27326
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # tag=v5.0.0
with:
go-version: ${{ steps.vars.outputs.go_version }}
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # tag=v3.3.2
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # tag=v4.0.0
name: Restore go cache
with:
path: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@716b1e13042866565e00e85fd4ec490e186c4a2f # tag=v41.0.1
uses: tj-actions/changed-files@ae82ed4ae04587b665efad2f206578aa6f0e8539 # tag=v42.0.0
- name: Get release version
id: release-version
run: |
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG/v1.5.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## 👌 Kubernetes version support

- Management Cluster: v1.24.x -> v1.28.x
- Workload Cluster: v1.22.x -> v1.28.x

[More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html)

## Changes since v1.5.4
## :chart_with_upwards_trend: Overview
- 9 new commits merged
- 1 feature addition ✨
- 4 bugs fixed 🐛

## :sparkles: New Features
- Control-plane: KCP: Allow mutation of all fields that should be mutable (#9884)

## :bug: Bug Fixes
- clusterctl: Validate no objects exist from CRDs before deleting them (#9835)
- e2e: Test: wait for topology to get rolled out before continuing with scaling checks (#9828)
- MachinePool: Fix TestReconcileMachinePoolScaleToFromZero flakes (#9823)
- Testing: SSA: fix flaky test TestPatch/Test patch with Machine (#9916)

## :seedling: Others
- Dependency: Bump golang.org/x/crypto to v0.17.0 (#9944)
- Dependency: Bump to Go 1.20.12 (#9842)
- e2e: Rename scale test to drop [Scale] tag (#9977)

:book: Additionally, there has been 1 contribution to our documentation and book. (#9877)


_Thanks to all our contributors!_ 😊
49 changes: 49 additions & 0 deletions CHANGELOG/v1.6.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## 👌 Kubernetes version support

- Management Cluster: v1.25.x -> v1.29.x
- Workload Cluster: v1.23.x -> v1.29.x

[More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html)

## Highlights

* Kubernetes v1.29 is now supported

## Changes since v1.6.0
## :chart_with_upwards_trend: Overview
- 30 new commits merged
- 1 feature addition ✨
- 9 bugs fixed 🐛

## :sparkles: New Features
- Control-plane: KCP: Allow mutation of all fields that should be mutable (#9884)

## :bug: Bug Fixes
- CAPD: Fix ignition to also set the kube-proxy configuration to skip setting sysctls (#9895)
- clusterctl: Validate no objects exist from CRDs before deleting them (#9834)
- e2e: Make MachinePools and MachineDeployments optional in ApplyClusterTemplateAndWait (#9962)
- e2e: Test: Fix finalizers test to not only rely on namespaced name (#10004)
- e2e: Test: wait for topology to get rolled out before continuing with scaling checks (#9827)
- IPAM: Fix webhooks using mixed api versions (#9863)
- Logging: Improve log k/v pairs and a improve/drop a few log lines (#9880)
- MachinePool: Fix TestReconcileMachinePoolScaleToFromZero flakes (#9822)
- Testing: SSA: fix flaky test TestPatch/Test patch with Machine (#9915)

## :seedling: Others
- CI: Bump kubebuilder envtest to 1.29.0 (#10014)
- Dependency: Bump golang.org/x/crypto to v0.17.0 (#9943)
- Dependency: Bump to Go 1.20.12 (#9841)
- Dependency: Go.mod: bump github.com/cloudflare/circl to v1.3.7 (#10002)
- e2e: Add DeepCopy method for E2EConfig (#9989)
- e2e: Add test util to resolve Kubernetes versions (#9996)
- e2e: Bump cluster-autoscaler to v1.29.0 (#9948)
- e2e: Drop duplicated scale test (#9976)
- e2e: Make etcd and CoreDNS optional in upgrade and self-hosted tests (#9965)
- e2e: Test/framework add WatchDaemonSetLogsByLabelSelector method (#9994)
- Testing: add dynamic finalizer assertions for e2e framework (#10003)]
- Testing: v1.29: Prepare quickstart, capd and tests for the new release including kind bump (#9890)

:book: Additionally, there have been 8 contributions to our documentation and book. (#9815, #9816, #9824, #9830, #9878, #9902, #9951, #9979)


_Thanks to all our contributors!_ 😊
29 changes: 3 additions & 26 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
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 @@ -251,30 +251,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 @@ -314,7 +291,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
Loading

0 comments on commit 888a3ff

Please sign in to comment.