Merge "Migrate to Zuul v3"
This commit is contained in:
commit
696933ab76
98
.zuul.yaml
Normal file
98
.zuul.yaml
Normal 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
|
15
playbooks/legacy/grenade-devstack-zaqar-base/post.yaml
Normal file
15
playbooks/legacy/grenade-devstack-zaqar-base/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
|
83
playbooks/legacy/grenade-devstack-zaqar-base/run.yaml
Normal file
83
playbooks/legacy/grenade-devstack-zaqar-base/run.yaml
Normal 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 }}'
|
80
playbooks/legacy/tempest-devstack-zaqar-base/post.yaml
Normal file
80
playbooks/legacy/tempest-devstack-zaqar-base/post.yaml
Normal 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
|
63
playbooks/legacy/tempest-devstack-zaqar-base/run.yaml
Normal file
63
playbooks/legacy/tempest-devstack-zaqar-base/run.yaml
Normal 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 }}'
|
67
playbooks/legacy/zaqar-tox-integration/post.yaml
Normal file
67
playbooks/legacy/zaqar-tox-integration/post.yaml
Normal 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
|
86
playbooks/legacy/zaqar-tox-integration/run.yaml
Normal file
86
playbooks/legacy/zaqar-tox-integration/run.yaml
Normal 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 }}'
|
Loading…
Reference in New Issue
Block a user