From 53144971e4725fde429aae66e644a0f6724cb25e Mon Sep 17 00:00:00 2001 From: Steve Wilkerson Date: Wed, 21 Feb 2018 13:48:38 -0600 Subject: [PATCH] Split out Armada tasks in armada gate and add validation Splits the armada fullstack deploy playbook out to put each armada action into its own script, and includes the validation action to the tasks performed on each manifest Change-Id: I600d74e3d44d0c0ea0432b20204bfdf4d97baa7a --- ...ests.sh => 020-armada-render-manifests.sh} | 3 +-- .../armada/025-armada-validate-manifests.sh | 23 +++++++++++++++++++ .../armada/030-armada-apply-manifests.sh | 23 +++++++++++++++++++ .../playbooks/armada-fullstack-deploy.yaml | 20 +++++++++++++++- 4 files changed, 66 insertions(+), 3 deletions(-) rename tools/deployment/armada/{020-armada-apply-manifests.sh => 020-armada-render-manifests.sh} (94%) create mode 100755 tools/deployment/armada/025-armada-validate-manifests.sh create mode 100755 tools/deployment/armada/030-armada-apply-manifests.sh diff --git a/tools/deployment/armada/020-armada-apply-manifests.sh b/tools/deployment/armada/020-armada-render-manifests.sh similarity index 94% rename from tools/deployment/armada/020-armada-apply-manifests.sh rename to tools/deployment/armada/020-armada-render-manifests.sh index 8303b8641f..15a5717620 100755 --- a/tools/deployment/armada/020-armada-apply-manifests.sh +++ b/tools/deployment/armada/020-armada-render-manifests.sh @@ -27,7 +27,6 @@ export OSH_PATH manifests="armada-cluster-ingress armada-ceph armada-lma armada-osh" for manifest in $manifests; do - echo "Applying $manifest manifest" + echo "Rendering $manifest manifest" envsubst < ./tools/deployment/armada/multinode/$manifest.yaml > /tmp/$manifest.yaml - armada apply /tmp/$manifest.yaml done diff --git a/tools/deployment/armada/025-armada-validate-manifests.sh b/tools/deployment/armada/025-armada-validate-manifests.sh new file mode 100755 index 0000000000..e37ea52b17 --- /dev/null +++ b/tools/deployment/armada/025-armada-validate-manifests.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# Copyright 2017 The Openstack-Helm Authors. +# +# 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. + +set -xe + +manifests="armada-cluster-ingress armada-ceph armada-lma armada-osh" +for manifest in $manifests; do + echo "Validating $manifest manifest" + armada validate /tmp/$manifest.yaml +done diff --git a/tools/deployment/armada/030-armada-apply-manifests.sh b/tools/deployment/armada/030-armada-apply-manifests.sh new file mode 100755 index 0000000000..02725509d1 --- /dev/null +++ b/tools/deployment/armada/030-armada-apply-manifests.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# Copyright 2017 The Openstack-Helm Authors. +# +# 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. + +set -xe + +manifests="armada-cluster-ingress armada-ceph armada-lma armada-osh" +for manifest in $manifests; do + echo "Applying $manifest manifest" + armada apply /tmp/$manifest.yaml +done diff --git a/tools/gate/playbooks/armada-fullstack-deploy.yaml b/tools/gate/playbooks/armada-fullstack-deploy.yaml index a081ef9dd8..6afd6ec4cb 100644 --- a/tools/gate/playbooks/armada-fullstack-deploy.yaml +++ b/tools/gate/playbooks/armada-fullstack-deploy.yaml @@ -34,12 +34,30 @@ ./tools/deployment/armada/015-armada-build.sh args: chdir: "{{ zuul.project.src_dir }}" + - name: Render all Armada manifests + vars: + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path }}" + OSH_PATH: "{{ zuul.project.src_dir }}" + shell: | + set -xe; + ./tools/deployment/armada/020-armada-render-manifests.sh + args: + chdir: "{{ zuul.project.src_dir }}" + - name: Validate all Armada manifests + vars: + OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path }}" + OSH_PATH: "{{ zuul.project.src_dir }}" + shell: | + set -xe; + ./tools/deployment/armada/025-armada-validate-manifests.sh + args: + chdir: "{{ zuul.project.src_dir }}" - name: Apply all Armada manifests vars: OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path }}" OSH_PATH: "{{ zuul.project.src_dir }}" shell: | set -xe; - ./tools/deployment/armada/020-armada-apply-manifests.sh + ./tools/deployment/armada/030-armada-apply-manifests.sh args: chdir: "{{ zuul.project.src_dir }}"