Skip to content

Commit

Permalink
Convert nova-next to a zuul v3 job
Browse files Browse the repository at this point in the history
For the most part this should be a pretty straight-forward
port of the run.yaml. The most complicated thing is executing
the post_test_hook.sh script. For that, a new post-run playbook
and role are added.

The relative path to devstack scripts in post_test_hook.sh itself
had to drop the 'new' directory since we are no longer executing
the script through devstack-gate anymore the 'new' path does not
exist.

Change-Id: Ie3dc90862c895a8bd9bff4511a16254945f45478
  • Loading branch information
mriedem committed Jul 23, 2019
1 parent 2722cab commit cee072b
Show file tree
Hide file tree
Showing 8 changed files with 66 additions and 106 deletions.
50 changes: 47 additions & 3 deletions .zuul.yaml
Expand Up @@ -181,7 +181,7 @@

- job:
name: nova-next
parent: nova-dsvm-base
parent: devstack-tempest
description: |
This job was added in Newton when placement and cellsv2
were optional. Placement and cellsv2 are required starting in Ocata. In
Expand All @@ -194,8 +194,52 @@
volume multi-attach testing.
Starting in Train, the job enabled counting quota usage from placement.
Runs all tempest compute API and most scenario tests concurrently.
run: playbooks/legacy/nova-next/run.yaml
post-run: playbooks/legacy/nova-next/post.yaml
irrelevant-files: *dsvm-irrelevant-files
# Run post-tempest tests like for nova-manage commands.
post-run: playbooks/nova-next/post.yaml
vars:
# We use the "all" environment for tempest_test_regex and
# tempest_black_regex.
tox_envlist: all
# Run all compute API tests and most scenario tests at the default
# concurrency (nproc/2 which is normally 4 in the gate).
tempest_test_regex: ^tempest\.(scenario|api\.compute)
# The tempest.scenario.test_network* tests are skipped because they
# (1) take a long time and (2) are already covered in the
# tempest-slow* job. If this regex gets more complicated use
# tempest_test_blacklist.
tempest_black_regex: ^tempest.scenario.test_network
devstack_local_conf:
post-config:
$NOVA_CONF:
compute:
# Switch off the provider association refresh, which should
# reduce the number of placement calls in steady state. Added in
# Stein.
# TODO(efried): Due to bug #1802143, nova-cpu.conf gets
# overwritten after post-config|$NOVA_CPU_CONF gets effected, so
# use $NOVA_CONF instead for now.
resource_provider_association_refresh: 0
quota:
# Added in Train.
count_usage_from_placement: True
scheduler:
# Added in Train.
query_placement_for_image_type_support: True
devstack_localrc:
# Added in Pike.
NOVA_USE_SERVICE_TOKEN: True
# Enable TLS between the noVNC proxy & compute nodes; this requires
# the tls-proxy service to be enabled. Added in Queens.
NOVA_CONSOLE_PROXY_COMPUTE_TLS: True
# Added in Stein.
USE_PYTHON3: True
# Added in Stein.
ENABLE_VOLUME_MULTIATTACH: True
devstack_services:
tls-proxy: true
# TODO(mriedem): Consider disabling other non-essential services like
# c-bak.

- job:
name: nova-tempest-v2-api
Expand Down
6 changes: 3 additions & 3 deletions gate/post_test_hook.sh
Expand Up @@ -34,8 +34,8 @@ function purge_db {
}

BASE=${BASE:-/opt/stack}
source ${BASE}/new/devstack/functions-common
source ${BASE}/new/devstack/lib/nova
source ${BASE}/devstack/functions-common
source ${BASE}/devstack/lib/nova
cell_conf=$(conductor_conf 1)
# NOTE(danms): We need to pass the main config to get the api db
# bits, and then also the cell config for the cell1 db (instead of
Expand All @@ -49,7 +49,7 @@ purge_db
set -e
# We need to get the admin credentials to run the OSC CLIs for Placement.
set +x
source $BASE/new/devstack/openrc admin
source $BASE/devstack/openrc admin
set -x

# TODO(mriedem): Consider checking for instances in ERROR state because
Expand Down
15 changes: 0 additions & 15 deletions playbooks/legacy/nova-next/post.yaml

This file was deleted.

85 changes: 0 additions & 85 deletions playbooks/legacy/nova-next/run.yaml

This file was deleted.

4 changes: 4 additions & 0 deletions playbooks/nova-next/post.yaml
@@ -0,0 +1,4 @@
- hosts: controller
roles:
# Runs gate/post_test_hook.sh to test things like nova-manage commands.
- run-post-test-hook
8 changes: 8 additions & 0 deletions roles/run-post-test-hook/README.rst
@@ -0,0 +1,8 @@
Runs gate/post_test_hook.sh.

**Role Variables**

.. zuul:rolevar:: devstack_base_dir
:default: /opt/stack

The devstack base directory.
1 change: 1 addition & 0 deletions roles/run-post-test-hook/defaults/main.yaml
@@ -0,0 +1 @@
devstack_base_dir: /opt/stack
3 changes: 3 additions & 0 deletions roles/run-post-test-hook/tasks/main.yaml
@@ -0,0 +1,3 @@
- name: Run post_test_hook.sh
command: "{{ devstack_base_dir }}/nova/gate/post_test_hook.sh"
become: yes

0 comments on commit cee072b

Please sign in to comment.