Merge "Migrate to Zuul v3"

This commit is contained in:
Zuul 2017-11-12 23:43:13 +00:00 committed by Gerrit Code Review
commit 696933ab76
7 changed files with 492 additions and 0 deletions
.zuul.yaml
playbooks/legacy
grenade-devstack-zaqar-base
tempest-devstack-zaqar-base
zaqar-tox-integration

98
.zuul.yaml Normal file
View File

@ -0,0 +1,98 @@
- job:
name: grenade-devstack-zaqar-base
parent: legacy-dsvm-base
branches: ^(?!(driverfixes|stable/(mitaka|newton))).*$
irrelevant-files:
- ^(test-|)requirements.txt$
- ^setup.cfg$
required-projects:
- openstack-dev/grenade
- openstack-infra/devstack-gate
- openstack/python-zaqarclient
- openstack/zaqar
- openstack/zaqar-tempest-plugin
run: playbooks/legacy/grenade-devstack-zaqar-base/run
post-run: playbooks/legacy/grenade-devstack-zaqar-base/post
timeout: 7800
- job:
name: tempest-devstack-zaqar-base
parent: legacy-dsvm-base
irrelevant-files:
- ^(test-|)requirements.txt$
- ^setup.cfg$
required-projects:
- openstack-infra/devstack-gate
- openstack/python-zaqarclient
- openstack/tempest
- openstack/zaqar
- openstack/zaqar-tempest-plugin
run: playbooks/legacy/tempest-devstack-zaqar-base/run
post-run: playbooks/legacy/tempest-devstack-zaqar-base/post
timeout: 7800
- job:
name: grenade-devstack-mongodb-zaqar
parent: grenade-devstack-zaqar-base
voting: false
vars:
database_backend: mongodb
- job:
name: grenade-devstack-redis-zaqar
parent: grenade-devstack-zaqar-base
voting: false
vars:
database_backend: redis
- job:
name: grenade-devstack-swift-zaqar
parent: grenade-devstack-zaqar-base
voting: false
vars:
database_backend: swift
- job:
name: tempest-devstack-mongodb-zaqar
parent: tempest-devstack-zaqar-base
vars:
database_backend: mongodb
- job:
name: tempest-devstack-redis-zaqar
parent: tempest-devstack-zaqar-base
vars:
database_backend: redis
- job:
name: tempest-devstack-swift-zaqar
parent: tempest-devstack-zaqar-base
vars:
database_backend: swift
- job:
name: zaqar-tox-integration
parent: legacy-base
post-run: playbooks/legacy/zaqar-tox-integration/post
required-projects:
- openstack/requirements
run: playbooks/legacy/zaqar-tox-integration/run
timeout: 2400
- project:
name: openstack/zaqar
check:
jobs:
- zaqar-tox-integration
- tempest-devstack-redis-zaqar
- tempest-devstack-swift-zaqar
- tempest-devstack-mongodb-zaqar
- grenade-devstack-mongodb-zaqar
- grenade-devstack-redis-zaqar
- grenade-devstack-swift-zaqar
gate:
jobs:
- zaqar-tox-integration
- tempest-devstack-mongodb-zaqar
- tempest-devstack-redis-zaqar
- tempest-devstack-swift-zaqar

View 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

View File

@ -0,0 +1,83 @@
- hosts: all
name: Grenade 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-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 zaqar git://git.openstack.org/openstack/zaqar
# Enable Zaqar Tempest plugin
TEMPEST_PLUGINS='/opt/stack/new/zaqar-tempest-plugin'
EOF
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PROJECTS="openstack/python-zaqarclient $PROJECTS"
export PYTHONUNBUFFERED=true
export ENABLED_SERVICES=tempest
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_TEMPEST_REGEX="zaqar_tempest_plugin.tests"
export DEVSTACK_GATE_GRENADE=pullup
export GRENADE_PLUGINRC="enable_grenade_plugin zaqar https://git.openstack.org/openstack/zaqar"
export BRANCH_OVERRIDE=default
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export PROJECTS="openstack/zaqar-tempest-plugin $PROJECTS"
function pre_test_hook {
cd /opt/stack/new/zaqar/zaqar_upgradetests
./pre_test_hook.sh
}
export -f pre_test_hook
function post_test_hook {
cd /opt/stack/new/zaqar/zaqar_upgradetests
./post_test_hook.sh
}
export -f post_test_hook
function gate_hook {
cd /opt/stack/new/zaqar/devstack/gate
./gate_hook.sh tempest "{{ database_backend }}"
}
export -f gate_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 }}'

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,63 @@
- 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-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 zaqar git://git.openstack.org/openstack/zaqar
# Enable Zaqar Tempest plugin
TEMPEST_PLUGINS='/opt/stack/new/zaqar-tempest-plugin'
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
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
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,67 @@
- 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

View File

@ -0,0 +1,86 @@
- hosts: all
name: Autoconverted job legacy-zaqar-tox-integration from old job gate-zaqar-tox-integration-ubuntu-xenial
tasks:
- name: Ensure legacy workspace directory
file:
path: '{{ ansible_user_dir }}/workspace'
state: directory
- shell:
cmd: |
set -e
set -x
CLONEMAP=`mktemp`
REQS_DIR=`mktemp -d`
function cleanup {
mkdir -p $WORKSPACE
rm -rf $CLONEMAP $REQS_DIR
}
trap cleanup EXIT
cat > $CLONEMAP << EOF
clonemap:
- name: $ZUUL_PROJECT
dest: .
EOF
# zuul cloner works poorly if there are 2 names that are the
# same in here.
if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then
cat >> $CLONEMAP << EOF
- name: openstack/requirements
dest: $REQS_DIR
EOF
fi
/usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \
git://git.openstack.org $ZUUL_PROJECT openstack/requirements
# REQS_DIR is not set for openstack/requirements and there is also
# no need to copy in this case.
if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then
cp $REQS_DIR/upper-constraints.txt ./
fi
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
if [ -x tools/test-setup.sh ] ; then
tools/test-setup.sh
fi
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -x
sudo rm -f /etc/sudoers.d/zuul
# Prove that general sudo access is actually revoked
! sudo -n true
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: /usr/local/jenkins/slave_scripts/run-tox.sh integration
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
OUT=`git ls-files --other --exclude-standard --directory`
if [ -z "$OUT" ]; then
echo "No extra files created during test."
exit 0
else
echo "The following un-ignored files were created during the test:"
echo "$OUT"
exit 0 # TODO: change to 1 to fail tests.
fi
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'