Skip to content

Commit cee072b

Browse files
committed
Convert nova-next to a zuul v3 job
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
1 parent 2722cab commit cee072b

File tree

8 files changed

+66
-106
lines changed

8 files changed

+66
-106
lines changed

.zuul.yaml

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@
181181

182182
- job:
183183
name: nova-next
184-
parent: nova-dsvm-base
184+
parent: devstack-tempest
185185
description: |
186186
This job was added in Newton when placement and cellsv2
187187
were optional. Placement and cellsv2 are required starting in Ocata. In
@@ -194,8 +194,52 @@
194194
volume multi-attach testing.
195195
Starting in Train, the job enabled counting quota usage from placement.
196196
Runs all tempest compute API and most scenario tests concurrently.
197-
run: playbooks/legacy/nova-next/run.yaml
198-
post-run: playbooks/legacy/nova-next/post.yaml
197+
irrelevant-files: *dsvm-irrelevant-files
198+
# Run post-tempest tests like for nova-manage commands.
199+
post-run: playbooks/nova-next/post.yaml
200+
vars:
201+
# We use the "all" environment for tempest_test_regex and
202+
# tempest_black_regex.
203+
tox_envlist: all
204+
# Run all compute API tests and most scenario tests at the default
205+
# concurrency (nproc/2 which is normally 4 in the gate).
206+
tempest_test_regex: ^tempest\.(scenario|api\.compute)
207+
# The tempest.scenario.test_network* tests are skipped because they
208+
# (1) take a long time and (2) are already covered in the
209+
# tempest-slow* job. If this regex gets more complicated use
210+
# tempest_test_blacklist.
211+
tempest_black_regex: ^tempest.scenario.test_network
212+
devstack_local_conf:
213+
post-config:
214+
$NOVA_CONF:
215+
compute:
216+
# Switch off the provider association refresh, which should
217+
# reduce the number of placement calls in steady state. Added in
218+
# Stein.
219+
# TODO(efried): Due to bug #1802143, nova-cpu.conf gets
220+
# overwritten after post-config|$NOVA_CPU_CONF gets effected, so
221+
# use $NOVA_CONF instead for now.
222+
resource_provider_association_refresh: 0
223+
quota:
224+
# Added in Train.
225+
count_usage_from_placement: True
226+
scheduler:
227+
# Added in Train.
228+
query_placement_for_image_type_support: True
229+
devstack_localrc:
230+
# Added in Pike.
231+
NOVA_USE_SERVICE_TOKEN: True
232+
# Enable TLS between the noVNC proxy & compute nodes; this requires
233+
# the tls-proxy service to be enabled. Added in Queens.
234+
NOVA_CONSOLE_PROXY_COMPUTE_TLS: True
235+
# Added in Stein.
236+
USE_PYTHON3: True
237+
# Added in Stein.
238+
ENABLE_VOLUME_MULTIATTACH: True
239+
devstack_services:
240+
tls-proxy: true
241+
# TODO(mriedem): Consider disabling other non-essential services like
242+
# c-bak.
199243

200244
- job:
201245
name: nova-tempest-v2-api

gate/post_test_hook.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ function purge_db {
3434
}
3535

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

5555
# TODO(mriedem): Consider checking for instances in ERROR state because

playbooks/legacy/nova-next/post.yaml

Lines changed: 0 additions & 15 deletions
This file was deleted.

playbooks/legacy/nova-next/run.yaml

Lines changed: 0 additions & 85 deletions
This file was deleted.

playbooks/nova-next/post.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- hosts: controller
2+
roles:
3+
# Runs gate/post_test_hook.sh to test things like nova-manage commands.
4+
- run-post-test-hook

roles/run-post-test-hook/README.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Runs gate/post_test_hook.sh.
2+
3+
**Role Variables**
4+
5+
.. zuul:rolevar:: devstack_base_dir
6+
:default: /opt/stack
7+
8+
The devstack base directory.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
devstack_base_dir: /opt/stack
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- name: Run post_test_hook.sh
2+
command: "{{ devstack_base_dir }}/nova/gate/post_test_hook.sh"
3+
become: yes

0 commit comments

Comments
 (0)