Move base functional test job in-repo

Depends-On: I26ed12133c75a69182c56b6ecf483fcdc37d98f3
Change-Id: Ib46eed6e038a502926bf92297120e2d494ef5b20
This commit is contained in:
Dean Troyer 2017-10-02 17:21:56 -05:00 committed by Ian Wienand
parent a452c9d825
commit 4733621ecb
3 changed files with 182 additions and 0 deletions

19
.zuul.yaml Normal file
View File

@ -0,0 +1,19 @@
# from zuul.d/zuul-legacy-jobs.yaml legacy-osc-dsvm-functional
- job:
name: osc-functional-devstack
parent: legacy-dsvm-base
run: playbooks/osc-functional-devstack/run
post-run: playbooks/osc-functional-devstack/post
timeout: 7800
required-projects:
- openstack-infra/devstack-gate
- openstack/python-openstackclient
- project:
name: openstack/python-openstackclient
check:
jobs:
- osc-functional-devstack
gate:
jobs:
- osc-functional-devstack

View File

@ -0,0 +1,80 @@
- 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=**/*nose_results.html
- --include=*/
- --exclude=*
- --prune-empty-dirs
- 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=**/*testr_results.html.gz
- --include=*/
- --exclude=*
- --prune-empty-dirs
- 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=/.testrepository/tmp*
- --include=*/
- --exclude=*
- --prune-empty-dirs
- 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=**/*testrepository.subunit.gz
- --include=*/
- --exclude=*
- --prune-empty-dirs
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
synchronize:
src: '{{ ansible_user_dir }}/workspace/'
dest: '{{ zuul.executor.log_root }}/tox'
mode: pull
copy_links: true
verify_host: true
rsync_opts:
- --include=/.tox/*/log/*
- --include=*/
- --exclude=*
- --prune-empty-dirs
- 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,83 @@
- hosts: all
name: Autoconverted job legacy-osc-dsvm-functional from old job gate-osc-dsvm-functional-ubuntu-xenial
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]]
# NOTE(amotoki): Some neutron features are enabled by devstack plugin
enable_plugin neutron https://git.openstack.org/openstack/neutron
enable_service q-qos
enable_service neutron-segments
# NOTE(dtroyer): OSC needs to support Image v1 for a while yet so re-enable
GLANCE_V1_ENABLED=True
# NOTE(dtroyer): Functional tests need a bit more volume headroom
VOLUME_BACKING_FILE_SIZE=20G
# NOTE(dtroyer): OSC needs to support Volume v1 for a while yet so re-enable
[[post-config|$CINDER_CONF]]
[DEFAULT]
enable_v1_api = True
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_UNSTACK=0
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_NEUTRON=1
export BRANCH_OVERRIDE=default
export DEVSTACK_PROJECT_FROM_GIT=python-openstackclient
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
function post_test_hook {
# NOTE(stevemar): After the newton release was tagged the file was moved.
# But, we run functional tests for various stable releases
# (mitaka, and newton).
# TODO(stevemar): Remove this check when Newton hits EOL.
hook_location=$BASE/new/python-openstackclient/openstackclient/tests/functional/post_test_hook.sh
if [ ! -f "$hook_location" ]; then
hook_location=$BASE/new/python-openstackclient/post_test_hook.sh
fi
bash -xe $hook_location
}
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 }}'