[train][goal] Define new 'zaqar-tempest-swift-ipv6' job

As part of Train community goal 'Support IPv6-Only Deployments and Testing'[1],
we need to define the integration job which deploy services
on IPv6 and perform testing to make sure service listen and communicate
over IPv6 properly.

Zaqar has legacy zuul jobs so base zuulv3 IPv6 job 'devstack-ipv6' and
'devstack-tempest-ipv6' cannot be used and we have to copy the whole
run.yaml to set the IPv6 setting and run the IPv6 verification
script via post_test_hook.

This commit adds the new job 'zaqar-tempest-swift-ipv6'
run on gate and set the required IPv6 setting'.

Change-Id: I9aece13783a061c4214157c3f7cfc9cc9f2a3f96
Story: #2005477
Task: #35941
This commit is contained in:
Ghanshyam Mann 2019-09-11 05:15:44 +00:00
parent f54699926d
commit 2c0e84879e
3 changed files with 80 additions and 1 deletions

View File

@ -69,6 +69,11 @@
vars:
database_backend: swift
- job:
name: zaqar-tempest-swift-ipv6
parent: zaqar-tempest-swift
run: playbooks/legacy/tempest-devstack-zaqar-base/run-ipv6.yaml
- job:
name: zaqar-tox-integration
parent: openstack-tox
@ -125,6 +130,7 @@
- zaqar-grenade-mongodb
- zaqar-grenade-redis
- zaqar-grenade-swift
- zaqar-tempest-swift-ipv6
# TripleO jobs that deploy Zaqar.
# Note we don't use a project-template here, so it's easier
# to disable voting on one specific job if things go wrong.
@ -142,5 +148,6 @@
- zaqar-tempest-mongodb
- zaqar-tempest-redis
- zaqar-tempest-swift
- zaqar-tempest-swift-ipv6
- tripleo-ci-centos-7-scenario002-standalone
- heat-functional-convg-mysql-lbaasv2

View File

@ -92,7 +92,7 @@ function configure_zaqar {
# Enable pooling by default for now
iniset $ZAQAR_CONF DEFAULT admin_mode True
iniset $ZAQAR_CONF 'drivers:transport:websocket' bind $ZAQAR_SERVICE_HOST
iniset $ZAQAR_CONF 'drivers:transport:websocket' bind $(ipv6_unquote $ZAQAR_SERVICE_HOST)
iniset $ZAQAR_CONF 'drivers:transport:websocket' port $ZAQAR_WEBSOCKET_PORT
iniset $ZAQAR_CONF drivers transport websocket

View File

@ -0,0 +1,72 @@
- hosts: all
name: Tempest Devstack Zaqar Base
tasks:
- name: Ensure legacy workspace directory
file:
path: '{{ ansible_user_dir }}/workspace'
state: directory
- shell:
cmd: |
set -e
set -x
cat > clonemap.yaml << EOF
clonemap:
- name: openstack/devstack-gate
dest: devstack-gate
EOF
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
https://opendev.org \
openstack/devstack-gate
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
cat << 'EOF' >>"/tmp/dg-local.conf"
[[local|localrc]]
enable_plugin zaqar https://opendev.org/openstack/zaqar
# Enable Zaqar Tempest plugin
TEMPEST_PLUGINS='/opt/stack/new/zaqar-tempest-plugin'
SERVICE_IP_VERSION=6
SERVICE_HOST=""
EOF
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
export PROJECTS="openstack/python-zaqarclient $PROJECTS"
export PYTHONUNBUFFERED=true
export ENABLED_SERVICES=tempest
export DEVSTACK_GATE_TEMPEST_REGEX="zaqar_tempest_plugin.tests"
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_USE_PYTHON3=True
function gate_hook {
cd /opt/stack/new/zaqar/devstack/gate
./gate_hook.sh tempest "{{ database_backend }}"
}
export PROJECTS="openstack/zaqar-tempest-plugin $PROJECTS"
export -f gate_hook
function post_test_hook {
cd $BASE/new/tempest/tools
./verify-ipv6-only-deployments.sh
}
export -f post_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'