Move the nova-next job in-tree and update it

This moves the legacy-tempest-dsvm-neutron-nova-next-full
job from openstack-zuul-jobs in-tree and updates a
few things since it's now branch specific:

- The cells v2 and placement stuff can be removed since those
  are required now (they were optional when this job would run
  against newton changes).
- Use nova/gate/post_test_hook.sh rather than the symlink under
  nova/tools/hooks/.

The job is currently non-voting and needs to remain that way
until bug 1747511 is fixed.

According to the branch restrictions in project-config, apparently
this job is only running against stable/newton (which no longer
exists) and master, presumably when master was pike. We should also
run this job against stable/pike for the service user test coverage
and post_test_hook.sh run, so we'll likely backport this change
to stable/pike as well.

The related project-config change is:

I36d96f89b3e5323746fcbcef5cc7e4d0384a184d

Change-Id: I24a5f73c29094a23e2fdef8ee8b43601300af593
This commit is contained in:
Matt Riedemann 2018-02-06 17:09:28 -05:00
parent fa6c0f9cb1
commit a016e02d4f
3 changed files with 94 additions and 0 deletions

View File

@ -86,11 +86,27 @@
run: playbooks/legacy/nova-multiattach/run.yaml
post-run: playbooks/legacy/nova-multiattach/post.yaml
- job:
name: nova-next
parent: nova-dsvm-base
description: |
This job was added in Newton when placement and cellsv2
were optional. Placement and cellsv2 are required starting in Ocata. In
Pike, the service user token functionality was added. This job is also
unique in that it runs the post_test_hook from the nova repo, which runs
post-test scripts to ensure those scripts are still working,
e.g. archive_deleted_rows.
# TODO(mriedem): Make this voting once bug 1747511 is fixed.
voting: false
run: playbooks/legacy/nova-next/run.yaml
post-run: playbooks/legacy/nova-next/post.yaml
- project:
# Please try to keep the list of job names sorted alphabetically.
check:
jobs:
- nova-multiattach
- nova-next
- nova-tox-functional
- nova-tox-functional-py35
gate:

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,63 @@
- hosts: all
name: nova-next
tasks:
- name: Ensure 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:
# TODO(mriedem): Consider setting USE_PYTHON3=True here to make this
# job run under python 3.5 which is a "next" type thing.
cmd: |
set -e
set -x
cat << 'EOF' >>"/tmp/dg-local.conf"
[[local|localrc]]
NOVA_USE_SERVICE_TOKEN=True
EOF
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
export PYTHONUNBUFFERED=true
# Yes we want to run Tempest.
export DEVSTACK_GATE_TEMPEST=1
# Run non-slow tempest API tests (concurrently) and scenario
# tests (serially).
export DEVSTACK_GATE_TEMPEST_FULL=1
# The post_test_hook runs some post-test CLIs for things that
# Tempest does not test, like archiving deleted records.
function post_test_hook {
if [ -f $BASE/new/nova/gate/post_test_hook.sh ]; then
$BASE/new/nova/gate/post_test_hook.sh
fi
}
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 }}'