From ddb7a82f934421f811ac1ac27d975d473c48d7ee Mon Sep 17 00:00:00 2001 From: jmlrt <8582351+jmlrt@users.noreply.github.com> Date: Mon, 12 Sep 2022 14:27:44 +0200 Subject: [PATCH 1/4] [kibana] update the upgrade test --- kibana/examples/upgrade/Makefile | 3 +-- kibana/examples/upgrade/values.yaml | 5 ++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/kibana/examples/upgrade/Makefile b/kibana/examples/upgrade/Makefile index 988c56c00..b28745b60 100644 --- a/kibana/examples/upgrade/Makefile +++ b/kibana/examples/upgrade/Makefile @@ -4,8 +4,7 @@ include ../../../helpers/examples.mk CHART := kibana RELEASE := helm-kibana-upgrade -FROM := 7.4.0 # versions before 7.4.O aren't compatible with Kubernetes >= 1.16.0 -TO := 7.10.0 # required to use with Elasticsearch 7.10.0 +FROM := 7.17.1 # same version as Elasticsearch chart install: ../../../helpers/upgrade.sh --chart $(CHART) --release $(RELEASE) --from $(FROM) --to $(TO) diff --git a/kibana/examples/upgrade/values.yaml b/kibana/examples/upgrade/values.yaml index 01d99c838..c94cf3272 100644 --- a/kibana/examples/upgrade/values.yaml +++ b/kibana/examples/upgrade/values.yaml @@ -1,2 +1,5 @@ --- -elasticsearchHosts: "http://upgrade-master:9200" +elasticsearchHosts: "https://upgrade-master:9200" +elasticsearchCertificateSecret: upgrade-master-certs +elasticsearchCertificateAuthoritiesFile: ca.crt +elasticsearchCredentialSecret: upgrade-master-credentials From 2f095a6a44fe56a8e139816f5e72eea64741363a Mon Sep 17 00:00:00 2001 From: jmlrt <8582351+jmlrt@users.noreply.github.com> Date: Tue, 13 Sep 2022 15:54:36 +0200 Subject: [PATCH 2/4] fix upgrade --- kibana/templates/job.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kibana/templates/job.yaml b/kibana/templates/job.yaml index 755c0156c..4bf011f1e 100644 --- a/kibana/templates/job.yaml +++ b/kibana/templates/job.yaml @@ -4,7 +4,7 @@ metadata: name: {{ template "kibana.fullname" . }}-post-delete labels: {{ include "kibana.labels" . | nindent 4 }} annotations: - "helm.sh/hook": post-delete,post-upgrade + "helm.sh/hook": post-delete "helm.sh/hook-delete-policy": hook-succeeded {{- if .Values.annotations }} {{- range $key, $value := .Values.annotations }} @@ -22,7 +22,6 @@ spec: imagePullPolicy: "{{ .Values.imagePullPolicy }}" command: ["curl"] args: - - --fail - -XDELETE - --cacert - {{ template "kibana.home_dir" . }}/config/certs/{{ .Values.elasticsearchCertificateAuthoritiesFile }} From 7f4b01c1222a9790bae160b62ded739b94193d55 Mon Sep 17 00:00:00 2001 From: jmlrt <8582351+jmlrt@users.noreply.github.com> Date: Tue, 13 Sep 2022 16:42:39 +0200 Subject: [PATCH 3/4] end to end test --- kibana/examples/upgrade/Makefile | 27 +++++++++++++++++++++----- kibana/examples/upgrade/test/goss.yaml | 6 ++++-- kibana/examples/upgrade/values.yaml | 6 +++--- 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/kibana/examples/upgrade/Makefile b/kibana/examples/upgrade/Makefile index b28745b60..dcba4c094 100644 --- a/kibana/examples/upgrade/Makefile +++ b/kibana/examples/upgrade/Makefile @@ -3,14 +3,31 @@ default: test include ../../../helpers/examples.mk CHART := kibana -RELEASE := helm-kibana-upgrade -FROM := 7.17.1 # same version as Elasticsearch chart +ES_CLUSTER := kibana-upgrade +ES_RELEASE := helm-kibana-upgrade-es +RELEASE := helm-kibana-upgrade-kb +FROM := 7.17.1 -install: - ../../../helpers/upgrade.sh --chart $(CHART) --release $(RELEASE) --from $(FROM) --to $(TO) +install-es: + helm install $(ES_RELEASE) elastic/elasticsearch --wait --version $(FROM) --set clusterName=$(ES_CLUSTER) + +install-kb: + helm install $(RELEASE) elastic/kibana --wait --version $(FROM) --set elasticsearchHosts="http://$(ES_CLUSTER)-master:9200" + +upgrade-es: + helm upgrade $(ES_RELEASE) ../../../elasticsearch/ --wait --set clusterName=$(ES_CLUSTER) --set updateStrategy=OnDelete + # Rollout ES pods + kubectl delete pod --selector=app=$(ES_CLUSTER)-master + +upgrade-kb: + helm upgrade $(RELEASE) ../../ --wait --values values.yaml kubectl rollout status deployment $(RELEASE)-kibana +install: install-es install-kb upgrade-es upgrade-kb + test: install goss purge: - helm del $(RELEASE) + helm delete $(RELEASE) + helm delete $(ES_RELEASE) + kubectl delete $$(kubectl get pvc -o name | grep $(ES_CLUSTER)) diff --git a/kibana/examples/upgrade/test/goss.yaml b/kibana/examples/upgrade/test/goss.yaml index 5b3a1b28a..ad8364268 100644 --- a/kibana/examples/upgrade/test/goss.yaml +++ b/kibana/examples/upgrade/test/goss.yaml @@ -2,13 +2,15 @@ http: http://localhost:5601/api/status: status: 200 timeout: 2000 + request-headers: + - "Authorization: Bearer {{ .Env.ELASTICSEARCH_SERVICEACCOUNTTOKEN}}" body: - - '"number":"7.10.0"' + - '"number":"8.4.1"' http://localhost:5601/app/kibana: status: 200 timeout: 2000 - http://helm-kibana-upgrade-kibana:5601/app/kibana: + http://helm-kibana-upgrade-kb-kibana:5601/app/kibana: status: 200 timeout: 2000 diff --git a/kibana/examples/upgrade/values.yaml b/kibana/examples/upgrade/values.yaml index c94cf3272..04804fc04 100644 --- a/kibana/examples/upgrade/values.yaml +++ b/kibana/examples/upgrade/values.yaml @@ -1,5 +1,5 @@ --- -elasticsearchHosts: "https://upgrade-master:9200" -elasticsearchCertificateSecret: upgrade-master-certs +elasticsearchHosts: "https://kibana-upgrade-master:9200" +elasticsearchCertificateSecret: kibana-upgrade-master-certs elasticsearchCertificateAuthoritiesFile: ca.crt -elasticsearchCredentialSecret: upgrade-master-credentials +elasticsearchCredentialSecret: kibana-upgrade-master-credentials From af6b2ae8fc90ca7ec0b5eade2a9f69317259d377 Mon Sep 17 00:00:00 2001 From: jmlrt <8582351+jmlrt@users.noreply.github.com> Date: Tue, 13 Sep 2022 17:20:02 +0200 Subject: [PATCH 4/4] add elastic repo --- kibana/examples/upgrade/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kibana/examples/upgrade/Makefile b/kibana/examples/upgrade/Makefile index dcba4c094..882a3e289 100644 --- a/kibana/examples/upgrade/Makefile +++ b/kibana/examples/upgrade/Makefile @@ -8,6 +8,9 @@ ES_RELEASE := helm-kibana-upgrade-es RELEASE := helm-kibana-upgrade-kb FROM := 7.17.1 +repo: + helm repo add elastic https://helm.elastic.co + install-es: helm install $(ES_RELEASE) elastic/elasticsearch --wait --version $(FROM) --set clusterName=$(ES_CLUSTER) @@ -23,7 +26,7 @@ upgrade-kb: helm upgrade $(RELEASE) ../../ --wait --values values.yaml kubectl rollout status deployment $(RELEASE)-kibana -install: install-es install-kb upgrade-es upgrade-kb +install: repo install-es install-kb upgrade-es upgrade-kb test: install goss