Skip to content

Commit a9d4775

Browse files
authored
Merge pull request #8518 from furkatgofurov7/update-quickstart-docs-capd-new-k8s-version
⚠️ Use k8s v1.27.0 in quickstart docs and CAPD
2 parents c45667b + 077d303 commit a9d4775

File tree

16 files changed

+60
-40
lines changed

16 files changed

+60
-40
lines changed

.github/ISSUE_TEMPLATE/kubernetes_bump.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ changes should be cherry-picked to all release series that will support the new
2828
* Ensure the latest available kind version is used (including the latest images for this kind release)
2929
* Verify the quickstart manually
3030
* Prior art: #7156
31-
* bump `InitWithKubernetesVersion` in `clusterctl_upgrade_test.go`
31+
* bump `InitWithKubernetesVersion` and `WorkloadKubernetesVersion` in `clusterctl_upgrade_test.go`
3232
* [ ] 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):
3333
* For the main branch and the release branch of the latest supported Cluster API minor release:
3434
* Add new periodic upgrade job.

Tiltfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ envsubst_cmd = "./hack/tools/bin/envsubst"
44
clusterctl_cmd = "./bin/clusterctl"
55
kubectl_cmd = "kubectl"
66
default_build_engine = "docker"
7-
kubernetes_version = "v1.26.0"
7+
kubernetes_version = "v1.27.0"
88

99
if str(local("command -v " + kubectl_cmd + " || true", quiet = True)) == "":
1010
fail("Required command '" + kubectl_cmd + "' not found in PATH")

docs/book/src/developer/providers/migrations/v1.3-to-v1.4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ maintainers of providers and consumers of our Go API.
7575
For more information, please see: https://github.com/kubernetes/enhancements/issues/2845
7676
- A new `KCPRemediationSpec` test has been added providing better test coverage for KCP remediation most common use cases. As a consequence `MachineRemediationSpec` has been renamed to `MachineDeploymentRemediationSpec` and now only tests remediation of worker machines (NOTE: we plan to improve this test as well in a future iteration).
7777
- Package `test/infrastructure/docker/internal/third_party/forked/loadbalancer` has been moved to `test/infrastructure/docker/internal/loadbalancer` to allow it to diverge from the upstream Kind package.
78-
-
78+
7979
### Suggested changes for providers
8080

