[CI] Fix the functional job

Make it compatible with the DevStack switch to OVN.

It cleans up the job definition to reuse defaults as
much as possible to avoid similar issues in the future.
The Swift (as previously) and Cinder (since now) are
disabled as they are irrelevant to Masakari.

This patch also turns off bindep (not useful in
functional tests) and limits tox installation to
the controller node (where it runs from).

The DevStack orchestration has been moved to the ``run``
phase to avoid wasting time on (``pre-run`` phase)
retries when Masakari fails to install via DevStack.

Change-Id: I70a10eb29e1fbef2786c2e7229aa2c615f6e5a5e
This commit is contained in:
Radosław Piliszek 2021-06-05 13:52:30 +00:00
parent fb0d8f73af
commit 3102b8af3e
3 changed files with 24 additions and 103 deletions

View File

@ -1,52 +1,14 @@
---
- nodeset:
name: masakari-ubuntu-focal-duo
nodes:
- name: controller
label: ubuntu-focal
- name: compute1
label: ubuntu-focal
groups:
# Nodes running the compute service
- name: compute
nodes:
- controller
- compute1
# Nodes that are not the controller
- name: subnode
nodes:
- compute1
# Switch node for multinode networking setup
- name: switch
nodes:
- controller
# Peer nodes for multinode networking setup
- name: peers
nodes:
- compute1
- job:
name: masakari-functional-devstack-multinode
parent: devstack
description: |
Base multinodes job for devstack-based functional tests
nodeset: masakari-ubuntu-focal-duo
Masakari functional tests job based on devstack (two-node).
nodeset: openstack-two-node-focal
pre-run: playbooks/devstack/pre.yaml
run: playbooks/devstack/run.yaml
post-run: playbooks/devstack/post.yaml
roles:
- zuul: openstack-infra/devstack
timeout: 9000
required-projects:
- openstack/cinder
- openstack/glance
- openstack/keystone
- openstack/neutron
- openstack/nova
- openstack/placement
- openstack/horizon
- openstack/python-masakariclient
- openstack/masakari
- openstack/masakari-monitors
irrelevant-files:
@ -59,79 +21,38 @@
- ^\.gitreview$
- ^\.mailmap$
- ^\.yamllint$
- ^\.zuul.yaml$
- ^\.zuul\.yaml$
- ^LICENSE$
- ^.*[^/]+\.rst$
- ^bindep\.txt$
vars:
test_matrix_configs: [neutron]
devstack_plugins:
masakari: https://opendev.org/openstack/masakari
devstack_services:
horizon: false
# FIXME(yoctozepto): Make the job tls-proxy-compatible.
tls-proxy: false
# NOTE(yoctozepto): Disable controller's cinder (c-* services).
# It is enabled by default by the parent job (devstack) definition.
cinder: false
# NOTE(yoctozepto): Disable controller's swift (s-* services).
# It is enabled by default by the parent job (devstack) definition.
swift: false
devstack_localrc:
USE_PYTHON3: true
DATABASE_TYPE: mysql
zuul_work_dir: src/opendev.org/openstack/masakari
host-vars:
controller:
devstack_plugins:
masakari: https://opendev.org/openstack/masakari
devstack_services:
mysql: true
rabbit: true
tls-proxy: false
horizon: false
swift: false
# Keystone services
key: true
# Glance services
g-api: true
# Nova services
n-api: true
n-api-meta: true
n-cond: true
n-cpu: true
n-novnc: true
n-sch: true
placement-api: true
# Legacy Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-metering: true
q-svc: true
# Cinder services
c-api: true
c-sch: true
c-vol: true
cinder: true
# Masakari services
masakari-api: true
masakari-engine: true
masakari-monitors: true
tox_install_siblings: false
tox_envlist: functional
group-vars:
subnode:
devstack_localrc:
DATABASE_TYPE: mysql
devstack_plugins:
masakari: https://opendev.org/openstack/masakari
devstack_services:
q-agt: true
n-api: false
n-api-meta: false
n-cauth: false
n-cond: false
n-cpu: true
n-novnc: false
n-sch: false
horizon: false
# FIXME(yoctozepto): Make the job tls-proxy-compatible.
tls-proxy: false
# Masakari services
masakari-monitors: true
# Override Masakari services on non-controllers (overrides default
# plugin settings in Masakari). Only monitors are left.
masakari-api: false
masakari-engine: false
# NOTE(yoctozepto): Disable compute's cinder (c-* services).
# It is enabled by default by the parent job (devstack) definition.
cinder: false
- project:
templates:

View File

@ -1,8 +1,4 @@
---
- hosts: all
- hosts: controller
roles:
- orchestrate-devstack
- role: bindep
bindep_profile: test
bindep_dir: "{{ zuul_work_dir }}"
- ensure-tox

View File

@ -1,4 +1,8 @@
---
- hosts: all
roles:
- orchestrate-devstack
- hosts: controller
roles:
- tox