Merge "Add a nova-caching-scheduler job to the experimental queue"
This commit is contained in:
commit
489a8f5bf3
@ -62,6 +62,14 @@
|
||||
tox_envlist: functional-py35
|
||||
timeout: 3600
|
||||
|
||||
- job:
|
||||
name: nova-caching-scheduler
|
||||
parent: nova-dsvm-base
|
||||
description: |
|
||||
Run non-slow Tempest API and scenario tests using the CachingScheduler.
|
||||
run: playbooks/legacy/nova-caching-scheduler/run.yaml
|
||||
post-run: playbooks/legacy/nova-caching-scheduler/post.yaml
|
||||
|
||||
- job:
|
||||
name: nova-lvm
|
||||
parent: nova-dsvm-base
|
||||
@ -117,4 +125,5 @@
|
||||
- nova-tox-functional-py35
|
||||
experimental:
|
||||
jobs:
|
||||
- nova-caching-scheduler
|
||||
- nova-lvm
|
||||
|
30
devstack/tempest-dsvm-caching-scheduler-rc
Normal file
30
devstack/tempest-dsvm-caching-scheduler-rc
Normal file
@ -0,0 +1,30 @@
|
||||
#
|
||||
# This script is executed in the OpenStack CI nova-caching-scheduler job.
|
||||
# It's used to configure which tempest tests actually get run. You can find
|
||||
# the CI job configuration under playbooks/legacy/nova-caching-scheduler/.
|
||||
#
|
||||
|
||||
# Construct a regex to use when limiting scope of tempest
|
||||
# to avoid features unsupported by Nova's CachingScheduler support.
|
||||
|
||||
# When adding entries to the regex, add a comment explaining why
|
||||
# since this list should not grow.
|
||||
|
||||
r="^(?!.*"
|
||||
# exclude the slow tag
|
||||
r="$r(?:.*\[.*\bslow\b.*\])"
|
||||
|
||||
# NOTE(mriedem): ServersAdminTestJSON.test_create_server_with_scheduling_hint
|
||||
# is skipped because it relies on the SameHostFilter which relies on the
|
||||
# HostState object which might be stale when that filter runs.
|
||||
# tempest.api.compute.admin.test_servers.ServersAdminTestJSON.test_create_server_with_scheduling_hint
|
||||
r="$r|(?:.*id\-fdcd9b33\-0903\-4e00\-a1f7\-b5f6543068d6.*)"
|
||||
# NOTE(mriedem): AggregatesAdminTestJSON.test_aggregate_add_host_create_server_with_az
|
||||
# is skipped because it creates an aggregate and adds a host to it, then
|
||||
# creates a server in that aggregate but fails to schedule because the caching
|
||||
# scheduler hasn't updated the host's aggregates view yet.
|
||||
# tempest.api.compute.admin.test_aggregates.AggregatesAdminTestJSON.test_aggregate_add_host_create_server_with_az
|
||||
r="$r|(?:.*id\-96be03c7\-570d\-409c\-90f8\-e4db3c646996.*)"
|
||||
r="$r).*$"
|
||||
|
||||
export DEVSTACK_GATE_TEMPEST_REGEX="$r"
|
15
playbooks/legacy/nova-caching-scheduler/post.yaml
Normal file
15
playbooks/legacy/nova-caching-scheduler/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
|
59
playbooks/legacy/nova-caching-scheduler/run.yaml
Normal file
59
playbooks/legacy/nova-caching-scheduler/run.yaml
Normal file
@ -0,0 +1,59 @@
|
||||
- hosts: all
|
||||
name: nova-caching-scheduler
|
||||
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:
|
||||
# The scheduler.periodic_task_interval must be less than the
|
||||
# service_down_time (defaults to 60) otherwise the ComputeFilter
|
||||
# will be using potentially stale compute service information and
|
||||
# think that the compute service is down when it's really not.
|
||||
cmd: |
|
||||
set -e
|
||||
set -x
|
||||
cat << 'EOF' >>"/tmp/dg-local.conf"
|
||||
[[local|localrc]]
|
||||
SCHEDULER=caching_scheduler
|
||||
[[post-config|$NOVA_CONF]]
|
||||
[scheduler]
|
||||
periodic_task_interval=30
|
||||
|
||||
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 with our blacklist.
|
||||
export DEVSTACK_GATE_SETTINGS=/opt/stack/new/nova/devstack/tempest-dsvm-caching-scheduler-rc
|
||||
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 }}'
|
Loading…
Reference in New Issue
Block a user