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
|
tox_envlist: functional-py35
|
||||||
timeout: 3600
|
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:
|
- job:
|
||||||
name: nova-lvm
|
name: nova-lvm
|
||||||
parent: nova-dsvm-base
|
parent: nova-dsvm-base
|
||||||
@ -117,4 +125,5 @@
|
|||||||
- nova-tox-functional-py35
|
- nova-tox-functional-py35
|
||||||
experimental:
|
experimental:
|
||||||
jobs:
|
jobs:
|
||||||
|
- nova-caching-scheduler
|
||||||
- nova-lvm
|
- 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