Add nova-multi-cell job

This adds a non-voting nova-multi-cell job which
is a 2-node job with 2 non-cell0 cells (cell1 and cell2).
The compute on the controller will be in cell1 and the
subnode compute will be in cell2.

Until cross-cell resize is supported, cold migration
has to be disabled since we can't cold migrate to
the same host (and there is only one compute host per
cell). As a result, resize to the same host is enabled
(it is normally disabled in the tempest multinode job).
The parent job enables live migration testing but since
we only have one host per cell and don't support live
migration across cells, the live migration tests are
also disabled.

The job is also setup to run with python3 since that
is the way of the future.

Non-essential services, like cinder-backup, are disabled
since we (1) won't need it for the tests we run and
(2) would like to save as much room on the hosts as possible
since we're running multiple cell conductors on the
controller host.

Since this is new and its already uncovered at least one
bug (bug 1826472), the job is non-voting in the check queue
for now until we're happy with its stability.

Related to blueprint cross-cell-resize

Change-Id: I8ad3f8bcbecf0f6b1d0f57e9f61ff21bd7fbe365
This commit is contained in:
Matt Riedemann 2019-04-23 13:53:56 -04:00
parent fc3890667e
commit d2e58cb490
2 changed files with 74 additions and 0 deletions

View File

@ -211,6 +211,70 @@
- openstack/nova
irrelevant-files: *live-migration-irrelevant-files
- job:
name: nova-multi-cell
parent: tempest-multinode-full-py3
description: |
Multi-node python3 job which runs with two nodes and two non-cell0
cells. The compute on the controller runs in cell1 and the compute
on the subnode runs in cell2.
irrelevant-files: *dsvm-irrelevant-files
# TODO(mriedem): Make this job voting and gating once we're happy with
# its relative stability.
voting: false
vars:
# We use the "all" environment for tempest_test_regex and
# tempest_test_blacklist.
tox_envlist: all
# Run compute API and scenario tests.
tempest_test_regex: ^tempest\.(scenario|(api\.compute))
tempest_test_blacklist: '{{ ansible_user_dir }}/{{ zuul.projects["opendev.org/openstack/nova"].src_dir }}/devstack/nova-multi-cell-blacklist.txt'
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
compute-feature-enabled:
# TODO(mriedem): Enable cold migration once cross-cell resize is
# supported. We cannot enable it until then because this job has
# one compute in each cell and with
# allow_resize_to_same_host=True cold migrate will try to migrate
# on the same host which is not supported by the libvirt driver.
cold_migration: false
devstack_services:
# Disable n-novnc until bug 1822873 is fixed.
n-novnc: false
# Disable other non-essential services that we don't need for this job.
c-bak: false
devstack_localrc:
# Setup two non-cell0 cells (cell1 and cell2).
NOVA_NUM_CELLS: 2
# Resize to the same host is supported for now since we only have
# two computes and they are in different cells.
# TODO(mriedem): Disable resize to the same host once cross-cell resize
# is supported so all resizes will move across cells.
NOVA_ALLOW_MOVE_TO_SAME_HOST: true
# We only have two computes and we don't yet support cross-cell live
# migration.
LIVE_MIGRATION_AVAILABLE: false
# Disable n-novnc until bug 1822873 is fixed.
NOVA_VNC_ENABLED: false
group-vars:
peers:
devstack_localrc:
NOVA_ALLOW_MOVE_TO_SAME_HOST: true
LIVE_MIGRATION_AVAILABLE: false
subnode:
devstack_localrc:
# The subnode compute will get registered with cell2.
NOVA_CPU_CELL: 2
# Disable n-novnc until bug 1822873 is fixed.
NOVA_VNC_ENABLED: false
devstack_services:
# Disable n-novnc until bug 1822873 is fixed.
n-novnc: false
# Disable other non-essential services that we don't need for this
# job.
c-bak: false
- project:
# Please try to keep the list of job names sorted alphabetically.
templates:
@ -246,6 +310,7 @@
- nova-grenade-live-migration
- nova-live-migration
- nova-lvm
- nova-multi-cell
- nova-next
- nova-tox-functional
- nova-tox-functional-py36

View File

@ -0,0 +1,9 @@
# --blacklist-file contents for the nova-multi-cell job defined in .zuul.yaml
# See: https://stestr.readthedocs.io/en/latest/MANUAL.html#test-selection
# Exclude tempest.scenario.test_network tests since they are slow and
# only test advanced neutron features, unrelated to multi-cell testing.
^tempest.scenario.test_network
# Disable associate floating IP tests until bug 1826472 is fixed.
tempest.api.compute.floating_ips.test_floating_ips_actions.FloatingIPsAssociationTestJSON