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

7.10.0 release changelog #930

Merged
merged 6 commits into from
Nov 23, 2020
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
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