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 CAPV to v1.7.4 #2691

Merged
merged 1 commit into from
Nov 28, 2023
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
2 changes: 1 addition & 1 deletion UPSTREAM_PROJECTS.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ projects:
go_version: "1.19"
- name: cluster-api-provider-vsphere
versions:
- tag: v1.7.0
- tag: v1.7.4
go_version: "1.19"
- name: cri-tools
versions:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
** github.com/coredns/caddy/caddyfile; version v1.1.1 --
https://github.com/coredns/caddy

** github.com/coredns/corefile-migration/migration; version v1.0.20 --
** github.com/coredns/corefile-migration/migration; version v1.0.21 --
https://github.com/coredns/corefile-migration

** github.com/docker/distribution; version v2.8.2+incompatible --
Expand Down Expand Up @@ -71,7 +71,7 @@ https://github.com/vmware-tanzu/vm-operator/external/ncp
** github.com/vmware-tanzu/vm-operator/external/tanzu-topology/api/v1alpha1; version v0.0.0-20211209213435-0f4ab286f64f --
https://github.com/vmware-tanzu/vm-operator/external/tanzu-topology

** github.com/vmware/govmomi; version v0.30.4 --
** github.com/vmware/govmomi; version v0.33.1 --
https://github.com/vmware/govmomi

** gomodules.xyz/jsonpatch/v2; version v2.2.0 --
Expand Down Expand Up @@ -110,10 +110,10 @@ https://github.com/kubernetes/kube-openapi
** k8s.io/utils; version v0.0.0-20221128185143-99ec85e7a448 --
https://github.com/kubernetes/utils

** sigs.k8s.io/cluster-api; version v1.4.1 --
** sigs.k8s.io/cluster-api; version v1.4.7 --
https://github.com/kubernetes-sigs/cluster-api

** sigs.k8s.io/cluster-api-provider-vsphere; version v1.7.0 --
** sigs.k8s.io/cluster-api-provider-vsphere; version v1.7.4 --
https://github.com/kubernetes-sigs/cluster-api-provider-vsphere

** sigs.k8s.io/controller-runtime; version v0.14.5 --
Expand Down Expand Up @@ -609,7 +609,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

------

** github.com/google/go-cmp/cmp; version v0.5.9 --
** github.com/google/go-cmp/cmp; version v0.6.0 --
https://github.com/google/go-cmp

Copyright (c) 2017 The Go Authors. All rights reserved.
Expand Down Expand Up @@ -642,7 +642,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

------

** github.com/google/uuid; version v1.3.0 --
** github.com/google/uuid; version v1.3.1 --
https://github.com/google/uuid

Copyright (c) 2009,2014 Google Inc. All rights reserved.
Expand Down Expand Up @@ -816,7 +816,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

------

** github.com/vmware/govmomi/vim25/xml; version v0.30.4 --
** github.com/vmware/govmomi/vim25/json; version v0.33.1 --
https://github.com/vmware/govmomi

** github.com/vmware/govmomi/vim25/xml; version v0.33.1 --
https://github.com/vmware/govmomi

** golang.org/go; version go1.19.13 --
Expand All @@ -825,19 +828,19 @@ https://github.com/golang/go
** golang.org/x/exp; version v0.0.0-20221002003631-540bb7301a08 --
https://golang.org/x/exp

** golang.org/x/net; version v0.10.0 --
** golang.org/x/net; version v0.17.0 --
https://golang.org/x/net

** golang.org/x/oauth2; version v0.8.0 --
https://golang.org/x/oauth2

** golang.org/x/sys/unix; version v0.9.0 --
** golang.org/x/sys/unix; version v0.13.0 --
https://golang.org/x/sys

** golang.org/x/term; version v0.9.0 --
** golang.org/x/term; version v0.13.0 --
https://golang.org/x/term

** golang.org/x/text; version v0.10.0 --
** golang.org/x/text; version v0.13.0 --
https://golang.org/x/text

** golang.org/x/time/rate; version v0.3.0 --
Expand Down Expand Up @@ -876,7 +879,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

------

** google.golang.org/protobuf; version v1.28.1 --
** google.golang.org/protobuf; version v1.30.0 --
https://go.googlesource.com/protobuf

Copyright (c) 2018 The Go Authors. All rights reserved.
Expand Down Expand Up @@ -1079,7 +1082,7 @@ Copyright (c) 2014 Benedikt Lang <github at benediktlang.de>
https://github.com/blang/semver/v4
Copyright (c) 2014 Benedikt Lang <github at benediktlang.de>

