Skip to content
This repository has been archived by the owner on May 16, 2023. It is now read-only.

Commit

Permalink
7.10.0 release changelog (#930)
Browse files Browse the repository at this point in the history
Co-authored-by: Nassim Kammah <[email protected]>
Co-authored-by: Julien Mailleret <[email protected]>
  • Loading branch information
3 people authored Nov 23, 2020
1 parent 2c9fceb commit d201580
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 13 deletions.
90 changes: 89 additions & 1 deletion BREAKING_CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->


- [7.10.0](#7100)
- [Migration to Helm 3](#migration-to-helm-3)
- [Metricbeat upgrade](#metricbeat-upgrade)
- [Elasticsearch upgrade with persistence.labels.enabled](#elasticsearch-upgrade-with-persistencelabelsenabled)
- [Rendered manifests contain a resource that already exists error](#rendered-manifests-contain-a-resource-that-already-exists-error)
- [7.9.3 - 2020/10/22](#793---20201022)
- [Fix Logstash headless Service (end)](#fix-logstash-headless-service-end)
- [6.8.13 - 2020/10/22](#6813---20201022)
Expand Down Expand Up @@ -39,6 +44,87 @@
<!-- Use this to update TOC: -->
<!-- docker run --rm -it -v $(pwd):/usr/src jorgeandrada/doctoc --github -->

## 7.10.0

### Migration to Helm 3

Starting from the 7.10.0 release, Helm 3 is fully supported in Elastic Helm charts
and Helm 2 is deprecated.

In most cases, [Helm 2to3][] can be used to migrate from previous charts
releases deployed with Helm 2:

```shell
# Install Helm 3

# Install 2to3 plugin
helm plugin install https://github.com/helm/helm-2to3.git

# Migrate Helm 2 local config
helm3 2to3 move config

# Migrate Helm 2 releases
helm3 2to3 convert <release-name>

# Upgrade to 7.10.0
helm upgrade <release-name> elastic/<chart-name> --version 7.10.0

# Cleanup Helm 2 datas
helm3 2to3 cleanup
```

Migration to Helm 3 with 7.10.0 charts release should work smoothly for the
following charts.

- apm-server >= 7.6.0
- elasticsearch >= 7.4.0 (except when `persistence.labels.enabled` is true)
- filebeat >= 7.9.0
- kibana >= 7.4.0
- logstash >= 7.9.0

#### Metricbeat upgrade

Metricbeat 7.10.0 introduce a breaking change in [#516][] to make it compatible
with Helm 3.

The removing of some `heritage` labels in Metricbeat deployment make upgrade
fail with the following error:

```
UPGRADE FAILED
Error: Deployment.apps "mb-metricbeat-metrics" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"mb-metricbeat-metrics", "release":"mb"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
Error: UPGRADE FAILED: Deployment.apps "mb-metricbeat-metrics" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"mb-metricbeat-metrics", "release":"mb"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
```

Unfortunately using `helm upgrade --force` with Helm 3 is not enough. This chart
will need to be uninstalled and re-installed.

#### Elasticsearch upgrade with persistence.labels.enabled

If you are using `persistence.labels.enabled=true` with Elasticsearch, upgrade
will fail even with `--force`.

You'll need to deploy a new release with the same `clusterName` using Helm 3,
migrate your data, then remove the old release.

#### Rendered manifests contain a resource that already exists error

We experimented some `rendered manifests contain a resource that already exists`
errors with some charts upgrade, mostly for charts deploying `ClusterRole` and
`ClusterRoleBinding`resources.

Helm 3 is automatically adding some new annotations (`meta.helm.sh/release-name`
and `meta.helm.sh/release-namespace`) and labels (`app.kubernetes.io/managed-by`)
to the charts resources during upgrade. However it sometimes fail to add the annotations with the below error:

```
Error: UPGRADE FAILED: rendered manifests contain a resource that already exists. Unable to continue with update: ClusterRole "apm-apm-server-cluster-role" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "apm"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "default"
```

The workaround is to manually add these annotations and labels to the existing failing resources
using `kubectl edit` for example, then relaunch the upgrade command.


## 7.9.3 - 2020/10/22

### Fix Logstash headless Service (end)
Expand All @@ -57,7 +143,7 @@ See [7.9.3 - 2020/10/22](#793---20201022) and [7.9.1 - 2020/09/03](#791---202009
### Fix Logstash headless Service

[#776][] fixed an issue with headless `Service` when using `extraPorts` value
(see [Add headless Service for StatefulSet](#add-headless-service-for-statefulset)
(see [Add headless Service for StatefulSet](#add-headless-service-for-statefulset)
for more details). Unfortunately, it introduced a new bug when using a `NodePort`
`Service` ([#807][]). This is fixed by [#839][] in 7.9.3 (and 6.8.13).

Expand Down Expand Up @@ -290,6 +376,7 @@ volumeClaimTemplate:
[#352]: https://github.com/elastic/helm-charts/pull/352
[#437]: https://github.com/elastic/helm-charts/pull/437
[#458]: https://github.com/elastic/helm-charts/pull/458
[#516]: https://github.com/elastic/helm/pull/516
[#540]: https://github.com/elastic/helm-charts/pull/540
[#568]: https://github.com/elastic/helm-charts/pull/568
[#572]: https://github.com/elastic/helm-charts/pull/572
Expand All @@ -307,6 +394,7 @@ volumeClaimTemplate:
[elastic elasticsearch chart]: https://github.com/elastic/helm-charts/tree/master/elasticsearch
[elastic helm repo]: https://helm.elastic.co
[github releases]: https://github.com/elastic/helm-charts/releases
[helm 2to3]: https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/
[migration guide]: https://github.com/elastic/helm-charts/blob/master/elasticsearch/examples/migration/README.md
[new branching model]: https://github.com/elastic/helm-charts/blob/master/CONTRIBUTING.md#branching
[kube-state-metrics]: https://github.com/helm/charts/tree/master/stable/kube-state-metrics
Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## 7.10.0

* 7.10.0 as default version.


| PR | Author | Title |
| --- | --- | --- |
| [#927](https://github.com/elastic/helm-charts/pull/927) | [@jmlrt](https://github.com/jmlrt) | [meta] Remove version from dev install section title |
| [#922](https://github.com/elastic/helm-charts/pull/922) | [@jmlrt](https://github.com/jmlrt) | [meta] Remove support for k8s <1.14 & helm <2.17.0 (#916) [7.10] |
| [#919](https://github.com/elastic/helm-charts/pull/919) | [@jmlrt](https://github.com/jmlrt) | [meta] Upgrade test (#907) [7.10] |
| [#914](https://github.com/elastic/helm-charts/pull/914) | [@jmlrt](https://github.com/jmlrt) | [meta] Initiate 7.10 branch |
| [#897](https://github.com/elastic/helm-charts/pull/897) | [@cospeedster](https://github.com/cospeedster) | [elasticsearch] Fix spelling |
| [#911](https://github.com/elastic/helm-charts/pull/911) | [@jmlrt](https://github.com/jmlrt) | [elasticsearch] Update test hook annotations |
| [#910](https://github.com/elastic/helm-charts/pull/910) | [@jmlrt](https://github.com/jmlrt) | [meta] Add link to eck chart doc |
| [#902](https://github.com/elastic/helm-charts/pull/902) | [@jmlrt](https://github.com/jmlrt) | [meta] Helm 3 (#516) |
| [#891](https://github.com/elastic/helm-charts/pull/891) | [@jmlrt](https://github.com/jmlrt) | [meta] Increase helm timeout |
| [#890](https://github.com/elastic/helm-charts/pull/890) | [@jmlrt](https://github.com/jmlrt) | [meta] Update rbac.authorization.k8s.io api |
| [#887](https://github.com/elastic/helm-charts/pull/887) | [@nkammah](https://github.com/nkammah) | [meta] Add warning comment placeholder (7.x branch) |
| [#882](https://github.com/elastic/helm-charts/pull/882) | [@jmlrt](https://github.com/jmlrt) | [metricbeat] Use relocated stable repo for kube-state-metrics |
| [#880](https://github.com/elastic/helm-charts/pull/880) | [@jmlrt](https://github.com/jmlrt) | [meta] Add support for helm 2.17.0 and k8s 1.17 |
| [#854](https://github.com/elastic/helm-charts/pull/854) | [@jmlrt](https://github.com/jmlrt) | [elasticsearch] Add coordinator node to multi test |
| [#860](https://github.com/elastic/helm-charts/pull/860) | [@nkammah](https://github.com/nkammah) | [meta] Simplify doc in 7.x branch |


## 7.9.3

* 7.9.3 as default version.
Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ versions.

| Chart | Docker documentation | Latest 7 Version | Latest 6 Version |
|--------------------------------------------|---------------------------------------------------------------------------------|----------------------------|-----------------------------|
| [APM-Server](./apm-server/README.md) | https://www.elastic.co/guide/en/apm/server/current/running-on-docker.html | [`7.9.3`][apm-7] | [`6.8.13`][apm-6] |
| [Elasticsearch](./elasticsearch/README.md) | https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html | [`7.9.3`][elasticsearch-7] | [`6.8.13`][elasticsearch-6] |
| [Filebeat](./filebeat/README.md) | https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html | [`7.9.3`][filebeat-7] | [`6.8.13`][filebeat-6] |
| [Kibana](./kibana/README.md) | https://www.elastic.co/guide/en/kibana/current/docker.html | [`7.9.3`][kibana-7] | [`6.8.13`][kibana-6] |
| [Logstash](./logstash/README.md) | https://www.elastic.co/guide/en/logstash/current/docker.html | [`7.9.3`][logstash-7] | [`6.8.13`][logstash-6] |
| [Metricbeat](./metricbeat/README.md) | https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html | [`7.9.3`][metricbeat-7] | [`6.8.13`][metricbeat-6] |
| [APM-Server](./apm-server/README.md) | https://www.elastic.co/guide/en/apm/server/current/running-on-docker.html | [`7.10.0`][apm-7] | [`6.8.13`][apm-6] |
| [Elasticsearch](./elasticsearch/README.md) | https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html | [`7.10.0`][elasticsearch-7] | [`6.8.13`][elasticsearch-6] |
| [Filebeat](./filebeat/README.md) | https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html | [`7.10.0`][filebeat-7] | [`6.8.13`][filebeat-6] |
| [Kibana](./kibana/README.md) | https://www.elastic.co/guide/en/kibana/current/docker.html | [`7.10.0`][kibana-7] | [`6.8.13`][kibana-6] |
| [Logstash](./logstash/README.md) | https://www.elastic.co/guide/en/logstash/current/docker.html | [`7.10.0`][logstash-7] | [`6.8.13`][logstash-6] |
| [Metricbeat](./metricbeat/README.md) | https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html | [`7.10.0`][metricbeat-7] | [`6.8.13`][metricbeat-6] |

## Supported Configurations

Expand Down Expand Up @@ -98,15 +98,15 @@ Kubernetes. There is a dedicated Helm chart for ECK which can be found
[helpers/matrix.yml]: https://github.com/elastic/helm-charts/blob/master/helpers/matrix.yml
[operator pattern]: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
[elasticsearch-771]: https://github.com/elastic/helm-charts/tree/7.7.1/elasticsearch/
[apm-7]: https://github.com/elastic/helm-charts/tree/7.9.3/apm-server/README.md
[apm-7]: https://github.com/elastic/helm-charts/tree/7.10.0/apm-server/README.md
[apm-6]: https://github.com/elastic/helm-charts/tree/6.8.13/apm-server/README.md
[elasticsearch-7]: https://github.com/elastic/helm-charts/tree/7.9.3/elasticsearch/README.md
[elasticsearch-7]: https://github.com/elastic/helm-charts/tree/7.10.0/elasticsearch/README.md
[elasticsearch-6]: https://github.com/elastic/helm-charts/tree/6.8.13/elasticsearch/README.md
[filebeat-7]: https://github.com/elastic/helm-charts/tree/7.9.3/filebeat/README.md
[filebeat-7]: https://github.com/elastic/helm-charts/tree/7.10.0/filebeat/README.md
[filebeat-6]: https://github.com/elastic/helm-charts/tree/6.8.13/filebeat/README.md
[kibana-7]: https://github.com/elastic/helm-charts/tree/7.9.3/kibana/README.md
[kibana-7]: https://github.com/elastic/helm-charts/tree/7.10.0/kibana/README.md
[kibana-6]: https://github.com/elastic/helm-charts/tree/6.8.13/kibana/README.md
[logstash-7]: https://github.com/elastic/helm-charts/tree/7.9.3/logstash/README.md
[logstash-7]: https://github.com/elastic/helm-charts/tree/7.10.0/logstash/README.md
[logstash-6]: https://github.com/elastic/helm-charts/tree/6.8.13/logstash/README.md
[metricbeat-7]: https://github.com/elastic/helm-charts/tree/7.9.3/metricbeat/README.md
[metricbeat-7]: https://github.com/elastic/helm-charts/tree/7.10.0/metricbeat/README.md
[metricbeat-6]: https://github.com/elastic/helm-charts/tree/6.8.13/metricbeat/README.md

0 comments on commit d201580

Please sign in to comment.