Skip to content

v1.11.0

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Aug 11:26
· 105 commits to main since this release
v1.11.0
a26d51d

Highlights

  • Tested with Kubernetes v1.31 & cloud-provider-vsphere v1.31
  • Based on Cluster API v1.8
  • Bumped to controller-runtime v0.18, k8s.io/* v0.30, controller-gen v0.15
  • Bumped to Go 1.22

supervisor mode:

  • Significantly improved unit and e2e test coverage (#2995)
  • VirtualMachine namingStrategy (#3099)
  • Now uses vm-operator v1alpha2 APIs (#3029, #3104)
  • Dropped ProviderServiceAccount ConfigMap and deprecated ProviderServiceAccountFinalizer (#3009)
  • Support for namespace-scoped Zones (#3146)

govmomi mode:

  • Support for vGPU (#3025)
  • Removed the keep alive feature (#2984)
  • Use sha256 thumbprint in tests (#3076) (using sha1 thumbprint is now deprecated)

Changes since v1.10

πŸ“ˆ Overview

  • 142 new commits merged
  • 13 feature additions ✨
  • 5 bugs fixed πŸ›

✨ New Features

  • Add Namespace Scoped Zone Discovery and Watch (#3146)
  • Add validating and mutating webhook for supervisor mode (#2651)
  • Bump CAPI to v1.8.0 (#3151)
  • Bump CAPI to v1.8.0-beta.0 (#3107)
  • Bump CAPI to v1.8.1 and CPI to v1.31.0 (#3155)
  • Bump Cluster API to v1.8.0-rc.1 (#3142)
  • Bump CPI to v1.31.0-beta.0 (#3108)
  • Bump e2e tests to kubernetes v1.31.0 (#3154)
  • Implement VirtualMachine namingStrategy (#3099)
  • Test/e2e: use vSphere projects from Boskos (#3034)
  • VGPU implementation (#3025)
  • VGPU implementation - follow-ups (#3101)
  • Vm-operator: migrate to v1alpha2 (#3029)

πŸ› Bug Fixes

  • Config: drop the deprecated --enable-keep-alive flag from the template (#2947)
  • Drop caBundle from CRDs to support Kubernetes 1.31 (#3131)
  • Fix unit tests, improve debuggability (#3126)
  • Run only one manager with webhooks for supervisor tests (#3021)
  • Vmoperator: fix nil pointer when reconciling VM (#3112)

🌱 Others

  • Add Go directive check as Makefile target (#3004)
  • Add release-1.11 to GitHub actions (#3110)
  • Bump CAPI to v1.7.0 (#2911)
  • Bump CAPI to v1.7.1 (#2940)
  • Bump CAPI to v1.8.0-rc.0 (#3127)
  • Bump CPI to v1.31.0-rc.1 (#3144)
  • Bump Go to 1.21.11 (#3041)
  • Bump Kubernetes images to v1.30.0 (#2918)
  • Bump Kubernetes version in tests to 1.31.0-rc.1 (#3138)
  • Bump sigs.k8s.io/cluster-api to v1.8.0-beta.1 (#3119)
  • Bump to CAPI main (v1.8.0 pre alpha) (#3033)
  • Bump to Go 1.22.5 (#3090)
  • Bump to golangci-lint v1.59.0 (#3062)
  • Bump vm-operator to v1.8.6 (#2914)
  • Bump vSphere CPI to v1.30.0 (#2923)
  • Cleanup janitor (#3057)
  • Cloudbuild: bump images to match capi (#3051)
  • Controllers: add unit test coverage for esxi host label on supervisor (#3085)
  • Controllers: fix ProviderServiceAccount tests to create objects on-demand (#2983)
  • Drop integration tests (#2919)
  • Drop pre-load of cert-manager images in E2E tests (#3060)
  • Drop redundant e2e tests (#2996)
  • Drop test coverage for release-1.6 and update README.md (#2958)
  • Drop WCP fault domains feature gate (#3118)
  • E2e: introduce and use KUBERNETES_VERSION_MANAGEMENT variable which builds kindest/node image on demand (#3137)
  • Fill up supervisor e2e test - ClusterClass changes (#3011)
  • Fill up supervisor e2e test - ClusterClass rollouts (#3023)
  • Fill up supervisor e2e test - clusterctl upgrades using ClusterClass (#3024)
  • Fix flake where VSphereFailureDomain still exists from previous test (#3123)
  • Flavorgen: Bump CSI to v3.3.0 (#3088)
  • Flavorgen: enforce VSPHERE_USERNAME and VSPHERE_PASSWORD variables to be set as string in templates (#3028)
  • Generate vm-operator YAML instead of downloading it from GCS (#2931)
  • Github: adjust weekly actions to also test release-1.10 (#2903)
  • Hack/e2e don't add binary files to artifacts and also censor base64 encoded values (#2989)
  • Hack: remove references to GCR_KEY_FILE (#2990)
  • Improve checking if guest cluster client works in unit tests (#3136)
  • Improve vm operator target + use config/wcp (#2932)
  • Makefile: add hack/tools to go test (#3063)
  • Makefile: adjust prowjob-gen for upstream job removal (#3143)
  • Makefile: drop OVERRIDES_DIR and dependent make targets (#3052)
  • Optimize dependabot config (#2979)
  • Packaging: write kubeadm script log for ignition (#3149)
  • Prepare main for development of release v1.11 (#2950)
  • Push manifests for main & release-.* (#2949)
  • Remove keep alive feature (#2984)
  • Retry CRD detection during startup (#2917)
  • Set terminationMessagePolicy to FallbackToLogsOnError for all managers (#2988)
  • Store nightly manifests in k8s-staging-capi-vsphere (#2930)
  • Supervisor: drop ProviderServiceAccount ConfigMap and deprecate ProviderServiceAccountFinalizer (#3009)
  • Surface more conditions about VirtualMachine pre-prequisites (#3104)
  • Sync dependabot config with core CAPI (#3066)
  • Templates: add a script to run prekubeadmcommands in order of files defined in /etc/pre-kubeadm-scripts (#2906)
  • Test OwnerReferences and Finalizers for Supervisor (#3059)
  • Test VirtualMachine pre-requisites only before creation (#3105)
  • Test: add coverage to find issues running on the next kubernetes release as management cluster (#3139)
  • Test: allow retries creating vcsim (#3096)
  • Test: bump core-CAPI v1.8.0-beta.0 to nightly image build (#3113)
  • Test: Bump CPI to v1.31.0-rc.0 (#3129)
  • Test: dump resources before ValidateResourceVersionStable test (#3120)
  • Test: enable vcsim for clusterclass rollout test (#3117)
  • Test: enable vcsim to run clusterctl upgrade e2e tests (#3109)
  • Test: ensure we can collect machine logs (#3145)
  • Test: fix collector for machines not having an IP in status and change ignition ssh user to capv (#3010)
  • Test: fix wording in vsphere.yaml comment, always use bootstrapClusterProxy to get vCenterSimulator (#3097)
  • Test: implement check for all pods running (#3089)
  • Test: implement cluster upgrade with Runtime SDK (#3069)
  • Test: migrate to vm-operator v1alpha2 (#3032)
  • Test: use a daemonset and kubectl exec to provide images to remote clusters (#2955)
  • Test: use rolloutStrategy to speed up K8s-Upgrade tests to not hit rollout timeout (#3061)
  • Test: wait for nodes being ready before testing resource versions being stable (#3114)
  • Testutil: fix import name for fake client library (#3147)
  • Update Makefile doc about nightly manifests (#2939)
  • Use absolute paths for folder and resourcePool (#3035)
  • Use kind for clusterctl upgrade tests (#3050)
  • Use release markers in e2e config to fetch lastest releases (#2895)
  • Use setup-envtest from CR main (05/2024) to use envtest binaries from CT releases (#3016)
  • Use sha256 thumbprint in tests (#3076)
  • Use vm operator v1.8.6 for supervisor e2e testing (#2894)
  • Vcsim: implement cluster proxy to allow more e2e tests to be compatible to vcsim (#3072)

πŸ“– Additionally, there have been 5 contributions to our documentation and book. (#2928, #2951, #2959, #2999, #3157)

Dependencies

Added

  • github.com/dvyukov/go-fuzz: 6a8e9d1
  • github.com/fxamacker/cbor/v2: v2.6.0
  • github.com/go-task/slim-sprig/v3: v3.0.0
  • github.com/x448/float16: v0.8.4
  • go4.org/netipx: fdeea32
  • golang.org/x/exp/typeparams: 732eee0
  • k8s.io/gengo/v2: 51d4e06

Changed

  • cloud.google.com/go/compute/metadata: v0.2.3 β†’ v0.3.0
  • cloud.google.com/go/compute: v1.23.0 β†’ v1.23.3
  • cloud.google.com/go: v0.54.0 β†’ v0.26.0
  • github.com/BurntSushi/toml: v0.3.1 β†’ v1.2.1
  • github.com/PuerkitoBio/purell: v1.1.1 β†’ v1.0.0
  • github.com/PuerkitoBio/urlesc: de5bf2a β†’ 5bd2802
  • github.com/adrg/xdg: v0.4.0 β†’ v0.5.0
  • github.com/asaskevich/govalidator: a9d515a β†’ f61b66f
  • github.com/chzyer/readline: 2972be2 β†’ v1.5.1
  • github.com/cncf/xds/go: e9ce688 β†’ 0fa0005
  • github.com/coredns/corefile-migration: v1.0.21 β†’ v1.0.23
  • github.com/cpuguy83/go-md2man/v2: v2.0.3 β†’ v2.0.4
  • github.com/creack/pty: v1.1.11 β†’ v1.1.9
  • github.com/distribution/reference: v0.5.0 β†’ v0.6.0
  • github.com/elazarl/goproxy: 947c36d β†’ c4fc265
  • github.com/emicklei/go-restful/v3: v3.11.0 β†’ v3.12.1
  • github.com/emicklei/go-restful: v2.9.5+incompatible β†’ ff4f55a
  • github.com/envoyproxy/go-control-plane: v0.11.1 β†’ v0.12.0
  • github.com/envoyproxy/protoc-gen-validate: v1.0.2 β†’ v1.0.4
  • github.com/fatih/color: v1.16.0 β†’ v1.17.0
  • github.com/ghodss/yaml: v1.0.0 β†’ 73d445a
  • github.com/go-logr/logr: v1.4.1 β†’ v1.4.2
  • github.com/go-openapi/spec: v0.19.5 β†’ 6aced65
  • github.com/golang/glog: v1.1.2 β†’ v1.2.0
  • github.com/golang/mock: v1.4.1 β†’ v1.1.1
  • github.com/google/cel-go: v0.17.7 β†’ v0.17.8
  • github.com/google/pprof: 4bb14d4 β†’ 813a5fb
  • github.com/googleapis/gnostic: v0.5.5 β†’ 0c51083
  • github.com/hashicorp/golang-lru: v0.5.4 β†’ v0.5.1
  • github.com/ianlancetaylor/demangle: 28f6c0f β†’ bd984b5
  • github.com/kr/pty: v1.1.5 β†’ v1.1.1
  • github.com/onsi/ginkgo/v2: v2.17.1 β†’ v2.20.0
  • github.com/onsi/ginkgo: v1.16.4 β†’ v1.10.1
  • github.com/onsi/gomega: v1.32.0 β†’ v1.34.1
  • github.com/pelletier/go-toml/v2: v2.1.0 β†’ v2.2.2
  • github.com/prometheus/client_model: v0.5.0 β†’ v0.6.0
  • github.com/spf13/cobra: v1.8.0 β†’ v1.8.1
  • github.com/spf13/viper: v1.18.2 β†’ v1.19.0
  • github.com/vmware/govmomi: v0.37.1 β†’ v0.39.0
  • go.etcd.io/etcd/api/v3: v3.5.13 β†’ v3.5.15
  • go.etcd.io/etcd/client/pkg/v3: v3.5.13 β†’ v3.5.15
  • go.etcd.io/etcd/client/v3: v3.5.13 β†’ v3.5.15
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.46.0 β†’ v0.42.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.46.0 β†’ v0.49.0
  • go.opentelemetry.io/otel/metric: v1.20.0 β†’ v1.24.0
  • go.opentelemetry.io/otel/trace: v1.20.0 β†’ v1.24.0
  • go.opentelemetry.io/otel: v1.20.0 β†’ v1.24.0
  • go.uber.org/zap: v1.26.0 β†’ v1.27.0
  • golang.org/x/crypto: v0.22.0 β†’ v0.26.0
  • golang.org/x/exp: 9212866 β†’ 8a7402a
  • golang.org/x/lint: 738671d β†’ d0100b6
  • golang.org/x/mod: v0.17.0 β†’ v0.20.0
  • golang.org/x/net: v0.24.0 β†’ v0.28.0
  • golang.org/x/oauth2: v0.18.0 β†’ v0.21.0
  • golang.org/x/sync: v0.7.0 β†’ v0.8.0
  • golang.org/x/sys: v0.19.0 β†’ v0.23.0
  • golang.org/x/telemetry: f48c80b β†’ bda5523
  • golang.org/x/term: v0.19.0 β†’ v0.23.0
  • golang.org/x/text: v0.14.0 β†’ v0.17.0
  • golang.org/x/tools: v0.20.0 β†’ v0.24.0
  • google.golang.org/appengine: v1.6.7 β†’ v1.6.8
  • google.golang.org/genproto/googleapis/api: bbf56f3 β†’ a219d84
  • google.golang.org/genproto/googleapis/rpc: 83a465c β†’ 6e1732d
  • google.golang.org/genproto: bbf56f3 β†’ ef43131
  • google.golang.org/grpc: v1.59.0 β†’ v1.62.2
  • google.golang.org/protobuf: v1.33.0 β†’ v1.34.1
  • honnef.co/go/tools: v0.0.1-2020.1.3 β†’ v0.4.5
  • k8s.io/api: v0.29.3 β†’ v0.30.3
  • k8s.io/apiextensions-apiserver: v0.29.3 β†’ v0.30.3
  • k8s.io/apimachinery: v0.29.3 β†’ v0.30.3
  • k8s.io/apiserver: v0.29.3 β†’ v0.30.3
  • k8s.io/cli-runtime: v0.29.3 β†’ v0.30.3
  • k8s.io/client-go: v0.29.3 β†’ v0.30.3
  • k8s.io/cluster-bootstrap: v0.29.3 β†’ v0.30.3
  • k8s.io/code-generator: v0.29.3 β†’ v0.30.3
  • k8s.io/component-base: v0.29.3 β†’ v0.30.3
  • k8s.io/component-helpers: v0.29.3 β†’ v0.30.3
  • k8s.io/gengo: 9cce18d β†’ 485abfe
  • k8s.io/klog/v2: v2.110.1 β†’ v2.120.1
  • k8s.io/kms: v0.29.3 β†’ v0.30.3
  • k8s.io/kube-openapi: 2dd684a β†’ 70dd376
  • k8s.io/kubectl: v0.29.3 β†’ v0.30.3
  • k8s.io/metrics: v0.29.3 β†’ v0.30.3
  • sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.28.0 β†’ v0.30.0
  • sigs.k8s.io/cluster-api: v1.7.1 β†’ v1.8.1
  • sigs.k8s.io/controller-runtime: v0.17.3 β†’ v0.18.5
  • sigs.k8s.io/kustomize/api: v0.17.1 β†’ v0.17.3
  • sigs.k8s.io/kustomize/kyaml: v0.17.0 β†’ v0.17.2

Removed

  • cloud.google.com/go/bigquery: v1.4.0
  • cloud.google.com/go/datastore: v1.1.0
  • cloud.google.com/go/firestore: v1.1.0
  • cloud.google.com/go/pubsub: v1.2.0
  • cloud.google.com/go/storage: v1.6.0
  • dmitri.shuralyov.com/gpu/mtl: 666a987
  • github.com/Azure/go-autorest/autorest/adal: v0.9.5
  • github.com/Azure/go-autorest/autorest/date: v0.3.0
  • github.com/Azure/go-autorest/autorest/mocks: v0.4.1
  • github.com/Azure/go-autorest/autorest: v0.11.12
  • github.com/Azure/go-autorest/logger: v0.2.0
  • github.com/Azure/go-autorest/tracing: v0.6.0
  • github.com/Azure/go-autorest: v14.2.0+incompatible
  • github.com/BurntSushi/xgb: 27f1227
  • github.com/OneOfOne/xxhash: v1.2.2
  • github.com/alecthomas/template: fb15b89
  • github.com/armon/circbuf: bbbad09
  • github.com/armon/go-metrics: f0300d1
  • github.com/armon/go-radix: 7fddfc3
  • github.com/bgentry/speakeasy: v0.1.0
  • github.com/bketelsen/crypt: 5cbc8cc
  • github.com/cespare/xxhash: v1.1.0
  • github.com/cockroachdb/datadriven: 80d97fb
  • github.com/coreos/bbolt: v1.3.2
  • github.com/coreos/etcd: v3.3.13+incompatible
  • github.com/coreos/pkg: 399ea9e
  • github.com/dgrijalva/jwt-go: v3.2.0+incompatible
  • github.com/dgryski/go-sip13: e10d5fe
  • github.com/docopt/docopt-go: ee0de3b
  • github.com/flynn/go-shlex: 3f9db97
  • github.com/form3tech-oss/jwt-go: v3.2.2+incompatible
  • github.com/go-gl/glfw/v3.3/glfw: 6f7a984
  • github.com/go-gl/glfw: e6da0ac
  • github.com/go-kit/kit: v0.9.0
  • github.com/go-stack/stack: v1.8.0
  • github.com/google/martian: v2.1.0+incompatible
  • github.com/google/renameio: v0.1.0
  • github.com/googleapis/gax-go/v2: v2.0.5
  • github.com/gopherjs/gopherjs: 0766667
  • github.com/hashicorp/consul/api: v1.1.0
  • github.com/hashicorp/consul/sdk: v0.1.1
  • github.com/hashicorp/errwrap: v1.0.0
  • github.com/hashicorp/go-cleanhttp: v0.5.1
  • github.com/hashicorp/go-immutable-radix: v1.0.0
  • github.com/hashicorp/go-msgpack: v0.5.3
  • github.com/hashicorp/go-multierror: v1.0.0
  • github.com/hashicorp/go-rootcerts: v1.0.0
  • github.com/hashicorp/go-sockaddr: v1.0.0
  • github.com/hashicorp/go-syslog: v1.0.0
  • github.com/hashicorp/go-uuid: v1.0.1
  • github.com/hashicorp/go.net: v0.0.1
  • github.com/hashicorp/logutils: v1.0.0
  • github.com/hashicorp/mdns: v1.0.0
  • github.com/hashicorp/memberlist: v0.1.3
  • github.com/hashicorp/serf: v0.8.2
  • github.com/jstemmer/go-junit-report: v0.9.1
  • github.com/jtolds/gls: v4.20.0+incompatible
  • github.com/konsorten/go-windows-terminal-sequences: v1.0.3
  • github.com/kr/logfmt: b84e30a
  • github.com/miekg/dns: v1.0.14
  • github.com/mitchellh/cli: v1.0.0
  • github.com/mitchellh/go-homedir: v1.1.0
  • github.com/mitchellh/go-testing-interface: v1.0.0
  • github.com/mitchellh/gox: v0.4.0
  • github.com/mitchellh/iochan: v1.0.0
  • github.com/niemeyer/pretty: a10e7ca
  • github.com/nxadm/tail: v1.4.8
  • github.com/oklog/ulid: v1.3.1
  • github.com/pascaldekloe/goe: 57f6aae
  • github.com/pelletier/go-toml: v1.2.0
  • github.com/posener/complete: v1.1.1
  • github.com/prometheus/tsdb: v0.7.1
  • github.com/ryanuber/columnize: 9b3edd6
  • github.com/sean-/seed: e2103e2
  • github.com/shurcooL/sanitized_anchor_name: v1.0.0
  • github.com/smartystreets/assertions: b2de0cb
  • github.com/smartystreets/goconvey: v1.6.4
  • github.com/spaolacci/murmur3: f09979e
  • github.com/spf13/jwalterweatherman: v1.0.0
  • github.com/urfave/cli: v1.20.0
  • github.com/vmware-tanzu/vm-operator/external/tanzu-topology: de75746
  • go.etcd.io/etcd: dd1b699
  • go.opencensus.io: v0.22.3
  • go.uber.org/atomic: v1.10.0
  • golang.org/x/image: cff245a
  • golang.org/x/mobile: d2bd2a2
  • google.golang.org/api: v0.20.0
  • gopkg.in/alecthomas/kingpin.v2: v2.2.6
  • gopkg.in/cheggaaa/pb.v1: v1.0.25
  • gopkg.in/errgo.v2: v2.1.0
  • gopkg.in/resty.v1: v1.12.0
  • gotest.tools/v3: v3.0.3
  • rsc.io/binaryregexp: v0.2.0
  • rsc.io/quote/v3: v3.1.0
  • rsc.io/sampler: v1.3.0

Thanks to all our contributors! 😊