From 86c2196679b3f1d799c1e923c8af6662e4269ab2 Mon Sep 17 00:00:00 2001 From: "Gupta, Sangeet (sg774j)" Date: Tue, 13 Oct 2020 17:22:18 +0000 Subject: [PATCH] zuul.d: Adding multinode job This new job deploys 5 node cluster and deploy train openstack. Depends-on: https://review.opendev.org/c/openstack/openstack-helm-infra/+/765588 Change-Id: I9c946d5eab46d6603c9b8ff25dc482b543d236bf --- .../multinode/045-nfs-provisioner.sh | 1 + tools/deployment/multinode/050-mariadb.sh | 16 +- tools/deployment/multinode/060-rabbitmq.sh | 30 +- tools/deployment/multinode/080-keystone.sh | 15 +- tools/deployment/multinode/085-horizon.sh | 12 +- .../multinode/090-ceph-radosgateway.sh | 39 +-- tools/deployment/multinode/100-glance.sh | 39 ++- .../{900-tempest.sh => 1000-tempest.sh} | 0 tools/deployment/multinode/110-cinder.sh | 47 ++- tools/deployment/multinode/120-openvswitch.sh | 8 +- tools/deployment/multinode/130-libvirt.sh | 16 +- tools/deployment/multinode/140-compute-kit.sh | 195 ++++++------ tools/deployment/multinode/150-heat.sh | 17 +- .../deployment/multinode/800-setup-gateway.sh | 50 ++++ tools/deployment/multinode/900-use-it.sh | 136 +++++++++ tools/gate/playbooks/multinode-base.yaml | 30 ++ .../playbooks/multinode-deploy-cinder.yaml | 80 +++++ .../multinode-deploy-compute-kit.yaml | 84 ++++++ tools/gate/playbooks/multinode-deploy.yaml | 282 ------------------ tools/gate/playbooks/vars.yaml | 10 +- zuul.d/jobs-openstack-helm.yaml | 38 +++ zuul.d/project.yaml | 4 + 22 files changed, 668 insertions(+), 481 deletions(-) create mode 120000 tools/deployment/multinode/045-nfs-provisioner.sh mode change 100755 => 120000 tools/deployment/multinode/060-rabbitmq.sh rename tools/deployment/multinode/{900-tempest.sh => 1000-tempest.sh} (100%) create mode 100755 tools/deployment/multinode/800-setup-gateway.sh create mode 100755 tools/deployment/multinode/900-use-it.sh create mode 100644 tools/gate/playbooks/multinode-base.yaml create mode 100644 tools/gate/playbooks/multinode-deploy-cinder.yaml create mode 100644 tools/gate/playbooks/multinode-deploy-compute-kit.yaml delete mode 100644 tools/gate/playbooks/multinode-deploy.yaml diff --git a/tools/deployment/multinode/045-nfs-provisioner.sh b/tools/deployment/multinode/045-nfs-provisioner.sh new file mode 120000 index 0000000000..06e723aeee --- /dev/null +++ b/tools/deployment/multinode/045-nfs-provisioner.sh @@ -0,0 +1 @@ +../developer/nfs/040-nfs-provisioner.sh \ No newline at end of file diff --git a/tools/deployment/multinode/050-mariadb.sh b/tools/deployment/multinode/050-mariadb.sh index 0a162a01a0..5ba6d44afa 100755 --- a/tools/deployment/multinode/050-mariadb.sh +++ b/tools/deployment/multinode/050-mariadb.sh @@ -19,11 +19,21 @@ tee /tmp/mariadb.yaml << EOF pod: replicas: server: 3 - ingress: 3 + ingress: 2 EOF -: ${OSH_INFRA_PATH:="../openstack-helm-infra"} -helm upgrade --install mariadb ${OSH_INFRA_PATH}/mariadb \ + +export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}" +: ${OSH_EXTRA_HELM_ARGS_MARIADB:="$(./tools/deployment/common/get-values-overrides.sh mariadb)"} + +#NOTE: Lint and package chart +make -C ${HELM_CHART_ROOT_PATH} mariadb + +#NOTE: Deploy command +: ${OSH_EXTRA_HELM_ARGS:=""} +helm upgrade --install mariadb ${HELM_CHART_ROOT_PATH}/mariadb \ --namespace=openstack \ + --set volume.use_local_path_for_single_pod_cluster.enabled=true \ + --set volume.enabled=false \ --values=/tmp/mariadb.yaml \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_MARIADB} diff --git a/tools/deployment/multinode/060-rabbitmq.sh b/tools/deployment/multinode/060-rabbitmq.sh deleted file mode 100755 index a76e4ea9eb..0000000000 --- a/tools/deployment/multinode/060-rabbitmq.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# 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: Deploy command -: ${OSH_INFRA_PATH:="../openstack-helm-infra"} -: ${OSH_EXTRA_HELM_ARGS:=""} -helm upgrade --install rabbitmq ${OSH_INFRA_PATH}/rabbitmq \ - --namespace=openstack \ - ${OSH_EXTRA_HELM_ARGS} \ - ${OSH_EXTRA_HELM_ARGS_RABBITMQ} - -#NOTE: Wait for deploy -./tools/deployment/common/wait-for-pods.sh openstack - -#NOTE: Validate Deployment info -helm status rabbitmq diff --git a/tools/deployment/multinode/060-rabbitmq.sh b/tools/deployment/multinode/060-rabbitmq.sh new file mode 120000 index 0000000000..83e97c8aa3 --- /dev/null +++ b/tools/deployment/multinode/060-rabbitmq.sh @@ -0,0 +1 @@ +../component/common/rabbitmq.sh \ No newline at end of file diff --git a/tools/deployment/multinode/080-keystone.sh b/tools/deployment/multinode/080-keystone.sh index b4176b2fda..2cf320ff0d 100755 --- a/tools/deployment/multinode/080-keystone.sh +++ b/tools/deployment/multinode/080-keystone.sh @@ -14,7 +14,15 @@ set -xe +#NOTE: Get the over-rides to use +: ${OSH_EXTRA_HELM_ARGS_KEYSTONE:="$(./tools/deployment/common/get-values-overrides.sh keystone)"} +: ${RUN_HELM_TESTS:="yes"} + +#NOTE: Lint and package chart +make keystone + #NOTE: Deploy command +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install keystone ./keystone \ --namespace=openstack \ --set pod.replicas.api=2 \ @@ -29,6 +37,7 @@ helm status keystone export OS_CLOUD=openstack_helm sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx openstack endpoint list -# Delete the test pod if it still exists -kubectl delete pods -l application=keystone,release_group=keystone,component=test --namespace=openstack --ignore-not-found -helm test keystone --timeout 900 + +if [ "x${RUN_HELM_TESTS}" != "xno" ]; then + ./tools/deployment/common/run-helm-tests.sh keystone +fi diff --git a/tools/deployment/multinode/085-horizon.sh b/tools/deployment/multinode/085-horizon.sh index 6b9158aca6..ec796aa74e 100755 --- a/tools/deployment/multinode/085-horizon.sh +++ b/tools/deployment/multinode/085-horizon.sh @@ -17,14 +17,22 @@ set -xe +#NOTE: Get the over-rides to use +: ${OSH_EXTRA_HELM_ARGS_HORIZON:="$(./tools/deployment/common/get-values-overrides.sh horizon)"} + #NOTE: Lint and package chart make horizon #NOTE: Deploy command +tee /tmp/horizon.yaml <> /tmp/nova.yaml +fi -function kvm_check () { - POD_NAME="tmp-$(cat /dev/urandom | env LC_CTYPE=C tr -dc a-z | head -c 5; echo)" - cat <&2; -apiVersion: v1 -kind: Pod -metadata: - name: ${POD_NAME} -spec: - hostPID: true - restartPolicy: Never - containers: - - name: util - securityContext: - privileged: true - image: docker.io/busybox:latest - command: - - sh - - -c - - | - nsenter -t1 -m -u -n -i -- sh -c "kvm-ok >/dev/null && echo yes || echo no" -EOF - end=$(($(date +%s) + 900)) - until kubectl get pod/${POD_NAME} -o go-template='{{.status.phase}}' | grep -q Succeeded; do - now=$(date +%s) - [ $now -gt $end ] && echo containers failed to start. && \ - kubectl get pod/${POD_NAME} -o wide && exit 1 - done - kubectl logs pod/${POD_NAME} - kubectl delete pod/${POD_NAME} 1>&2; -} - -if [ "x$(kvm_check)" == "xyes" ]; then +#NOTE: Deploy nova +: ${OSH_EXTRA_HELM_ARGS:=""} +if [ "x$(systemd-detect-virt)" == "xnone" ]; then echo 'OSH is not being deployed in virtualized environment' helm upgrade --install nova ./nova \ --namespace=openstack \ --values=/tmp/nova.yaml \ - ${OSH_EXTRA_HELM_ARGS} \ + --set bootstrap.wait_for_computes.enabled=true \ + --set conf.ceph.enabled=${CEPH_ENABLED} \ + ${OSH_EXTRA_HELM_ARGS:=} \ ${OSH_EXTRA_HELM_ARGS_NOVA} else echo 'OSH is being deployed in virtualized environment, using qemu for nova' helm upgrade --install nova ./nova \ --namespace=openstack \ --values=/tmp/nova.yaml \ + --set bootstrap.wait_for_computes.enabled=true \ + --set conf.ceph.enabled=${CEPH_ENABLED} \ --set conf.nova.libvirt.virt_type=qemu \ --set conf.nova.libvirt.cpu_mode=none \ - ${OSH_EXTRA_HELM_ARGS} \ + ${OSH_EXTRA_HELM_ARGS:=} \ ${OSH_EXTRA_HELM_ARGS_NOVA} fi -#NOTE: Deploy neutron, for simplicity we will assume the default route device -# should be used for tunnels -function network_tunnel_dev () { - POD_NAME="tmp-$(cat /dev/urandom | env LC_CTYPE=C tr -dc a-z | head -c 5; echo)" - cat <&2; -apiVersion: v1 -kind: Pod -metadata: - name: ${POD_NAME} -spec: - hostNetwork: true - restartPolicy: Never - containers: - - name: util - image: docker.io/busybox:latest - command: - - 'ip' - - '-4' - - 'route' - - 'list' - - '0/0' -EOF - end=$(($(date +%s) + 900)) - until kubectl get pod/${POD_NAME} -o go-template='{{.status.phase}}' | grep -q Succeeded; do - now=$(date +%s) - [ $now -gt $end ] && echo containers failed to start. && \ - kubectl get pod/${POD_NAME} -o wide && exit 1 - done - kubectl logs pod/${POD_NAME} | awk '{ print $5; exit }' - kubectl delete pod/${POD_NAME} 1>&2; -} +#NOTE: Get the over-rides to use +: ${OSH_EXTRA_HELM_ARGS_NEUTRON:="$(./tools/deployment/common/get-values-overrides.sh neutron)"} + +#NOTE: Lint and package chart +make neutron -NETWORK_TUNNEL_DEV="$(network_tunnel_dev)" tee /tmp/neutron.yaml << EOF network: interface: - tunnel: "${NETWORK_TUNNEL_DEV}" -labels: - agent: - dhcp: - node_selector_key: openstack-helm-node-class - node_selector_value: primary - l3: - node_selector_key: openstack-helm-node-class - node_selector_value: primary - metadata: - node_selector_key: openstack-helm-node-class - node_selector_value: primary + tunnel: docker0 pod: replicas: server: 2 @@ -146,15 +138,11 @@ conf: tunnel_types: vxlan ovs: bridge_mappings: public:br-ex + linuxbridge_agent: + linux_bridge: + bridge_mappings: public:br-ex EOF -if [ -n "$OSH_OPENSTACK_RELEASE" ]; then - if [ -e "./neutron/values_overrides/${OSH_OPENSTACK_RELEASE}.yaml" ] ; then - echo "Adding release overrides for ${OSH_OPENSTACK_RELEASE}" - OSH_RELEASE_OVERRIDES_NEUTRON="--values=./neutron/values_overrides/${OSH_OPENSTACK_RELEASE}.yaml" - fi -fi - helm upgrade --install neutron ./neutron \ --namespace=openstack \ --values=/tmp/neutron.yaml \ @@ -162,6 +150,10 @@ helm upgrade --install neutron ./neutron \ ${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS_NEUTRON} +# If compute kit installed using Tungsten Fubric, it will be alive when Tunsten Fabric become active. +if [[ "$FEATURE_GATES" =~ (,|^)tf(,|$) ]]; then + exit 0 +fi #NOTE: Wait for deploy ./tools/deployment/common/wait-for-pods.sh openstack @@ -171,10 +163,11 @@ openstack service list sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx openstack compute service list openstack network agent list -# Delete the test pods if they still exist -kubectl delete pods -l application=nova,release_group=nova,component=test --namespace=openstack --ignore-not-found -kubectl delete pods -l application=neutron,release_group=neutron,component=test --namespace=openstack --ignore-not-found +openstack hypervisor list -timeout=${OSH_TEST_TIMEOUT:-900} -helm test nova --timeout $timeout -helm test neutron --timeout $timeout +if [ "x${RUN_HELM_TESTS}" == "xno" ]; then + exit 0 +fi + +./tools/deployment/common/run-helm-tests.sh nova +./tools/deployment/common/run-helm-tests.sh neutron diff --git a/tools/deployment/multinode/150-heat.sh b/tools/deployment/multinode/150-heat.sh index 8f21996e34..c0e551fe0e 100755 --- a/tools/deployment/multinode/150-heat.sh +++ b/tools/deployment/multinode/150-heat.sh @@ -13,7 +13,12 @@ # under the License. set -xe -#NOTE: Deploy command +#NOTE: Get the over-rides to use +: ${OSH_EXTRA_HELM_ARGS_HEAT:="$(./tools/deployment/common/get-values-overrides.sh heat)"} + +#NOTE: Lint and package chart +make heat + tee /tmp/heat.yaml << EOF pod: replicas: @@ -22,6 +27,9 @@ pod: cloudwatch: 2 engine: 2 EOF + +#NOTE: Deploy command +: ${OSH_EXTRA_HELM_ARGS:=""} helm upgrade --install heat ./heat \ --namespace=openstack \ --values=/tmp/heat.yaml \ @@ -34,8 +42,7 @@ helm upgrade --install heat ./heat \ #NOTE: Validate Deployment info export OS_CLOUD=openstack_helm openstack service list +openstack endpoint list sleep 30 #NOTE(portdirect): Wait for ingress controller to update rules and restart Nginx -openstack orchestration service list -# Delete the test pod if it still exists -kubectl delete pods -l application=heat,release_group=heat,component=test --namespace=openstack --ignore-not-found -helm test heat --timeout 900 + +openstack --os-interface internal orchestration service list diff --git a/tools/deployment/multinode/800-setup-gateway.sh b/tools/deployment/multinode/800-setup-gateway.sh new file mode 100755 index 0000000000..5cc68c682e --- /dev/null +++ b/tools/deployment/multinode/800-setup-gateway.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# 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 + +# Assign IP address to br-ex +: ${OSH_EXT_SUBNET:="172.24.4.0/24"} +: ${OSH_BR_EX_ADDR:="172.24.4.1/24"} +sudo ip addr add ${OSH_BR_EX_ADDR} dev br-ex +sudo ip link set br-ex up + +: ${DNSMASQ_IMAGE:=docker.io/openstackhelm/neutron:ocata} + +# NOTE(portdirect): With Docker >= 1.13.1 the default FORWARD chain policy is +# configured to DROP, for the l3 agent to function as expected and for +# VMs to reach the outside world correctly this needs to be set to ACCEPT. +sudo iptables -P FORWARD ACCEPT + +# Setup masquerading on default route dev to public subnet by searching for the +# interface with default routing, if multiple default routes exist then select +# the one with the lowest metric. +DEFAULT_ROUTE_DEV=$(route -n | awk '/^0.0.0.0/ { print $5 " " $NF }' | sort | awk '{ print $NF; exit }') +sudo iptables -t nat -A POSTROUTING -o ${DEFAULT_ROUTE_DEV} -s ${OSH_EXT_SUBNET} -j MASQUERADE + +# NOTE(portdirect): Setup DNS for public endpoints +sudo docker run -d \ + --name br-ex-dns-server \ + --net host \ + --cap-add=NET_ADMIN \ + --volume /etc/kubernetes/kubelet-resolv.conf:/etc/kubernetes/kubelet-resolv.conf:ro \ + --entrypoint dnsmasq \ + ${DNSMASQ_IMAGE} \ + --keep-in-foreground \ + --no-hosts \ + --bind-interfaces \ + --resolv-file=/etc/kubernetes/kubelet-resolv.conf \ + --address="/svc.cluster.local/${OSH_BR_EX_ADDR%/*}" \ + --listen-address="${OSH_BR_EX_ADDR%/*}" +sleep 1 +sudo docker top br-ex-dns-server diff --git a/tools/deployment/multinode/900-use-it.sh b/tools/deployment/multinode/900-use-it.sh new file mode 100755 index 0000000000..3de75f750e --- /dev/null +++ b/tools/deployment/multinode/900-use-it.sh @@ -0,0 +1,136 @@ +#!/bin/bash + +# 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 + +export OS_CLOUD=openstack_helm + +: ${OSH_EXT_NET_NAME:="public"} +: ${OSH_EXT_SUBNET_NAME:="public-subnet"} +: ${OSH_EXT_SUBNET:="172.24.4.0/24"} +: ${OSH_BR_EX_ADDR:="172.24.4.1/24"} +openstack stack create --wait \ + --parameter network_name=${OSH_EXT_NET_NAME} \ + --parameter physical_network_name=public \ + --parameter subnet_name=${OSH_EXT_SUBNET_NAME} \ + --parameter subnet_cidr=${OSH_EXT_SUBNET} \ + --parameter subnet_gateway=${OSH_BR_EX_ADDR%/*} \ + -t ./tools/gate/files/heat-public-net-deployment.yaml \ + heat-public-net-deployment + +: ${OSH_PRIVATE_SUBNET_POOL:="10.0.0.0/8"} +: ${OSH_PRIVATE_SUBNET_POOL_NAME:="shared-default-subnetpool"} +: ${OSH_PRIVATE_SUBNET_POOL_DEF_PREFIX:="24"} +openstack stack create --wait \ + --parameter subnet_pool_name=${OSH_PRIVATE_SUBNET_POOL_NAME} \ + --parameter subnet_pool_prefixes=${OSH_PRIVATE_SUBNET_POOL} \ + --parameter subnet_pool_default_prefix_length=${OSH_PRIVATE_SUBNET_POOL_DEF_PREFIX} \ + -t ./tools/gate/files/heat-subnet-pool-deployment.yaml \ + heat-subnet-pool-deployment + +: ${OSH_EXT_NET_NAME:="public"} +: ${OSH_VM_KEY_STACK:="heat-vm-key"} +: ${OSH_PRIVATE_SUBNET:="10.0.0.0/24"} +# NOTE(portdirect): We do this fancy, and seemingly pointless, footwork to get +# the full image name for the cirros Image without having to be explicit. +IMAGE_NAME=$(openstack image show -f value -c name \ + $(openstack image list -f csv | awk -F ',' '{ print $2 "," $1 }' | \ + grep "^\"Cirros" | head -1 | awk -F ',' '{ print $2 }' | tr -d '"')) + +# Setup SSH Keypair in Nova +mkdir -p ${HOME}/.ssh +openstack keypair create --private-key ${HOME}/.ssh/osh_key ${OSH_VM_KEY_STACK} +chmod 600 ${HOME}/.ssh/osh_key + +openstack stack create --wait \ + --parameter public_net=${OSH_EXT_NET_NAME} \ + --parameter image="${IMAGE_NAME}" \ + --parameter ssh_key=${OSH_VM_KEY_STACK} \ + --parameter cidr=${OSH_PRIVATE_SUBNET} \ + --parameter dns_nameserver=${OSH_BR_EX_ADDR%/*} \ + -t ./tools/gate/files/heat-basic-vm-deployment.yaml \ + heat-basic-vm-deployment + +if ! openstack server list -c Status -f value | grep -q "ACTIVE"; then + echo "VM is not active" + openstack server list --long + exit -1 +fi + +# The following checks the connictivity of the VM created. +# The networking for multinode needs to be enhance to be able to run the +# following code. Hence commenting this code out. +# +# FLOATING_IP=$(openstack stack output show \ +# heat-basic-vm-deployment \ +# floating_ip \ +# -f value -c output_value) +# +# function wait_for_ssh_port { +# # Default wait timeout is 300 seconds +# set +x +# end=$(date +%s) +# if ! [ -z $2 ]; then +# end=$((end + $2)) +# else +# end=$((end + 300)) +# fi +# while true; do +# # Use Nmap as its the same on Ubuntu and RHEL family distros +# nmap -Pn -p22 $1 | awk '$1 ~ /22/ {print $2}' | grep -q 'open' && \ +# break || true +# sleep 1 +# now=$(date +%s) +# [ $now -gt $end ] && echo "Could not connect to $1 port 22 in time" && exit -1 +# done +# set -x +# } +# wait_for_ssh_port $FLOATING_IP +# +# # SSH into the VM and check it can reach the outside world +# ssh-keyscan "$FLOATING_IP" >> ~/.ssh/known_hosts +# ssh -i ${HOME}/.ssh/osh_key cirros@${FLOATING_IP} ping -q -c 1 -W 2 ${OSH_BR_EX_ADDR%/*} +# +# # Check the VM can reach the metadata server +# ssh -i ${HOME}/.ssh/osh_key cirros@${FLOATING_IP} curl --verbose --connect-timeout 5 169.254.169.254 +# +# # Check the VM can reach the keystone server +# ssh -i ${HOME}/.ssh/osh_key cirros@${FLOATING_IP} curl --verbose --connect-timeout 5 keystone.openstack.svc.cluster.local +# +# # Check to see if cinder has been deployed, if it has then perform a volume attach. +# if openstack service list -f value -c Type | grep -q "^volume"; then +# INSTANCE_ID=$(openstack stack output show \ +# heat-basic-vm-deployment \ +# instance_uuid \ +# -f value -c output_value) +# +# # Get the devices that are present on the instance +# DEVS_PRE_ATTACH=$(mktemp) +# ssh -i ${HOME}/.ssh/osh_key cirros@${FLOATING_IP} lsblk > ${DEVS_PRE_ATTACH} +# +# # Create and attach a block device to the instance +# openstack stack create --wait \ +# --parameter instance_uuid=${INSTANCE_ID} \ +# -t ./tools/gate/files/heat-vm-volume-attach.yaml \ +# heat-vm-volume-attach +# +# # Get the devices that are present on the instance +# DEVS_POST_ATTACH=$(mktemp) +# ssh -i ${HOME}/.ssh/osh_key cirros@${FLOATING_IP} lsblk > ${DEVS_POST_ATTACH} +# +# # Check that we have the expected number of extra devices on the instance post attach +# if ! [ "$(comm -13 ${DEVS_PRE_ATTACH} ${DEVS_POST_ATTACH} | wc -l)" -eq "1" ]; then +# echo "Volume not successfully attached" +# exit 1 +# fi +# fi diff --git a/tools/gate/playbooks/multinode-base.yaml b/tools/gate/playbooks/multinode-base.yaml new file mode 100644 index 0000000000..5c29f53eaf --- /dev/null +++ b/tools/gate/playbooks/multinode-base.yaml @@ -0,0 +1,30 @@ +# 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: all + tasks: + - name: Ensure pip + include_role: + name: ensure-pip + - name: Override images + include_role: + name: override-images + when: buildset_registry is defined + - name: Use docker mirror + include_role: + name: use-docker-mirror + - name: "creating directory for run artifacts" + file: + path: "/tmp/artifacts" + state: directory +... diff --git a/tools/gate/playbooks/multinode-deploy-cinder.yaml b/tools/gate/playbooks/multinode-deploy-cinder.yaml new file mode 100644 index 0000000000..ed77c2428b --- /dev/null +++ b/tools/gate/playbooks/multinode-deploy-cinder.yaml @@ -0,0 +1,80 @@ +# 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 + vars_files: + - vars.yaml + tasks: + - name: Setup OS and K8s Clients + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/010-setup-client.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy Ingress + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/component/common/ingress.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" +- hosts: all + tasks: + - name: Create loopback devices for CEPH on all nodes + shell: | + set -xe; + pwd; + ./tools/deployment/common/setup-ceph-loopback-device.sh --ceph-osd-data /dev/loop0 --ceph-osd-dbwal /dev/loop1 + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" +- hosts: primary + vars_files: + - vars.yaml + tasks: + - name: Deploy Ceph + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/030-ceph.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Setup openstack namespace for ceph + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/040-ceph-ns-activate.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy MariaDB RabbitMQ and Memcached + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/050-mariadb.sh + ./tools/deployment/multinode/060-rabbitmq.sh + ./tools/deployment/multinode/070-memcached.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy Keystone + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/080-keystone.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy Cinder + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/110-cinder.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" diff --git a/tools/gate/playbooks/multinode-deploy-compute-kit.yaml b/tools/gate/playbooks/multinode-deploy-compute-kit.yaml new file mode 100644 index 0000000000..17229bf521 --- /dev/null +++ b/tools/gate/playbooks/multinode-deploy-compute-kit.yaml @@ -0,0 +1,84 @@ +# 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 + vars_files: + - vars.yaml + tasks: + - name: Setup OS and K8s Clients + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/010-setup-client.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy Ingress + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/component/common/ingress.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy MariaDB RabbitMQ and Memcached + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/050-mariadb.sh + ./tools/deployment/multinode/060-rabbitmq.sh + ./tools/deployment/multinode/070-memcached.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy NFS and Keystone + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/045-nfs-provisioner.sh + ./tools/deployment/multinode/080-keystone.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy Glance Heat and OpenVswitch + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/100-glance.sh + ./tools/deployment/multinode/150-heat.sh + ./tools/deployment/multinode/120-openvswitch.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy Libvirt + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/130-libvirt.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy ComputeKit + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/140-compute-kit.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Deploy Horizon + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/085-horizon.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" + - name: Exercise the Cloud + environment: "{{ multinode_env }}" + shell: | + set -xe; + ./tools/deployment/multinode/900-use-it.sh + args: + chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" diff --git a/tools/gate/playbooks/multinode-deploy.yaml b/tools/gate/playbooks/multinode-deploy.yaml deleted file mode 100644 index 27a79805ac..0000000000 --- a/tools/gate/playbooks/multinode-deploy.yaml +++ /dev/null @@ -1,282 +0,0 @@ -# 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 - tasks: - - name: Setup OS and K8s Clients - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/010-setup-client.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Ingress - environment: - OSH_DEPLOY_MULTINODE: True - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/component/common/ingress.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Ceph - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/030-ceph.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Setup openstack namespace for ceph - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/040-ceph-ns-activate.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy MariaDB - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/050-mariadb.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy RabbitMQ - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/060-rabbitmq.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Memcached - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/070-memcached.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Keystone - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/080-keystone.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Keystone RadosGW endpoints and user - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/090-ceph-radosgateway.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Glance - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/100-glance.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Cinder - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/110-cinder.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy OpenVswitch - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/120-openvswitch.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Libvirt - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/130-libvirt.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy ComputeKit - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/140-compute-kit.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Heat - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/150-heat.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Barbican - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/160-barbican.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Senlin - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/170-senlin.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Mistral - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/180-mistral.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Magnum - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/190-magnum.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Congress - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/200-congress.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - - name: Deploy Postgresql - environment: - OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - 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/multinode/210-postgresql.sh - args: - chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - # TODO(srwilkers: Disable these charts until we can determine periodic job - # failures - # - # - name: Deploy Gnocchi - # environment: - # OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - # 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/multinode/220-gnocchi.sh - # args: - # chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - # - name: Deploy MongoDB - # environment: - # OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - # 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/multinode/230-mongodb.sh - # args: - # chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" - # - name: Deploy Ceilometer - # environment: - # OSH_OPENSTACK_RELEASE: "{{ osh_openstack_release }}" - # 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/multinode/240-ceilometer.sh - # args: - # chdir: "{{ zuul_osh_relative_path | default(zuul.project.src_dir) }}" diff --git a/tools/gate/playbooks/vars.yaml b/tools/gate/playbooks/vars.yaml index c498be7e7c..8b313a092b 100644 --- a/tools/gate/playbooks/vars.yaml +++ b/tools/gate/playbooks/vars.yaml @@ -10,4 +10,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -null: null +multinode_env: + OSH_DEPLOY_MULTINODE: True + OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}" + CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}" + CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}" + FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}" + 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 }}" diff --git a/zuul.d/jobs-openstack-helm.yaml b/zuul.d/jobs-openstack-helm.yaml index fe9b948fd4..4af1d73b9b 100644 --- a/zuul.d/jobs-openstack-helm.yaml +++ b/zuul.d/jobs-openstack-helm.yaml @@ -723,3 +723,41 @@ parent: openstack-helm-multinode-temp nodeset: openstack-helm-five-node-ubuntu run: tools/gate/playbooks/multinode-tempest-deploy.yaml + +- job: + timeout: 10800 + name: openstack-helm-multinode-compute-kit-train-ubuntu_bionic + parent: openstack-helm-chart-deploy + nodeset: openstack-helm-five-node-ubuntu + vars: + zuul_osh_infra_relative_path: ../openstack-helm-infra/ + osh_params: + openstack_release: train + container_distro_name: ubuntu + container_distro_version: bionic + pre-run: + - tools/gate/playbooks/multinode-base.yaml + - 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/multinode-deploy-compute-kit.yaml + +- job: + timeout: 9600 + name: openstack-helm-multinode-cinder-train-ubuntu_bionic + parent: openstack-helm-chart-deploy + nodeset: openstack-helm-five-node-ubuntu + vars: + zuul_osh_infra_relative_path: ../openstack-helm-infra/ + osh_params: + openstack_release: train + container_distro_name: ubuntu + container_distro_version: bionic + pre-run: + - tools/gate/playbooks/multinode-base.yaml + - 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/multinode-deploy-cinder.yaml diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 9203d4c444..44f3a14a94 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -41,6 +41,8 @@ - openstack-helm-cinder-stein-ubuntu_bionic - openstack-helm-compute-kit-stein-ubuntu_bionic - openstack-helm-horizon-stein-ubuntu_bionic + - openstack-helm-multinode-compute-kit-train-ubuntu_bionic + - openstack-helm-multinode-cinder-train-ubuntu_bionic post: jobs: - publish-openstack-helm-charts @@ -66,6 +68,8 @@ - openstack-helm-netpol-compute-kit-train - openstack-helm-netpol-compute-kit-ussuri - openstack-helm-netpol-cinder + - openstack-helm-multinode-compute-kit-train-ubuntu_bionic + - openstack-helm-multinode-cinder-train-ubuntu_bionic # NOTE(srwilkers): Disabling the following jobs until # issues with the kubeadm-aio based deployments are addressed # - openstack-helm-multinode-temp-ubuntu