From 79c1b87f8267ded107a6f55a08444b4184cc40fa Mon Sep 17 00:00:00 2001 From: Matt Schallert Date: Wed, 17 Aug 2022 13:57:48 -0700 Subject: [PATCH] [release] Prep 0.14.0 release (#326) --- CHANGELOG.md | 95 ++++++++++++++++++++++++++++++++++ README.md | 4 +- bundle.yaml | 2 +- helm/m3db-operator/Chart.yaml | 2 +- helm/m3db-operator/values.yaml | 2 +- 5 files changed, 100 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d72c3c37..821f9e97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,64 @@ # Changelog +## 0.14.0 + +0.14.0 is a significant release, making the operator compatible with Kubernetes 1.22. Other notable features include +supporting batch node adds and removals to speed up cluster membership changes. + +### Breaking Changes + +As of this release, the operator no longer installs its own CRD. You must install the CRD manifest from this repo, which +includes a schema and is compatible with Kubernetes 1.22 by using `v1` of the CRD API. + +The upgrade steps are as follows: + +1. Change your existing operator deployment to set `-manage-crd=false` as a flag to the operator container. This will + ensure that the old operator will not overwrite the CRD if it restarts after the new CRD is applied. +2. Modify the YAML definition of the new CRD to set `spec.preserveUnknownFields=false`. This is required if upgrading an + older CRD that was created without a schema. +3. Apply the new CRD. +4. Upgrade the operator image to `0.14.0`. You'll have to remove the `-manage-crd=false` flag, as it is no longer + supported by the operator. + +Change set: + +* [API] Ensure schema has embedded metadata fields ([#328][328]) +* [FEATURE] Fix progress annotations on cluster expansion/shrinking ([#324][324]) +* [API] schema: extendedOptions as untyped object ([#327][327]) +* [FEATURE] [*] Make operator compatible with Kubernetes 1.22 ([#325][325]) +* [MISC] Update go version to 1.18 ([#322][322]) +* [ENHANCEMENT] prevent scaling down to 0 instances ([#316][316]) +* [FEATURE] batch node removal ([#314][314]) +* [MISC] use 8 sha length for docker tag ([#315][315]) +* [ENHANCEMENT] move to batch placement remove API ([#312][312]) +* [ENHANCEMENT] upgrade m3 version ([#311][311]) +* [MISC] regenerate mocks ([#313][313]) +* [MISC] [ci] Set PUSH_SHA_TAG env var to true ([#308][308]) +* [MISC] Update ci submodule ([#307][307]) +* [MISC] Use golang:1.16-alpine3.13 as build image ([#306][306]) +* [ENHANCEMENT] Updating API to use k8s v1.23 compatible api groups ([#302][302]) +* [MISC] [deps] Update k8s.io/kube-openapi dependency ([#304][304]) +* [MISC] Update to Go 1.16 ([#305][305]) +* [ENHANCEMENT] Update kubernetes client to v0.21.1 ([#301][301]) +* [DOCS] [docs] Fix redirect syntax ([#300][300]) +* [DOCS] [site] Add netlify redirect to main docs site ([#297][297]) +* [FEATURE] [api] Allow blocking cluster scale down ([#294][294]) +* [ENHANCEMENT] [controller] Include namespace with logs ([#291][291]) +* [ENHANCEMENT] [m3admin-client] Incorporate zone into client cache ([#290][290]) +* [ENHANCEMENT] [m3admin-client] Set zone header based on cluster spec ([#289][289]) +* [MISC] [build] Use --short in GITSHA calculation ([#288][288]) +* [ENHANCEMENT] [placement] Allow zone to be overridden ([#287][287]) +* [ENHANCEMENT] [k8sops] Remove liveness probes from DB ([#286][286]) +* [BUGFIX] Backwards compatibility when using the original update annoation with an OnDelete update strategy ([#284][284]) +* [FEATURE] Add support for parallel node updates within a statefulset ([#283][283]) +* [FEATURE] Support namespace ExtendedOptions in cluster spec ([#282][282]) +* [FEATURE] [controller] Support multi instance placement add ([#275][275]) +* [ENHANCEMENT] [gomod] Update M3DB dependency ([#277][277]) +* [BUGFIX] [cmd] Fix instrument package name ([#280][280]) +* [MISC] [ci] Switch to golangci-lint ([#279][279]) +* [MISC] [ci] Update kind; fix node image ([#276][276]) +* [DOCS] Fix autogenerated ToC ([#274][274]) + ## 0.13.0 0.13.0 adds support for pod anti-affinity. It also fixes a bug in StatefulSet updates caused by making decisions about @@ -337,3 +396,39 @@ If using a custom configmap, this same change will require a modification to you [261]: https://github.com/m3db/m3db-operator/pull/261 [266]: https://github.com/m3db/m3db-operator/pull/266 [271]: https://github.com/m3db/m3db-operator/pull/271 +[274]: https://github.com/m3db/m3db-operator/pull/274 +[275]: https://github.com/m3db/m3db-operator/pull/275 +[276]: https://github.com/m3db/m3db-operator/pull/276 +[277]: https://github.com/m3db/m3db-operator/pull/277 +[279]: https://github.com/m3db/m3db-operator/pull/279 +[280]: https://github.com/m3db/m3db-operator/pull/280 +[282]: https://github.com/m3db/m3db-operator/pull/282 +[283]: https://github.com/m3db/m3db-operator/pull/283 +[284]: https://github.com/m3db/m3db-operator/pull/284 +[286]: https://github.com/m3db/m3db-operator/pull/286 +[287]: https://github.com/m3db/m3db-operator/pull/287 +[288]: https://github.com/m3db/m3db-operator/pull/288 +[289]: https://github.com/m3db/m3db-operator/pull/289 +[290]: https://github.com/m3db/m3db-operator/pull/290 +[291]: https://github.com/m3db/m3db-operator/pull/291 +[294]: https://github.com/m3db/m3db-operator/pull/294 +[297]: https://github.com/m3db/m3db-operator/pull/297 +[300]: https://github.com/m3db/m3db-operator/pull/300 +[301]: https://github.com/m3db/m3db-operator/pull/301 +[302]: https://github.com/m3db/m3db-operator/pull/302 +[304]: https://github.com/m3db/m3db-operator/pull/304 +[305]: https://github.com/m3db/m3db-operator/pull/305 +[306]: https://github.com/m3db/m3db-operator/pull/306 +[307]: https://github.com/m3db/m3db-operator/pull/307 +[308]: https://github.com/m3db/m3db-operator/pull/308 +[311]: https://github.com/m3db/m3db-operator/pull/311 +[312]: https://github.com/m3db/m3db-operator/pull/312 +[313]: https://github.com/m3db/m3db-operator/pull/313 +[314]: https://github.com/m3db/m3db-operator/pull/314 +[315]: https://github.com/m3db/m3db-operator/pull/315 +[316]: https://github.com/m3db/m3db-operator/pull/316 +[322]: https://github.com/m3db/m3db-operator/pull/322 +[325]: https://github.com/m3db/m3db-operator/pull/325 +[324]: https://github.com/m3db/m3db-operator/pull/324 +[327]: https://github.com/m3db/m3db-operator/pull/327 +[328]: https://github.com/m3db/m3db-operator/pull/328 diff --git a/README.md b/README.md index 586fc1e4..e624b49c 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,9 @@ Members of the M3 team hold office hours on the third Thursday of every month fr ### Dependencies -The M3 operator targets Kubernetes **1.11** and **1.12**. We aim to target the latest two minor versions supported by GKE but welcome community contributions to support more versions +The M3 operator targets Kubernetes **1.21** and higher. We aim to target the latest two minor versions supported by GKE but welcome community contributions to support more versions. -The M3 operator is intended for creating highly available clusters across distinct failure domains. For this reason it only support Kubernetes clusters with nodes **in at least 3 zones**, but [support][https://github.com/m3db/m3db-operator/issues/68] for zonal clusters is coming soon. +The M3 operator is intended for creating highly available clusters across distinct failure domains. For this reason it only support Kubernetes clusters with nodes **in at least 3 zones**. ## Usage diff --git a/bundle.yaml b/bundle.yaml index 154d5404..6118ad82 100644 --- a/bundle.yaml +++ b/bundle.yaml @@ -6784,7 +6784,7 @@ spec: runAsGroup: 65534 containers: - name: m3db-operator - image: quay.io/m3db/m3db-operator:v0.13.0 + image: quay.io/m3db/m3db-operator:v0.14.0 command: - m3db-operator imagePullPolicy: Always diff --git a/helm/m3db-operator/Chart.yaml b/helm/m3db-operator/Chart.yaml index 2ab4affd..f3530844 100644 --- a/helm/m3db-operator/Chart.yaml +++ b/helm/m3db-operator/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: m3db-operator -version: 0.13.0 +version: 0.14.0 # TODO(PS) - helm has issues with GKE's SemVer # Error: Chart requires kubernetesVersion: >=1.10.6 which is incompatible with Kubernetes v1.10.7-gke.2 # diff --git a/helm/m3db-operator/values.yaml b/helm/m3db-operator/values.yaml index e38a50d4..b0b6448f 100644 --- a/helm/m3db-operator/values.yaml +++ b/helm/m3db-operator/values.yaml @@ -2,5 +2,5 @@ operator: name: m3db-operator image: repository: quay.io/m3db/m3db-operator - tag: v0.13.0 + tag: v0.14.0 environment: production