Merge "OSH: Add Armada job for testing update of release uuids"

This commit is contained in:
Zuul 2019-02-05 20:21:06 +00:00 committed by Gerrit Code Review
commit 7edbfc8a7e
5 changed files with 173 additions and 0 deletions

View File

@ -0,0 +1,55 @@
#!/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
# NOTE(srwilkers): source all passwords and environment variables used in the original
# manifests
while read -r line; do $line; done < /tmp/osh-passwords.env
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
: ${OSH_PATH:="./"}
export CEPH_NETWORK=$(./tools/deployment/multinode/kube-node-subnet.sh)
export CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)"
export RELEASE_UUID=$(uuidgen)
export TUNNEL_DEVICE=$(ip -4 route list 0/0 | awk '{ print $5; exit }')
export OSH_INFRA_PATH
export OSH_PATH
# NOTE(srwilkers): We add this here due to envsubst expanding the ${tag} placeholder in
# fluentd's configuration. This ensures the placeholder value gets rendered appropriately
export tag='${tag}'
manifests="armada-cluster-ingress armada-ceph"
for manifest in $manifests; do
echo "Rendering updated-$manifest manifest"
envsubst < ${OSH_INFRA_PATH}/tools/deployment/armada/manifests/$manifest.yaml > /tmp/updated-$manifest.yaml
echo "Validating updated-$manifest manifest"
armada validate /tmp/updated-$manifest.yaml
echo "Applying updated-$manifest manifest"
armada apply /tmp/updated-$manifest.yaml
done
echo "Rendering updated-armada-osh manifest"
envsubst < ./tools/deployment/armada/manifests/armada-osh.yaml > /tmp/updated-armada-osh.yaml
echo "Validating updated-armada-osh manifest"
armada validate /tmp/updated-armada-osh.yaml
echo "Applying updated-armada-osh manifest"
armada apply /tmp/updated-armada-osh.yaml

View File

@ -0,0 +1,84 @@
# 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.
- hosts: primary
gather_facts: True
tasks:
- name: installing ipcalc on Ubuntu
become: true
become_user: root
when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
apt:
name: ipcalc
state: present
- name: Install python3-pip for armada
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set xe;
./tools/deployment/armada/010-armada-host-setup.sh
args:
chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}"
- name: Build armada
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set xe;
./tools/deployment/armada/015-armada-build.sh
args:
chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}"
- name: Render all Armada manifests
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/deployment/armada/020-armada-render-manifests.sh
args:
chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}"
- name: Validate all Armada manifests
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/deployment/armada/025-armada-validate-manifests.sh
args:
chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}"
- name: Apply all Armada manifests
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/deployment/armada/030-armada-apply-manifests.sh
args:
chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}"
- name: Updated release uuid for all manifests and reapply
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/deployment/armada/035-armada-update-uuid.sh
args:
chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}"

View File

@ -26,6 +26,10 @@
- armada-cluster-ingress
- armada-ceph
- armada-osh
- updated-armada-cluster-ingress
- updated-armada-ceph
- updated-armada-lma
- updated-armada-osh
args:
executable: /bin/bash
ignore_errors: True

View File

@ -201,6 +201,34 @@
- ./tools/deployment/armada/025-armada-validate-manifests.sh
- ./tools/deployment/armada/030-armada-apply-manifests.sh
- job:
timeout: 9600
name: openstack-helm-armada-update-uuid
parent: openstack-helm-functional-temp
nodeset: openstack-helm-five-node-ubuntu
roles:
- zuul: openstack/openstack-helm-infra
pre-run:
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
- tools/gate/playbooks/osh-infra-deploy-docker.yaml
- tools/gate/playbooks/osh-infra-build.yaml
- tools/gate/playbooks/osh-infra-deploy-k8s.yaml
run: tools/gate/playbooks/osh-gate-runner.yaml
post-run:
- tools/gate/playbooks/osh-infra-collect-logs.yaml
- tools/gate/playbooks/gather-armada-manifests.yaml
required-projects:
- openstack/openstack-helm-infra
vars:
zuul_osh_infra_relative_path: ../openstack-helm-infra/
gate_scripts:
- ./tools/deployment/armada/010-armada-host-setup.sh
- ./tools/deployment/armada/015-armada-build.sh
- ./tools/deployment/armada/020-armada-render-manifests.sh
- ./tools/deployment/armada/025-armada-validate-manifests.sh
- ./tools/deployment/armada/030-armada-apply-manifests.sh
- ./tools/deployment/armada/035-armada-update-uuid.sh
- job:
name: openstack-helm-multinode-temp-ubuntu
parent: openstack-helm-multinode-temp

View File

@ -45,6 +45,7 @@
- openstack-helm-multinode-temp-ubuntu
- openstack-helm-ironic-ubuntu
- openstack-helm-armada-deploy
- openstack-helm-armada-update-uuid
experimental:
jobs:
# - openstack-helm-multinode-temp-centos
@ -52,3 +53,4 @@
# - openstack-helm-multinode-temp-fedora
# - openstack-helm-multinode-temp-tempest
- openstack-helm-armada-deploy
- openstack-helm-armada-update-uuid