[train][goal] Define new barbican-simple-crypto-devstack-tempest-ipv6-only 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.

Barbican has legacy zuul jobs only 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 'barbican-simple-crypto-devstack-tempest-ipv6-only'
run on gate and set the required IPv6 setting'.

Story: #2005477
Task: # 35881

[1] https://governance.openstack.org/tc/goals/train/ipv6-support-and-testing.html

Change-Id: I150df168225189dcad2e052f06f098f578151fbd
This commit is contained in:
Ghanshyam Mann 2019-09-16 13:12:40 +00:00 committed by Douglas Mendizábal
parent 63e6979023
commit 5967344c96
2 changed files with 89 additions and 0 deletions

View File

@ -119,6 +119,11 @@
name: barbican-simple-crypto-devstack-tempest
parent: barbican-devstack-tempest-base
- job:
name: barbican-simple-crypto-devstack-tempest-ipv6-only
parent: barbican-simple-crypto-devstack-tempest
run: playbooks/legacy/barbican-devstack-tempest-base/run-ipv6.yaml
- job:
name: barbican-simple-crypto-devstack-tempest-castellan-from-git
parent: barbican-devstack-tempest-base
@ -166,6 +171,7 @@
- barbican-dogtag-devstack-functional-fedora-latest
- barbican-vault-devstack-functional
- barbican-grenade-devstack
- barbican-simple-crypto-devstack-tempest-ipv6-only
# TripleO jobs that deploy Barbican.
# Note we don't use a project-template here, so it's easier
# to disable voting on one specific job if things go wrong.
@ -186,6 +192,7 @@
#- barbican-dogtag-devstack-functional-fedora-latest
- barbican-vault-devstack-functional
- barbican-grenade-devstack
- barbican-simple-crypto-devstack-tempest-ipv6-only
experimental:
jobs:
- barbican-kmip-devstack-functional

View File

@ -0,0 +1,82 @@
- hosts: all
name: Barbican devstack tempest IPv6 job
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
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_REGEX=barbican
export KEEP_LOCALRC=1
export PROJECTS="openstack/barbican $PROJECTS"
export PROJECTS="openstack/python-barbicanclient $PROJECTS"
export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin barbican https://opendev.org/openstack/barbican"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"export TEMPEST_PLUGINS='/opt/stack/new/barbican-tempest-plugin'"
export DEVSTACK_GATE_USE_PYTHON3=True
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SERVICE_IP_VERSION=6"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SERVICE_HOST=''"
export BRANCH_OVERRIDE=default
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
# Add configuration values for enabling security features in local.conf
function pre_test_hook {
if [ -f $BASE/new/barbican-tempest-plugin/tools/pre_test_hook.sh ] ; then
. $BASE/new/barbican-tempest-plugin/tools/pre_test_hook.sh
fi
}
export -f pre_test_hook
if [ "{{ database }}" == "postgres" ] ; then
export DEVSTACK_GATE_POSTGRES=1
elif [ "{{ castellan_from_git }}" == "1" ] ; then
export DEVSTACK_PROJECT_FROM_GIT="castellan"
elif [ "{{ cursive }}" == "1" ] ; then
export DEVSTACK_PROJECT_FROM_GIT="cursive"
elif [ "{{ python_version }}" == "py35" ] ; then
export DEVSTACK_GATE_USE_PYTHON3=True
export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-account"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-container"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-object"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service s-proxy"
fi
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 }}'