whitebox-tempest-plugin/.zuul.yaml
Artom Lifshitz b3a4ae122d Use nested-virt nodepool label
To avoid being 100% dependant on the OpenEdge (formerly Fort Nebula)
nodepool provider, this patch starts using the nested-virt label. In
addition, because we can no longer expect SMT (aka Hyper-Threading)
to be present with the new nodepool label, the new configurable
[whitebox-hardware]/smt_hosts is introduced. It lists the hostnames of
compute hosts that support SMT.

We do have tests that require multi-NUMA and/or SMT. Those are moved
to a new non-voting job that runs on the multi-numa label provided by
OpenEdge.

Story: 2007395
Change-Id: If62d3a23044bf17f35a370e2f84fb459c166c9b2
2020-07-20 19:01:50 -04:00

137 lines
4.0 KiB
YAML

- nodeset:
name: multi-numa-multinode
nodes:
- name: controller
label: multi-numa-ubuntu-bionic
- name: compute
label: multi-numa-ubuntu-bionic
groups:
# Node where tests are executed and test results collected
- name: tempest
nodes:
- controller
# Nodes running the compute service
- name: compute
nodes:
- controller
- compute
# Nodes that are not the controller
- name: subnode
nodes:
- compute
# Switch node for multinode networking setup
- name: switch
nodes:
- controller
# Peer nodes for multinode networking setup
- name: peers
nodes:
- compute
- nodeset:
name: nested-virt-multinode
nodes:
- name: controller
label: nested-virt-ubuntu-bionic
- name: compute
label: nested-virt-ubuntu-bionic
groups:
# Node where tests are executed and test results collected
- name: tempest
nodes:
- controller
# Nodes running the compute service
- name: compute
nodes:
- controller
- compute
# Nodes that are not the controller
- name: subnode
nodes:
- compute
# Switch node for multinode networking setup
- name: switch
nodes:
- controller
# Peer nodes for multinode networking setup
- name: peers
nodes:
- compute
- job:
name: whitebox-multinode-devstack-base
abstract: true
parent: tempest-multinode-full-py3
description: |
Base devstack multinode job.
required-projects:
openstack/whitebox-tempest-plugin
pre-run: playbooks/whitebox/pre.yaml
irrelevant-files:
- ^test-requirements.txt$
vars:
tox_envlist: all
tempest_concurrency: 1
tempest_test_regex: ^whitebox_tempest_plugin\.
tempest_black_regex: "create_none_instance|virtio_to_none|none_to_virtio"
devstack_plugins:
whitebox-tempest-plugin: https://opendev.org/openstack/whitebox-tempest-plugin.git
devstack_localrc:
MAX_COMPUTE_NODES: 2
LIBVIRT_TYPE: kvm
TEMPEST_PLUGINS: /opt/stack/whitebox-tempest-plugin
WHITEBOX_PRIVKEY_PATH: /home/tempest/.ssh/id_rsa
devstack_local_conf:
post-config:
$NOVA_CONF:
libvirt:
cpu_mode: custom
cpu_model: kvm64
virt_type: kvm
group-vars:
subnode:
num_hugepages: 2048
devstack_localrc:
LIBVIRT_TYPE: kvm
tempest:
num_hugepages: 512
- job:
name: whitebox-multinode-devstack
parent: whitebox-multinode-devstack-base
nodeset: nested-virt-multinode
description: |
Runs the entire test suite on single-NUMA, non-SMT, nested virt VMs.
Tests that need SMT and/or more than 1 NUMA node are skipped in the test
code itself.
vars:
tempest_test_regex: ^whitebox_tempest_plugin\.
- job:
name: whitebox-multinode-multinuma-devstack
parent: whitebox-multinode-devstack-base
nodeset: multi-numa-multinode
voting: false
description: |
Runs specific tests that need SMT and/or more than 1 NUMA node.
Non-voting because there is currently only 1 provider of the `multi-numa`
label, and it's not super reliable.
vars:
tempest_test_regex: '(NUMALiveMigrationTest.test_cpu_pinning|CPUThreadPolicyTest)'
devstack_localrc:
SMT_HOSTS: "{{ hostvars['controller']['ansible_facts']['ansible_hostname'] }},{{ hostvars['compute']['ansible_facts']['ansible_hostname'] }}"
- project:
templates:
- openstack-python-jobs
- openstack-python36-jobs
- openstack-python37-jobs
check:
jobs:
- whitebox-multinode-devstack
- whitebox-multinode-multinuma-devstack
gate:
jobs:
- whitebox-multinode-devstack
- whitebox-multinode-multinuma-devstack