From f360201920401d526213e1ddd2f128891d956de8 Mon Sep 17 00:00:00 2001 From: Aaron Sheffield Date: Thu, 5 Apr 2018 09:29:54 -0500 Subject: [PATCH] Added basic Promenade Helm Test - Added a Helm test for Promenade that calls the health check api. Change-Id: Ic7ac7f35e20c920d1b2635dce01da2b559db036d --- .../templates/tests/test-promenade-api.yaml | 37 +++++++++++++++++++ charts/promenade/values.yaml | 9 +++++ 2 files changed, 46 insertions(+) create mode 100644 charts/promenade/templates/tests/test-promenade-api.yaml diff --git a/charts/promenade/templates/tests/test-promenade-api.yaml b/charts/promenade/templates/tests/test-promenade-api.yaml new file mode 100644 index 00000000..6791f66e --- /dev/null +++ b/charts/promenade/templates/tests/test-promenade-api.yaml @@ -0,0 +1,37 @@ +{{/* +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. */}} +{{/* +Test that the API is up and the health endpoint returns a 2XX code */}} +{{- if .Values.manifests.test_promenade_api }} +--- +apiVersion: v1 +kind: Pod +metadata: + name: "{{ .Release.Name }}-api-test" + annotations: + "helm.sh/hook": "test-success" +spec: + restartPolicy: Never + containers: + - name: "{{ .Release.Name }}-api-test" + env: + - name: 'PROM_URL' + value: {{ tuple "kubernetesprovisioner" "internal" "api" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | quote }} + image: {{ .Values.images.tags.promenade }} + imagePullPolicy: {{ .Values.images.pull_policy }} +{{ tuple . .Values.pod.resources.test | include "helm-toolkit.snippets.kubernetes_resources" | indent 6 }} + command: ["/bin/bash", "-c", "curl -v -X GET --fail ${PROM_URL}/api/v1.0/health; exit $?"] +... +{{- end }} diff --git a/charts/promenade/values.yaml b/charts/promenade/values.yaml index f86dc76e..2bbc9d0a 100644 --- a/charts/promenade/values.yaml +++ b/charts/promenade/values.yaml @@ -54,6 +54,7 @@ manifests: job_ks_service: true job_ks_user: true secret_keystone: true + test_promenade_api: true network: api: @@ -200,5 +201,13 @@ pod: requests: memory: "128Mi" cpu: "100m" + test: + api: + limits: + memory: "128Mi" + cpu: "100m" + requests: + memory: "128Mi" + cpu: "100m" release_group: null