Migrate functional jobs to Zuul v3
Migrate all functional jobs and gate to zuul v3. We will have to migrate all other legacy jobs too later. Migrating guideline: https://docs.openstack.org/infra/manual/zuulv3.html Change-Id: I6757ba558d2a89a6b1d1ab4694106f0b84b26d4f
This commit is contained in:
parent
ec40f1301d
commit
82665998d3
93
.zuul.yaml
Normal file
93
.zuul.yaml
Normal file
@ -0,0 +1,93 @@
|
||||
- job:
|
||||
name: heat-functional-devstack-base
|
||||
parent: legacy-dsvm-base
|
||||
run: playbooks/devstack/functional/run
|
||||
post-run: playbooks/devstack/functional/post
|
||||
timeout: 7800
|
||||
required-projects:
|
||||
- openstack-infra/devstack-gate
|
||||
- openstack/aodh
|
||||
- openstack/barbican
|
||||
- openstack/barbican-tempest-plugin
|
||||
- openstack/ceilometer
|
||||
- openstack/devstack-plugin-amqp1
|
||||
- openstack/heat
|
||||
- openstack/neutron
|
||||
- openstack/neutron-lbaas
|
||||
- openstack/oslo.messaging
|
||||
- openstack/python-barbicanclient
|
||||
- openstack/python-heatclient
|
||||
- openstack/python-zaqarclient
|
||||
- openstack/zaqar
|
||||
irrelevant-files:
|
||||
- ^.*\.rst$
|
||||
- ^api-ref/.*$
|
||||
- ^doc/.*$
|
||||
- ^heat/locale/.*$
|
||||
- ^heat/tests/.*$
|
||||
- ^releasenotes/.*$
|
||||
vars:
|
||||
disable_convergence: 'false'
|
||||
sql: mysql
|
||||
use_amqp1: 0
|
||||
use_apache: 1
|
||||
use_python3: 0
|
||||
use_identity_v3_only: 0
|
||||
branch_override: default
|
||||
|
||||
- job:
|
||||
name: heat-functional-orig-mysql-lbaasv2
|
||||
parent: heat-functional-devstack-base
|
||||
vars:
|
||||
disable_convergence: 'true'
|
||||
|
||||
- job:
|
||||
name: heat-functional-convg-mysql-lbaasv2
|
||||
parent: heat-functional-devstack-base
|
||||
|
||||
- job:
|
||||
name: heat-functional-convg-mysql-lbaasv2-amqp1
|
||||
parent: heat-functional-devstack-base
|
||||
voting: false
|
||||
branches: master
|
||||
vars:
|
||||
use_amqp1: 1
|
||||
|
||||
- job:
|
||||
name: heat-functional-convg-mysql-lbaasv2-non-apache
|
||||
parent: heat-functional-devstack-base
|
||||
branches: ^(?!stable/newton).*$
|
||||
vars:
|
||||
use_apache: 0
|
||||
|
||||
- job:
|
||||
name: heat-functional-convg-mysql-lbaasv2-py35
|
||||
parent: heat-functional-devstack-base
|
||||
branches: ^(?!stable/(newton|ocata)).*$
|
||||
vars:
|
||||
use_python3: 1
|
||||
|
||||
- job:
|
||||
name: heat-functional-convg-mysql-lbaasv2-identity-v3-only
|
||||
parent: heat-functional-devstack-base
|
||||
voting: false
|
||||
branches: master
|
||||
vars:
|
||||
use_identity_v3_only: 1
|
||||
|
||||
- project:
|
||||
name: openstack/heat
|
||||
check:
|
||||
jobs:
|
||||
- heat-functional-orig-mysql-lbaasv2
|
||||
- heat-functional-convg-mysql-lbaasv2
|
||||
- heat-functional-convg-mysql-lbaasv2-amqp1
|
||||
- heat-functional-convg-mysql-lbaasv2-non-apache
|
||||
- heat-functional-convg-mysql-lbaasv2-py35
|
||||
- heat-functional-convg-mysql-lbaasv2-identity-v3-only
|
||||
gate:
|
||||
jobs:
|
||||
- heat-functional-orig-mysql-lbaasv2
|
||||
- heat-functional-convg-mysql-lbaasv2
|
||||
- heat-functional-convg-mysql-lbaasv2-non-apache
|
||||
- heat-functional-convg-mysql-lbaasv2-py35
|
15
playbooks/devstack/functional/post.yaml
Normal file
15
playbooks/devstack/functional/post.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
- hosts: primary
|
||||
tasks:
|
||||
|
||||
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||
synchronize:
|
||||
src: '{{ ansible_user_dir }}/workspace/'
|
||||
dest: '{{ zuul.executor.log_root }}'
|
||||
mode: pull
|
||||
copy_links: true
|
||||
verify_host: true
|
||||
rsync_opts:
|
||||
- --include=/logs/**
|
||||
- --include=*/
|
||||
- --exclude=*
|
||||
- --prune-empty-dirs
|
120
playbooks/devstack/functional/run.yaml
Normal file
120
playbooks/devstack/functional/run.yaml
Normal file
@ -0,0 +1,120 @@
|
||||
- hosts: all
|
||||
name: Job for functional tests
|
||||
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-infra/devstack-gate
|
||||
dest: devstack-gate
|
||||
EOF
|
||||
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
|
||||
git://git.openstack.org \
|
||||
openstack-infra/devstack-gate
|
||||
executable: /bin/bash
|
||||
chdir: '{{ ansible_user_dir }}/workspace'
|
||||
|
||||
- shell:
|
||||
cmd: |
|
||||
set -e
|
||||
set -x
|
||||
export PYTHONUNBUFFERED=true
|
||||
services=rabbit,tempest,mysql,dstat,key
|
||||
services+=,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt
|
||||
|
||||
# TODO(ricolin) replace the usage of ZUUL_BRANCH
|
||||
# placement services mandatory for nova from ocata
|
||||
if [[ "stable/newton" != $ZUUL_BRANCH ]]; then
|
||||
services+=,placement-api,placement-client
|
||||
fi
|
||||
|
||||
services+=,g-api,g-reg
|
||||
services+=,c-sch,c-api,c-vol,c-bak
|
||||
services+=,q-svc,q-dhcp,q-meta,q-agt,q-l3
|
||||
|
||||
if [ "{{ use_python3 }}" -eq 1 ] ; then
|
||||
export DEVSTACK_GATE_USE_PYTHON3=True
|
||||
# Swift does not work so skip s-* for python3x for now
|
||||
else
|
||||
export DEVSTACK_GATE_USE_PYTHON3=False
|
||||
services+=,s-proxy,s-object,s-container,s-account
|
||||
fi
|
||||
# TODO(ricolin) replace the usage of ZUUL_BRANCH
|
||||
if [[ ! "stable/newton stable/ocata" =~ $ZUUL_BRANCH ]]; then
|
||||
services+=,q-trunk
|
||||
fi
|
||||
|
||||
export DEVSTACK_GATE_NEUTRON=1
|
||||
export DEVSTACK_GATE_TEMPEST=1
|
||||
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
|
||||
export DEVSTACK_GATE_EXERCISES=0
|
||||
export DEVSTACK_GATE_INSTALL_TESTONLY=1
|
||||
export DEVSTACK_PROJECT_FROM_GIT=python-heatclient
|
||||
export KEEP_LOCALRC=1
|
||||
export PROJECTS="openstack/ceilometer $PROJECTS"
|
||||
export PROJECTS="openstack/aodh $PROJECTS"
|
||||
export PROJECTS="openstack/zaqar $PROJECTS"
|
||||
export PROJECTS="openstack/python-zaqarclient $PROJECTS"
|
||||
export PROJECTS="openstack/neutron $PROJECTS"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin zaqar git://git.openstack.org/openstack/zaqar"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron git://git.openstack.org/openstack/neutron"
|
||||
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
|
||||
|
||||
# Enable LBaaS V2 plugin
|
||||
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas"
|
||||
# enabling lbaas plugin does not enable the lbaasv2 service, explicitly enable it
|
||||
services+=,q-lbaasv2
|
||||
export PROJECTS="openstack/barbican $PROJECTS"
|
||||
export PROJECTS="openstack/python-barbicanclient $PROJECTS"
|
||||
export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin barbican https://git.openstack.org/openstack/barbican"
|
||||
# the lbaas v2 driver choice is in the gate pre test hook
|
||||
|
||||
export OVERRIDE_ENABLED_SERVICES=$services
|
||||
|
||||
if [ "{{ branch_override }}" != "default" ] ; then
|
||||
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
||||
fi
|
||||
if [ "{{ use_identity_v3_only }}" -eq 1 ] ; then
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_IDENTITY_V2=False"
|
||||
fi
|
||||
if [ "{{ use_apache }}" -eq 0 ] ; then
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"HEAT_USE_MOD_WSGI=False"
|
||||
fi
|
||||
if [ "{{ use_amqp1 }}" -eq 1 ] ; then
|
||||
export PROJECTS="openstack/devstack-plugin-amqp1 $PROJECTS"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"export AMQP1_SERVICE=qpid-hybrid"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-amqp1 git://git.openstack.org/openstack/devstack-plugin-amqp1"
|
||||
export DEVSTACK_LOCAL_CONFIG+=$'\n'"export CELLSV2_SETUP=singleconductor"
|
||||
export DEVSTACK_PROJECT_FROM_GIT="oslo.messaging,$DEVSTACK_PROJECT_FROM_GIT"
|
||||
fi
|
||||
export DISABLE_CONVERGENCE="{{ disable_convergence }}"
|
||||
function pre_test_hook {
|
||||
cd /opt/stack/new/heat/heat_integrationtests
|
||||
source ./pre_test_hook.sh
|
||||
}
|
||||
export -f pre_test_hook
|
||||
|
||||
function post_test_hook {
|
||||
cd /opt/stack/new/heat/heat_integrationtests
|
||||
source ./post_test_hook.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 }}'
|
Loading…
Reference in New Issue
Block a user