8181
- Providers should add an explicit security context to their controllers deployment, see [#7831](https://github.com/kubernetes-sigs/cluster-api/pull/7831) for reference.

docs/book/src/developer/providers/migrations/v1.4-to-v1.5.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ maintainers of providers and consumers of our Go API.
3030
### Other
3131

3232
- clusterctl move is adding the new annotation `clusterctl.cluster.x-k8s.io/delete-for-move` before object deletion.
33+
- Providers running CAPI release-0.3 clusterctl upgrade tests should set `WorkloadKubernetesVersion` field to the maximum workload cluster kubernetes version supported by the old providers in `ClusterctlUpgradeSpecInput`. For more information, please see: https://github.com/kubernetes-sigs/cluster-api/pull/8518#issuecomment-1508064859
3334

3435
### Suggested changes for providers
3536

docs/book/src/developer/tilt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ Custom values for variable substitutions can be set using `kustomize_substitutio
325325
```yaml
326326
kustomize_substitutions:
327327
NAMESPACE: default
328-
KUBERNETES_VERSION: v1.26.0
328+
KUBERNETES_VERSION: v1.27.0
329329
CONTROL_PLANE_MACHINE_COUNT: 1
330330
WORKER_MACHINE_COUNT: 3
331331
```

docs/book/src/user/quick-start.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1215,7 +1215,7 @@ The Docker provider is not designed for production use and is intended for devel
12151215
12161216
```bash
12171217
clusterctl generate cluster capi-quickstart --flavor development \
1218-
--kubernetes-version v1.26.0 \
1218+
--kubernetes-version v1.27.0 \
12191219
--control-plane-machine-count=3 \
12201220
--worker-machine-count=3 \
12211221
> capi-quickstart.yaml
@@ -1227,7 +1227,7 @@ clusterctl generate cluster capi-quickstart --flavor development \
12271227
```bash
12281228
export CLUSTER_NAME=kind
12291229
export CLUSTER_NAMESPACE=vcluster
1230-
export KUBERNETES_VERSION=1.26.0
1230+
export KUBERNETES_VERSION=1.27.0
12311231
export HELM_VALUES="service:\n type: NodePort"
12321232
12331233
kubectl create namespace ${CLUSTER_NAMESPACE}
@@ -1258,7 +1258,7 @@ clusterctl generate cluster capi-quickstart \
12581258
12591259
```bash
12601260
clusterctl generate cluster capi-quickstart \
1261-
--kubernetes-version v1.26.0 \
1261+
--kubernetes-version v1.27.0 \
12621262
--control-plane-machine-count=3 \
12631263
--worker-machine-count=3 \
12641264
> capi-quickstart.yaml
@@ -1308,6 +1308,13 @@ You can also get an "at glance" view of the cluster and its resources by running
13081308
clusterctl describe cluster capi-quickstart
13091309
```
13101310
1311+
and see an output similar to this:
1312+
1313+
```bash
1314+
NAME PHASE AGE VERSION
1315+
capi-quickstart Provisioned 8s v1.27.0
1316+
```
1317+
13111318
To verify the first control plane is up:
13121319
13131320
```bash
@@ -1318,7 +1325,7 @@ You should see an output is similar to this:
13181325
13191326
```bash
13201327
NAME CLUSTER INITIALIZED API SERVER AVAILABLE REPLICAS READY UPDATED UNAVAILABLE AGE VERSION
1321-
capi-quickstart-g2trk capi-quickstart true 3 3 3 4m7s v1.26.0
1328+
capi-quickstart-g2trk capi-quickstart true 3 3 3 4m7s v1.27.0
13221329
```
13231330
13241331
<aside class="note warning">
@@ -1537,13 +1544,13 @@ let's check the status using `kubectl get nodes`:
15371544
kubectl --kubeconfig=./capi-quickstart.kubeconfig get nodes
15381545
```
15391546
```bash
1540-
NAME STATUS ROLES AGE VERSION
1541-
capi-quickstart-g2trk-9xrjv Ready control-plane 12m v1.26.0
1542-
capi-quickstart-g2trk-bmm9v Ready control-plane 11m v1.26.0
1543-
capi-quickstart-g2trk-hvs9q Ready control-plane 13m v1.26.0
1544-
capi-quickstart-md-0-55x6t-5649968bd7-8tq9v Ready <none> 12m v1.26.0
1545-
capi-quickstart-md-0-55x6t-5649968bd7-glnjd Ready <none> 12m v1.26.0
1546-
capi-quickstart-md-0-55x6t-5649968bd7-sfzp6 Ready <none> 12m v1.26.0
1547+
NAME STATUS ROLES AGE VERSION
1548+
capi-quickstart-vs89t-gmbld Ready control-plane 5m33s v1.27.0
1549+
capi-quickstart-vs89t-kf9l5 Ready control-plane 6m20s v1.27.0
1550+
capi-quickstart-vs89t-t8cfn Ready control-plane 7m10s v1.27.0
1551+
capi-quickstart-md-0-55x6t-5649968bd7-8tq9v Ready <none> 6m5s v1.27.0
1552+
capi-quickstart-md-0-55x6t-5649968bd7-glnjd Ready <none> 6m9s v1.27.0
1553+
capi-quickstart-md-0-55x6t-5649968bd7-sfzp6 Ready <none> 6m9s v1.27.0
15471554
```
15481555
15491556
{{#/tab }}

docs/release/release-tasks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ This comes down to changing occurrences of the old version to the new version, e
110110
we use in the clusterctl upgrade tests (as of today `cluster-template` and `cluster-template-topology`).
111111
2. Remove old folders that are not used anymore (for `v1.4` we don't have to remove any).
112112
5. Modify the test specs in `test/e2e/clusterctl_upgrade_test.go` (according to the versions we want to test described above).
113-
Please note that `InitWithKubernetesVersion` should be the highest mgmt cluster version supported by the respective Cluster API version.
113+
Please note that both `InitWithKubernetesVersion` and `WorkloadKubernetesVersion` should be the highest mgmt cluster version supported by the respective Cluster API version.
114114
2. Update `create-local-repository.py` and `tools/tilt-prepare/main.go`: `v1.3.99` => `v1.4.99`.
115115
3. Make sure all tests are green (also run `pull-cluster-api-e2e-full-main` and `pull-cluster-api-e2e-workload-upgrade-1-23-latest-main`).
116116

test/e2e/clusterctl_upgrade.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ type ClusterctlUpgradeSpecInput struct {
105105
MgmtFlavor string
106106
CNIManifestPath string
107107
WorkloadFlavor string
108+
// WorkloadKubernetesVersion is Kubernetes version used to create the workload cluster, e.g. `v1.25.0`
109+
WorkloadKubernetesVersion string
108110
// Custom providers can be specified to upgrade to a pre-release or a custom version instead of upgrading to the latest using contact
109111
CoreProvider string
110112
BootstrapProviders []string
@@ -328,7 +330,10 @@ func ClusterctlUpgradeSpec(ctx context.Context, inputGetter func() ClusterctlUpg
328330
// so we are getting a template using the downloaded version of clusterctl, applying it, and wait for machines to be provisioned.
329331

330332
workLoadClusterName = fmt.Sprintf("%s-%s", specName, util.RandomString(6))
331-
kubernetesVersion := input.E2EConfig.GetVariable(KubernetesVersion)
333+
kubernetesVersion := input.WorkloadKubernetesVersion
334+
if kubernetesVersion == "" {
335+
kubernetesVersion = input.E2EConfig.GetVariable(KubernetesVersion)
336+
}
332337
controlPlaneMachineCount := pointer.Int64(1)
333338
workerMachineCount := pointer.Int64(1)
334339

test/e2e/clusterctl_upgrade_test.go

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ var _ = Describe("When testing clusterctl upgrades (v0.3=>current)", func() {
3636
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v0.3.25/clusterctl-{OS}-{ARCH}",
3737
InitWithProvidersContract: "v1alpha3",
3838
// CAPI v0.3.x does not work on Kubernetes >= v1.22.
39-
InitWithKubernetesVersion: "v1.21.12",
39+
InitWithKubernetesVersion: "v1.21.14",
40+
WorkloadKubernetesVersion: "v1.22.17",
4041
// CAPI does not work with Kubernetes < v1.22 if ClusterClass is enabled, so we have to disable it.
4142
UpgradeClusterctlVariables: map[string]string{
4243
"CLUSTER_TOPOLOGY": "false",
@@ -68,7 +69,8 @@ var _ = Describe("When testing clusterctl upgrades (v0.4=>current)", func() {
6869
SkipCleanup: skipCleanup,
6970
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v0.4.8/clusterctl-{OS}-{ARCH}",
7071
InitWithProvidersContract: "v1alpha4",
71-
InitWithKubernetesVersion: "v1.23.13",
72+
InitWithKubernetesVersion: "v1.23.17",
73+
WorkloadKubernetesVersion: "v1.23.17",
7274
MgmtFlavor: "topology",
7375
WorkloadFlavor: "",
7476
// This check ensures that ownerReference apiVersions are updated for all types after the upgrade.
@@ -105,7 +107,8 @@ var _ = Describe("When testing clusterctl upgrades (v1.0=>current)", func() {
105107
// runtime extension providers. If we don't do this the test will automatically
106108
// try to deploy the latest version of our test-extension from docker.yaml.
107109
InitWithRuntimeExtensionProviders: []string{},
108-
InitWithKubernetesVersion: "v1.23.13",
110+
InitWithKubernetesVersion: "v1.23.17",
111+
WorkloadKubernetesVersion: "v1.23.17",
109112
MgmtFlavor: "topology",
110113
WorkloadFlavor: "",
111114
// This check ensures that ownerReference apiVersions are updated for all types after the upgrade.
@@ -143,7 +146,8 @@ var _ = Describe("When testing clusterctl upgrades (v1.3=>current)", func() {
143146
// try to deploy the latest version of our test-extension from docker.yaml.
144147
InitWithRuntimeExtensionProviders: []string{},
145148
InitWithProvidersContract: "v1beta1",
146-
InitWithKubernetesVersion: "v1.26.0",
149+
InitWithKubernetesVersion: "v1.26.3",
150+
WorkloadKubernetesVersion: "v1.26.3",
147151
MgmtFlavor: "topology",
148152
WorkloadFlavor: "",
149153
// This check ensures that ownerReference apiVersions are updated for all types after the upgrade.
@@ -181,7 +185,8 @@ var _ = Describe("When testing clusterctl upgrades using ClusterClass (v1.3=>cur
181185
// try to deploy the latest version of our test-extension from docker.yaml.
182186
InitWithRuntimeExtensionProviders: []string{},
183187
InitWithProvidersContract: "v1beta1",
184-
InitWithKubernetesVersion: "v1.26.0",
188+
InitWithKubernetesVersion: "v1.26.3",
189+
WorkloadKubernetesVersion: "v1.26.3",
185190
MgmtFlavor: "topology",
186191
WorkloadFlavor: "topology",
187192
// This check ensures that ownerReference apiVersions are updated for all types after the upgrade.
@@ -209,7 +214,8 @@ var _ = Describe("When testing clusterctl upgrades (v1.4=>current)", func() {
209214
SkipCleanup: skipCleanup,
210215
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.0/clusterctl-{OS}-{ARCH}",
211216
InitWithProvidersContract: "v1beta1",
212-
InitWithKubernetesVersion: "v1.26.0",
217+
InitWithKubernetesVersion: "v1.27.0",
218+
WorkloadKubernetesVersion: "v1.27.0",
213219
MgmtFlavor: "topology",
214220
WorkloadFlavor: "",
215221
// This check ensures that ownerReference apiVersions are updated for all types after the upgrade.
@@ -237,7 +243,8 @@ var _ = Describe("When testing clusterctl upgrades using ClusterClass (v1.4=>cur
237243
SkipCleanup: skipCleanup,
238244
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.4.0/clusterctl-{OS}-{ARCH}",
239245
InitWithProvidersContract: "v1beta1",
240-
InitWithKubernetesVersion: "v1.26.0",
246+
InitWithKubernetesVersion: "v1.27.0",
247+
WorkloadKubernetesVersion: "v1.27.0",
241248
MgmtFlavor: "topology",
242249
WorkloadFlavor: "topology",
243250
// This check ensures that ownerReference apiVersions are updated for all types after the upgrade.

test/e2e/config/docker.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -323,12 +323,12 @@ variables:
323323
# allowing the same e2e config file to be re-used in different Prow jobs e.g. each one with a K8s version permutation.
324324
# The following Kubernetes versions should be the latest versions with already published kindest/node images.
325325
# This avoids building node images in the default case which improves the test duration significantly.
326-
KUBERNETES_VERSION_MANAGEMENT: "v1.26.0"
327-
KUBERNETES_VERSION: "v1.26.0"
328-
KUBERNETES_VERSION_UPGRADE_FROM: "v1.25.3"
329-
KUBERNETES_VERSION_UPGRADE_TO: "v1.26.0"
330-
ETCD_VERSION_UPGRADE_TO: "3.5.6-0"
331-
COREDNS_VERSION_UPGRADE_TO: "v1.9.3"
326+
KUBERNETES_VERSION_MANAGEMENT: "v1.27.0"
327+
KUBERNETES_VERSION: "v1.27.0"
328+
KUBERNETES_VERSION_UPGRADE_FROM: "v1.26.3"
329+
KUBERNETES_VERSION_UPGRADE_TO: "v1.27.0"
330+
ETCD_VERSION_UPGRADE_TO: "3.5.7-0"
331+
COREDNS_VERSION_UPGRADE_TO: "v1.10.1"
332332
DOCKER_SERVICE_DOMAIN: "cluster.local"
333333
IP_FAMILY: "IPv4"
334334
DOCKER_SERVICE_CIDRS: "10.128.0.0/12"

0 commit comments

Comments
 (0)