** github.com/cespare/xxhash/v2; version v2.1.2 --
** github.com/cespare/xxhash/v2; version v2.2.0 --
https://github.com/cespare/xxhash/v2
Copyright (c) 2016 Caleb Spare

Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
90ee08ec33317c5641df3e75d0ffb4b5823dad7d879d8d9f4a90e8cc0e7b3945 _output/bin/cluster-api-provider-vsphere/linux-amd64/manager
45341c53bb27d04a1f1cd733fa250f7aa80ebca0a8da7de2fb85d4405639c557 _output/bin/cluster-api-provider-vsphere/linux-arm64/manager
21ad99fd6424e837145e2b8ecdfcf69c230717983f8b1372d99b85bddddf2317 _output/bin/cluster-api-provider-vsphere/linux-amd64/manager
d5ce1faace69067557645b930ee1a72195bf1211bb86dd8af454d83983df1172 _output/bin/cluster-api-provider-vsphere/linux-arm64/manager
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1.7.0
v1.7.4
15 changes: 10 additions & 5 deletions projects/kubernetes-sigs/cluster-api-provider-vsphere/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## **Cluster API Provider for vSphere**
![Version](https://img.shields.io/badge/version-v1.7.0-blue)
![Version](https://img.shields.io/badge/version-v1.7.4-blue)
![Build Status](https://codebuild.us-west-2.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiYm85WnJ4aDc2ZXhhVUxOWHJuUFJwN3FlQmE2L1Q4b2ZzNG91OVpjNVNGM1ZvbVBEUUM2bkdER3N5eVNrWTBKS2VSSW9Oa051aFVWS1dzVVlTOHBBZ0NRPSIsIml2UGFyYW1ldGVyU3BlYyI6IlEwOWNtd0llNXdjUGRvQWkiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=main)

The [Cluster API Provider for vSphere (CAPV)](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere) is a a concrete implementation of Cluster API for vSphere, which paves the way for true vSphere hybrid deployments of Kubernetes. CAPV is designed to allow customers to use their existing vSphere infrastructure, including vCenter credentials, VMs, templates, etc. for bootstrapping and creating workload clusters.
Expand All @@ -22,13 +22,18 @@ You can find the latest version of this image [on ECR Public Gallery](https://ga
1. Follow these steps for changes to the patches/ folder:
1. Fork and clone CAPV repo, and checkout the desired tag. For instance if in step 1 we decided to upgrade to v1.6.1 CAPV version, do `git checkout v1.6.1`
on your fork.
1. Review the patches under patches/ folder in this repo. Apply the required patches to your fork. Remove any patches that are either
merged upstream or no longer needed. Please reach out to @jaxesn, @vignesh-goutham or @g-gaston for any questions regarding which patches to keep.
1. Review the patches under patches/ folder in this repo. Apply the required patches to your fork.
1. Run `git am *.patch`
1. For patches that need some manual changes, you will see a similar error: `Patch failed at *`
1. For that patch, run `git apply --reject --whitespace=fix *.patch`. This will apply hunks of the patch that do apply correctly, leaving
the failing parts in a new file ending in `.rej`. This file shows what changes weren't applied and you need to manually apply.
1. Once the changes are done, delete the `.rej` file and run `git add .` and `git am --continue`
1. Remove any patches that are either merged upstream or no longer needed. Please reach out to @jaxesn, @vignesh-goutham or @g-gaston for any questions regarding which patches to keep.
1. Run `git format-patch <commit>`, where `<commit>` is the last upstream commit on that tag. Move the generated patches under the patches/ folder in this repo.
1. Update the `GIT_TAG` file to have the new desired version based on the upstream release tags.
1. Compare the old tag to the new, looking specifically for Makefile changes.
ex: [1.6.1 compared to 1.3.1](https://github.com/kubernetes-sigs/provider-vsphere/compare/v1.3.1...v1.6.1). Check if the [manifests](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/v1.6.1/Makefile#L359)
target has changed in the Makefile, and make the required changes in create_manifests.sh
ex: [1.7.0 compared to 1.7.4](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/compare/v1.7.0...v1.7.4). Check if the [manifest-modification](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/27368586949f746c6830a47dc2439cd5ebe57dd2/Makefile#L568) or [release-manifests](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/blob/27368586949f746c6830a47dc2439cd5ebe57dd2/Makefile#L577C9-L577C26)
targets have changed in the Makefile, and make the required changes in create_manifests.sh
1. Check the go.mod file to see if the golang version has changed when updating a version. Update the field `GOLANG_VERSION` in
Makefile to match the version upstream.
1. Update checksums and attribution using `make attribution checksums`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,14 @@ cd $REPO

yq eval -i -P ".spec.template.spec.containers[0].args += [\"--namespace=eksa-system\"]" config/manager/manager.yaml

make manifests STAGE="release" \
MANIFEST_DIR="out" \
PULL_POLICY="IfNotPresent" \
IMAGE="${IMAGE_REPO}/kubernetes-sigs/cluster-api-provider-vsphere/release/manager:$IMAGE_TAG"
make manifest-modification STAGE="release" \
Copy link
Member

Choose a reason for hiding this comment

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

does these still build to and create files which are similiar to what we were producing? probably best to diff what this creates with what we shipped in 0.18.

Copy link
Member Author

@cxbrowne1207 cxbrowne1207 Nov 28, 2023

Choose a reason for hiding this comment

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

Yeah, they basically split this command and the combination of these two results in the same outputs from what I checked after running the make build command.

I'll double check with a diff we shipped in 0.18

Copy link
Member Author

@cxbrowne1207 cxbrowne1207 Nov 28, 2023

Choose a reason for hiding this comment

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

So, I've confirmed the commands output similar files in the following directories and compared them using a diff tool:

  • /projects/kubernetes-sigs/cluster-api-provider-vsphere/cluster-api-provider-vsphere/.build/config
  • /projects/kubernetes-sigs/cluster-api-provider-vsphere/cluster-api-provider-vsphere/.build/out
  • /projects/kubernetes-sigs/cluster-api-provider-vsphere/cluster-api-provider-vsphere/_output/manifests/infrastructure-vsphere/

There are some small changes to the files because to the version differences it looks like.

  • the vsphere tls thumbprint was added to the csi-vsphere-config secret upstream
  • update to the referenced controller-gen.kubebuilder.io/version: v0.11.4 - > v0.12.1
  • adding usage of the x-kubernetes-map-type: atomic in the infrastructure-components templates

They're was no mention of breaking changes in the changelogs and these look find to me

Copy link
Member

Choose a reason for hiding this comment

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

sounds good

REGISTRY="${IMAGE_REPO}" \
IMAGE_NAME="kubernetes-sigs/cluster-api-provider-vsphere/release/manager" \
RELEASE_TAG="${IMAGE_TAG}" \
PULL_POLICY="IfNotPresent"

make release-manifests STAGE="release" \
MANIFEST_DIR="out"

mkdir -p $OUTPUT_DIR/manifests/infrastructure-vsphere/$TAG
cp out/cluster-template.yaml "$OUTPUT_DIR/manifests/infrastructure-vsphere/$TAG"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
From 428bcd55446d86ac5c737bc0e12b08cdfbb50ae2 Mon Sep 17 00:00:00 2001
From 02c21a83629c62c4526fcccf62bfb91865f493bc Mon Sep 17 00:00:00 2001
From: Taylor Neyland <[email protected]>
Date: Tue, 6 Jun 2023 16:56:24 -0500
Subject: [PATCH] Add capv support for Bottlerocket

---
pkg/services/govmomi/vcenter/clone.go | 4 ++--
.../capi-upgrades/v1alpha3/cluster-template.yaml | 2 ++
.../capi-upgrades/v1alpha4/cluster-template.yaml | 2 ++
3 files changed, 6 insertions(+), 2 deletions(-)
pkg/services/govmomi/vcenter/clone.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg/services/govmomi/vcenter/clone.go b/pkg/services/govmomi/vcenter/clone.go
index 999f9846..09fe9c39 100644
index c6d1e1d1..01a4fd86 100644
--- a/pkg/services/govmomi/vcenter/clone.go
+++ b/pkg/services/govmomi/vcenter/clone.go
@@ -60,10 +60,10 @@ func Clone(ctx *context.VMContext, bootstrapData []byte, format bootstrapv1.Form
Expand All @@ -26,46 +24,6 @@ index 999f9846..09fe9c39 100644
}
}
if ctx.VSphereVM.Spec.CustomVMXKeys != nil {
diff --git a/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha3/cluster-template.yaml b/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha3/cluster-template.yaml
Copy link
Member

Choose a reason for hiding this comment

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

were these tests removed upstream?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, it looks like it. This file was removed in this PR and included in v1.7.3 onwards

index 69fe199b..73fbb0bb 100644
--- a/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha3/cluster-template.yaml
+++ b/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha3/cluster-template.yaml
@@ -174,6 +174,7 @@ spec:
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
useExperimentalRetryJoin: true
+ format: '${VSPHERE_TEMPLATE_BOOTSTRAP_FORMAT}'
users:
- name: capv
sshAuthorizedKeys:
@@ -207,6 +208,7 @@ spec:
sshAuthorizedKeys:
- '${VSPHERE_SSH_AUTHORIZED_KEY}'
sudo: ALL=(ALL) NOPASSWD:ALL
+ format: '${VSPHERE_TEMPLATE_BOOTSTRAP_FORMAT}'
---
apiVersion: cluster.x-k8s.io/v1alpha3
kind: MachineDeployment
diff --git a/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha4/cluster-template.yaml b/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha4/cluster-template.yaml
index 96ca172b..01394e65 100644
--- a/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha4/cluster-template.yaml
+++ b/test/e2e/data/infrastructure-vsphere/capi-upgrades/v1alpha4/cluster-template.yaml
@@ -150,6 +150,7 @@ spec:
- echo "127.0.0.1 {{ ds.meta_data.hostname }}" >>/etc/hosts
- echo "{{ ds.meta_data.hostname }}" >/etc/hostname
useExperimentalRetryJoin: true
+ format: '${VSPHERE_TEMPLATE_BOOTSTRAP_FORMAT}'
users:
- name: capv
sshAuthorizedKeys:
@@ -188,6 +189,7 @@ spec:
sshAuthorizedKeys:
- '${VSPHERE_SSH_AUTHORIZED_KEY}'
sudo: ALL=(ALL) NOPASSWD:ALL
+ format: '${VSPHERE_TEMPLATE_BOOTSTRAP_FORMAT}'
---
apiVersion: cluster.x-k8s.io/v1alpha4
kind: MachineDeployment
--
2.39.2
2.40.1