Move ovsdbapp jobs to its tree

This patch is moving the legacy CI jobs for ovsdbapp into its tree. This
will give the project more flexibility to control what jobs should run
in which pipeline as well as facilitate creation/deletion/updates for
new and existing jobs.

Change-Id: I2e34bd16ab9907bdc3f9225b879f9b0846d2c779
This commit is contained in:
Lucas Alvares Gomes 2018-09-20 15:10:03 +01:00
parent c60da8280f
commit 969a201ee4
5 changed files with 163 additions and 5 deletions

View File

@ -0,0 +1,4 @@
- hosts: primary
tasks:
- include: ../tempest-post-common.yml

View File

@ -0,0 +1,88 @@
- hosts: all
name: Autoconverted job legacy-tempest-dsvm-networking-ovn-ovs-release-ovsdbapp-src
from old job gate-tempest-dsvm-networking-ovn-ovs-release-ovsdbapp-src-nv
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'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
cat << 'EOF' >>"/tmp/dg-local.conf"
[[local|localrc]]
enable_plugin networking-ovn git://git.openstack.org/openstack/networking-ovn
enable_plugin neutron-tempest-plugin git://git.openstack.org/openstack/neutron-tempest-plugin
enable_plugin octavia git://git.openstack.org/openstack/octavia
enable_service ovn-octavia
enable_service o-api
enable_service o-hk
LIBS_FROM_GIT="ovsdbapp"
OVN_DBS_LOG_LEVEL="dbg"
EOF
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_NEUTRON=1
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
export BRANCH_OVERRIDE=default
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
# Because we are testing a non standard project, add
# our project repository. This makes zuul do the right
# reference magic for testing changes.
export PROJECTS="openstack/networking-ovn openstack/neutron-tempest-plugin openstack/octavia $PROJECTS"
export PROJECTS="openstack/ovsdbapp $PROJECTS"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
function pre_test_hook {
if [ -f $BASE/new/networking-ovn/devstack/pre_test_hook.sh ] ; then
. $BASE/new/networking-ovn/devstack/pre_test_hook.sh
fi
}
export -f pre_test_hook
function post_test_hook {
if [ -f $BASE/new/networking-ovn/devstack/post_test_hook.sh ] ; then
. $BASE/new/networking-ovn/devstack/post_test_hook.sh
fi
}
export -f post_test_hook
export DEVSTACK_GATE_SETTINGS="/opt/stack/new/networking-ovn/devstack/devstackgaterc latest-release"
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 }}'

View File

@ -0,0 +1,56 @@
#
# Copy OVN SB & NB database files: those files can be handy for debugging issues as the
# ovsdb files are stored as logs.
#
- name: Check whether OVNSB DB was created
stat:
path: /opt/stack/data/ovs/ovnsb_db.db
register: ovnsb_file
- name: Create destination directory to collect OVN database logs
file: path={{ ansible_user_dir }}/workspace/logs/ovs_dbs state=directory
when: ovnsb_file.stat.exists
- name: Collect OVN databases
copy:
remote_src: true
src: '/opt/stack/data/ovs/{{ item }}.db'
dest: '{{ ansible_user_dir }}/workspace/logs/ovs_dbs/{{ item }}.txt'
with_items:
- conf
- ovnnb_db
- ovnsb_db
when: ovnsb_file.stat.exists
- name: Copy OVN database logs
copy:
remote_src: true
src: '/opt/stack/new/{{ item }}.log'
dest: '{{ ansible_user_dir }}/workspace/logs/ovs_dbs/{{ item }}.log.txt'
with_items:
- ovsdb-server-nb
- ovsdb-server-sb
when: ovnsb_file.stat.exists
become: true
- name: Compress OVN databases in individual files
shell: gzip -9 {{ ansible_user_dir }}/workspace/logs/ovs_dbs/*
when: ovnsb_file.stat.exists
#
# Synchronize files from workspace in node to the zuul log_root which will be stored
#
- 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

View File

@ -0,0 +1,13 @@
- job:
name: ovsdbapp-tempest-dsvm-networking-ovn-ovs-release
parent: legacy-networking-ovn-dsvm-base
run: playbooks/legacy/tempest-dsvm-networking-ovn-ovs-release-ovsdbapp-src/run.yaml
post-run: playbooks/legacy/tempest-dsvm-networking-ovn-ovs-release-ovsdbapp-src/post.yaml
timeout: 7800
required-projects:
- openstack-infra/devstack-gate
- openstack/networking-ovn
- openstack/neutron-tempest-plugin
- openstack/ovsdbapp
- openstack/octavia
- openstack/tempest

View File

@ -8,12 +8,9 @@
jobs:
- openstack-tox-lower-constraints
- openstack-tox-functional
- legacy-tempest-dsvm-networking-ovn-ovs-release-ovsdbapp-src:
voting: false
irrelevant-files:
- ^(test-|)requirements.txt$
- ^setup.cfg$
- ovsdbapp-tempest-dsvm-networking-ovn-ovs-release
gate:
jobs:
- openstack-tox-lower-constraints
- openstack-tox-functional
- ovsdbapp-tempest-dsvm-networking-ovn-ovs-release