From 0c715b8b3c6f53df438f22ede8acf6862517fb44 Mon Sep 17 00:00:00 2001 From: Pete Birley Date: Sun, 20 Aug 2017 13:17:22 -0500 Subject: [PATCH] Gate: Add heat to single node checks and to Armada checks This PS adds heat to the single node and Armada based deployment checks in the gate scripts. Additionally it moves the client calls in the check scripts to use the heat engine pod. Change-Id: Iccc996fb2b2140ed19c6708d6033b4a9dd1bfc46 --- .../armada/openstack-master-aio.yaml | 61 +++++++++++++++++++ tools/deployment/armada/openstack-master.yaml | 61 +++++++++++++++++++ tools/gate/basic_launch.sh | 4 +- tools/gate/funcs/openstack.sh | 6 +- 4 files changed, 128 insertions(+), 4 deletions(-) diff --git a/tools/deployment/armada/openstack-master-aio.yaml b/tools/deployment/armada/openstack-master-aio.yaml index 80b79df4a3..55f3e768e5 100644 --- a/tools/deployment/armada/openstack-master-aio.yaml +++ b/tools/deployment/armada/openstack-master-aio.yaml @@ -634,6 +634,66 @@ data: dependencies: - helm-toolkit --- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: heat +data: + chart_name: heat + release: heat + namespace: openstack + timeout: 300 + install: + no_hooks: false + upgrade: + no_hooks: false + pre: + delete: + - name: heat-bootstrap + type: job + labels: + - application: heat + - component: bootstrap + - release_group: osh-heat + - name: heat-db-init + type: job + labels: + - application: heat + - component: db-init + - release_group: osh-heat + - name: heat-db-sync + type: job + labels: + - application: heat + - component: db-sync + - release_group: osh-heat + - name: heat-ks-service + type: job + labels: + - application: heat + - component: ks-service + - release_group: osh-heat + - name: heat-ks-endpoints + type: job + labels: + - application: heat + - component: ks-endpoints + - release_group: osh-heat + - name: heat-ks-user + type: job + labels: + - application: heat + - component: ks-user + - release_group: osh-heat + values: {} + source: + type: local + location: /opt/openstack-helm/charts + subpath: heat + reference: master + dependencies: + - helm-toolkit +--- schema: armada/ChartGroup/v1 metadata: schema: metadata/Document/v1 @@ -682,6 +742,7 @@ data: - neutron - nova - cinder + - heat --- schema: armada/Manifest/v1 metadata: diff --git a/tools/deployment/armada/openstack-master.yaml b/tools/deployment/armada/openstack-master.yaml index 5087b0fb0b..a43a30ce69 100644 --- a/tools/deployment/armada/openstack-master.yaml +++ b/tools/deployment/armada/openstack-master.yaml @@ -627,6 +627,66 @@ data: dependencies: - helm-toolkit --- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: heat +data: + chart_name: heat + release: heat + namespace: openstack + timeout: 300 + install: + no_hooks: false + upgrade: + no_hooks: false + pre: + delete: + - name: heat-bootstrap + type: job + labels: + - application: heat + - component: bootstrap + - release_group: osh-heat + - name: heat-db-init + type: job + labels: + - application: heat + - component: db-init + - release_group: osh-heat + - name: heat-db-sync + type: job + labels: + - application: heat + - component: db-sync + - release_group: osh-heat + - name: heat-ks-service + type: job + labels: + - application: heat + - component: ks-service + - release_group: osh-heat + - name: heat-ks-endpoints + type: job + labels: + - application: heat + - component: ks-endpoints + - release_group: osh-heat + - name: heat-ks-user + type: job + labels: + - application: heat + - component: ks-user + - release_group: osh-heat + values: {} + source: + type: local + location: /opt/openstack-helm/charts + subpath: heat + reference: master + dependencies: + - helm-toolkit +--- schema: armada/ChartGroup/v1 metadata: schema: metadata/Document/v1 @@ -675,6 +735,7 @@ data: - neutron - nova - cinder + - heat --- schema: armada/Manifest/v1 metadata: diff --git a/tools/gate/basic_launch.sh b/tools/gate/basic_launch.sh index e151177684..300b9405b4 100755 --- a/tools/gate/basic_launch.sh +++ b/tools/gate/basic_launch.sh @@ -102,6 +102,9 @@ helm install --namespace=openstack ${WORK_DIR}/neutron --name=neutron \ --values=${WORK_DIR}/tools/overrides/mvp/neutron.yaml kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} +helm install --namespace=openstack ${WORK_DIR}/heat --name=heat +kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} + if [ "x$INTEGRATION" == "xmulti" ]; then if [ "x$PVC_BACKEND" == "xceph" ]; then helm install --namespace=openstack ${WORK_DIR}/cinder --name=cinder @@ -109,7 +112,6 @@ if [ "x$INTEGRATION" == "xmulti" ]; then helm install --namespace=openstack ${WORK_DIR}/cinder --name=cinder \ --values=${WORK_DIR}/tools/overrides/mvp/cinder.yaml fi - helm install --namespace=openstack ${WORK_DIR}/heat --name=heat helm install --namespace=openstack ${WORK_DIR}/horizon --name=horizon kube_wait_for_pods openstack ${SERVICE_LAUNCH_TIMEOUT} diff --git a/tools/gate/funcs/openstack.sh b/tools/gate/funcs/openstack.sh index 27ecd10bfe..fee2282d30 100755 --- a/tools/gate/funcs/openstack.sh +++ b/tools/gate/funcs/openstack.sh @@ -26,11 +26,11 @@ KEYSTONE_CREDS="--os-username ${KS_USER} \ --os-project-domain-name ${KS_PROJECT_DOMAIN} \ --os-user-domain-name ${KS_USER_DOMAIN} \ --os-password ${KS_PASSWORD}" -NEUTRON_POD=$(kubectl get -n openstack pods -l application=neutron,component=server --no-headers -o name | awk -F '/' '{ print $NF; exit }') +NEUTRON_POD=$(kubectl get -n openstack pods -l application=heat,component=engine --no-headers -o name | awk -F '/' '{ print $NF; exit }') NEUTRON="kubectl exec -n openstack ${NEUTRON_POD} -- neutron ${KEYSTONE_CREDS}" -NOVA_POD=$(kubectl get -n openstack pods -l application=nova,component=os-api --no-headers -o name | awk -F '/' '{ print $NF; exit }') +NOVA_POD=$(kubectl get -n openstack pods -l application=heat,component=engine --no-headers -o name | awk -F '/' '{ print $NF; exit }') NOVA="kubectl exec -n openstack ${NOVA_POD} -- nova ${KEYSTONE_CREDS}" -OPENSTACK_POD=$(kubectl get -n openstack pods -l application=keystone,component=api --no-headers -o name | awk -F '/' '{ print $NF; exit }') +OPENSTACK_POD=$(kubectl get -n openstack pods -l application=heat,component=engine --no-headers -o name | awk -F '/' '{ print $NF; exit }') OPENSTACK="kubectl exec -n openstack ${OPENSTACK_POD} -- openstack ${KEYSTONE_CREDS} --os-identity-api-version 3 --os-image-api-version 2" function wait_for_ping {