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

7x helm 3 #901

Closed
wants to merge 99 commits into from
Closed

7x helm 3 #901

wants to merge 99 commits into from

Conversation

jmlrt
Copy link
Member

@jmlrt jmlrt commented Nov 17, 2020

mgreau and others added 30 commits April 9, 2020 16:55
We are starting using a git branching model like the Elastic Stack projects. 

This commit makes sure this `7.7` branch is using the 7.7.x-SNAPSHOT Docker images and  this branch will be used for the development and release processes  for the Helm Charts 7.7.x
The cluster names created for running tests can't contain the `.`
character which is part of the branch name.
For doing the integration tests some GKE clusters are created. There is
a dedicated job to cleanup these clusters at the end of the tests.
This commit fixes the Jenkins configuration to make sure this upstream
job (which does not need parameter) is triggered.
This commit updates the remaining links to GitHub and Jenkins which
had `master` as the branch name to 7.7
[helm] bump helm version to 2.16.6
* [script] Update bumper script to handle SNAPSHOT versions

This commit updates the `bumper.py` script to handle the
workflows for updating the versions to test staging artifacts
and before a release, for example:

- update 7.7.0-SNAPSHOT to 7.7.0 before tagging a release, by running
  `env BUMPER_VERSION_7="7.7.0" ./helpers/bumper.py`
- update 7.7.0-SNAPHSHOT to 7.7.0-abcdefgh for testing staging artifacts
by running:
  `env BUMPER_VERSION_7="7.7.0-abcdefgh" BUMPER_USE_STAGING_IMAGES="true" ./helpers/bumper.py`

For now this script do not handle the bump from 7.7.0 to 7.7.1-SNAPSHOT
for the next developement iteration after a release. In the meantime
this update should be done manually.
…c#582)

The multijob configuration for testing staging 7.7 artifacts was
referencing jobs from another branch. This commit makes sure the
configured jobs are all from the same git branch.
…ndom-key

Use busybox for key generation in testing
[metricbeat] split values for daemonset and deployment
[elasticsearch] Adds imagePullSecrets for test Pod
[elasticsearch] Set securityContext for test pod
Update defaults for extra values to support lists
[elasticsearch] update readiness probe endpoint
Added support for envFrom in apm-server, logstash, kibana and elasticsearch
[logstash] update doc and values.yaml for http.host issues
Doc improvements

- Reformat all `README.md` files
  - Fix typos and missing syntaxes)
  - Use Markdown implicit link names
  - Sort values in configuration tables
  - Limit lines to 80 characters (except for code blocks and tables)
  - Add table of content
- Fix default values descriptions
- Move testing instructions to `CONTRIBUTING.md` doc
- Move breaking changes notices to `BREAKING_CHANGES.md` doc
FAQ and examples improvements (elastic#598)

- Add missing section in contributing guide
- Add note about ECK
- Add more FAQ topics
- Document all examples
- NIT: fixes typos...
This commit initiates the 6.8 branch which will be dedicated to the 7.x.x releases for the Helm Charts. It will allow to:

- test this branch with the daily Stack Docker images 7.8.0-SNAPSHOT via dedicated Jenkins jobs
- test the staging 7.8.x Docker images before a release

This branch is based on https://github.com/elastic/helm-charts/tree/7.7/ which was initiated in elastic#541.

Also related to elastic#602.
…c.selector.matchLabels (elastic#622)

This fix metricbeat chart upgrades when .Chart.Version change.

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

See helm/charts#7680 for more details
SlavaSubotskiy and others added 27 commits August 27, 2020 11:45
Co-authored-by: Julien Mailleret <8582351+jmlrt@users.noreply.github.com>
Co-authored-by: Julien Mailleret <8582351+jmlrt@users.noreply.github.com>
Co-authored-by: Julien Mailleret <8582351+jmlrt@users.noreply.github.com>
Kubernetes doesn't accept `_` characters in resources names.
This commit fix the secrets names in the examples we provide by
replacing `_` by `-`which Kubernetes is accepting.

Source: helm/helm#6477
This PR disable nss dentry cache for Elasticsearch and Kibana
readinessProbe.

On affected system (nss < 3.52), the curl commands used by
readinessProbe are filling dentry cache which is observed in some
cases to be never reclaimed.

Elasticsearch and Kibana Docker images are based on CentOS 7 which
is using nss-3.44.0-7.el7_7.x86_64 and are affected by this bug.

This PR disable nss dentry cache in readinessProbe as a
workaround.
* [metricbeat] support deployment/daemonset specific metrics
* chore: rename test_adding_legacy_labels to test_adding_deprecated_labels
Co-authored-by: Julien Mailleret <8582351+jmlrt@users.noreply.github.com>
This commit fix an issue introduced in 8ed75a9 where helm
install/upgrade is failing if a NodePort service is defined (see [0] for
more details).

Logstash headless service used to manage Statefulset does not anymore include
`.Values.service.ports` and include only Logstash httpPort.

This is done because headless service `ports` doesn't accept `nodePort`
values that can be included in `.Values.service.ports` when adding a
NodePort service.

[0]: elastic#807
If for daemonset/deployment is not enabled, dont generate useless config YAML.
* Streamline charts README doc
This commit add a coordinator node group to elasticsearch multi test.
This also add ml and remote_cluster_client roles to default values.
- Bump Helm version used in tests from 2.16.2 to 2.17.0
- Add CI tests on GKE 1.17
…c#882)

This commit update metricbeat chart dependencies to get
kube-state-metrics subchart from the newly relocated stable repo url
(https://charts.helm.sh/stable).

This is required because the legacy stable repo url will not work
anymore starting November 13th.

More details in https://helm.sh/blog/new-location-stable-incubator-charts/
This commit updates Kubernetes [rbac.authorization.k8s.io][0] api from
v1beta1 in apm-server, filebeat and metricbeat charts.

- `rbac.authorization.k8s.io/v1` has been released in Kubernetes 1.8
- `rbac.authorization.k8s.io/v1beta1` is being deprecated in Kubernetes
1.17 and will be fully removed in 1.22

In addition, this is required for Helm 3 support to make
`helm lint --strict` happy.

[0]: https://kubernetes.io/docs/reference/access-authn-authz/rbac/
This commit increase the timeout for helm upgrade commands examples to
avoid timeout error when deploying all example releases in // in helm
test gke cluster.
* bump helm version to helm 3.4.1
* update doc to make helm 3 the recommended version
* update helm commands arguments for helm 3
* remove helm init and tiller install commands
* add stable repo for metricbeat dependencies
* remove the charts dance in helmignore (related to elastic#127)
* optimize docker images
* replace deprecated gitversion capability (related to helm/helm#5601)
* remove some heritage labels in immutable fields
@jmlrt jmlrt added the meta label Nov 17, 2020
@jmlrt
Copy link
Member Author

jmlrt commented Nov 17, 2020

wrong target branch

@jmlrt jmlrt closed this Nov 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.