50e3c06ec2
There are two problems with dbcounter installation on Jammy. The first is straightforward. We have to use `py_modules` instead of `modules` to specify the source file. I don't know how this works on other distros but the docs [0] seem to clearly indicate py_modules does this. The second issue is quite an issue and requires story time. When pip/setuptools insteall editable installs (as is done for many of the openstack projects) it creates an easy-install.pth file that tells the python interpreter to add the source dirs of those repos to the python path. Normally these paths are appended to your sys.path. Pip's isolated build env relies on the assumption that these paths are appeneded to the path when it santizes sys.path to create the isolated environemnt. However, when SETUPTOOLS_SYS_PATH_TECHNIQUE is set to rewrite the paths are not appended and are inserted in the middle. This breaks pip's isolated build env which broke dbcounter installations. We fix this by not setting SETUPTOOLS_SYS_PATH_TECHNIQUE to rewrite. Upstream indicates the reason we set this half a decade ago has since been fixed properly. The reason Jammy and nothing else breaks is that python3.10 is the first python version to use pip's isolated build envs by default. I've locally fiddled with a patch to pip [1] to try and fix this behavior even when rewrite is set. I don't plan to push this upstream but it helps to illustrate where the problem lies. If someone else would like to upstream this feel free. Finally this change makes the jammy platform job voting again and adds it to the gate to ensure we don't regress again. [0] https://docs.python.org/3/distutils/sourcedist.html#specifying-the-files-to-distribute [1] https://paste.opendev.org/show/bqVAuhgMtVtfYupZK5J6/ Change-Id: I237f5663b0f8b060f6df130de04e17e2b1695f8a
1038 lines
30 KiB
YAML
1038 lines
30 KiB
YAML
- pragma:
|
|
# NOTE(gtema): this is required for the changes in SDK feature/r1 branch to
|
|
# be using devstack
|
|
# TODO(gtema): delete this once r1 branch is merged into master
|
|
implied-branches:
|
|
- master
|
|
- feature/r1
|
|
|
|
- nodeset:
|
|
name: openstack-single-node
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-xenial
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: openstack-single-node-jammy
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-jammy
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: openstack-single-node-focal
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-focal
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: openstack-single-node-bionic
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-bionic
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: openstack-single-node-xenial
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-xenial
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: devstack-single-node-centos-7
|
|
nodes:
|
|
- name: controller
|
|
label: centos-7
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: devstack-single-node-centos-9-stream
|
|
nodes:
|
|
- name: controller
|
|
label: centos-9-stream
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: devstack-single-node-opensuse-15
|
|
nodes:
|
|
- name: controller
|
|
label: opensuse-15
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: devstack-single-node-fedora-latest
|
|
nodes:
|
|
- name: controller
|
|
label: fedora-35
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: devstack-single-node-debian-bullseye
|
|
nodes:
|
|
- name: controller
|
|
label: debian-bullseye
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: devstack-single-node-openeuler-20.03-sp2
|
|
nodes:
|
|
- name: controller
|
|
label: openEuler-20-03-LTS-SP2
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: openstack-two-node
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-xenial
|
|
- name: compute1
|
|
label: ubuntu-xenial
|
|
groups:
|
|
# Node where tests are executed and test results collected
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
# 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
|
|
|
|
- nodeset:
|
|
name: openstack-two-node-centos-9-stream
|
|
nodes:
|
|
- name: controller
|
|
label: centos-9-stream
|
|
- name: compute1
|
|
label: centos-9-stream
|
|
groups:
|
|
# Node where tests are executed and test results collected
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
# 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
|
|
|
|
- nodeset:
|
|
name: openstack-two-node-focal
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-focal
|
|
- name: compute1
|
|
label: ubuntu-focal
|
|
groups:
|
|
# Node where tests are executed and test results collected
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
# 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
|
|
|
|
- nodeset:
|
|
name: openstack-two-node-bionic
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-bionic
|
|
- name: compute1
|
|
label: 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
|
|
- 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
|
|
|
|
- nodeset:
|
|
name: openstack-two-node-xenial
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-xenial
|
|
- name: compute1
|
|
label: ubuntu-xenial
|
|
groups:
|
|
# Node where tests are executed and test results collected
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
# 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
|
|
|
|
- nodeset:
|
|
name: openstack-three-node-focal
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-focal
|
|
- name: compute1
|
|
label: ubuntu-focal
|
|
- name: compute2
|
|
label: ubuntu-focal
|
|
groups:
|
|
# Node where tests are executed and test results collected
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
# Nodes running the compute service
|
|
- name: compute
|
|
nodes:
|
|
- controller
|
|
- compute1
|
|
- compute2
|
|
# Nodes that are not the controller
|
|
- name: subnode
|
|
nodes:
|
|
- compute1
|
|
- compute2
|
|
# Switch node for multinode networking setup
|
|
- name: switch
|
|
nodes:
|
|
- controller
|
|
# Peer nodes for multinode networking setup
|
|
- name: peers
|
|
nodes:
|
|
- compute1
|
|
- compute2
|
|
|
|
- nodeset:
|
|
name: openstack-three-node-bionic
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-bionic
|
|
- name: compute1
|
|
label: ubuntu-bionic
|
|
- name: compute2
|
|
label: 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
|
|
- compute1
|
|
- compute2
|
|
# Nodes that are not the controller
|
|
- name: subnode
|
|
nodes:
|
|
- compute1
|
|
- compute2
|
|
# Switch node for multinode networking setup
|
|
- name: switch
|
|
nodes:
|
|
- controller
|
|
# Peer nodes for multinode networking setup
|
|
- name: peers
|
|
nodes:
|
|
- compute1
|
|
- compute2
|
|
|
|
- job:
|
|
name: devstack-base
|
|
parent: multinode
|
|
abstract: true
|
|
description: |
|
|
Base abstract Devstack job.
|
|
|
|
Defines plays and base variables, but it does not include any project
|
|
and it does not run any service by default. This is a common base for
|
|
all single Devstack jobs, single or multinode.
|
|
Variables are defined in job.vars, which is what is then used by single
|
|
node jobs and by multi node jobs for the controller, as well as in
|
|
job.group-vars.peers, which is what is used by multi node jobs for subnode
|
|
nodes (everything but the controller).
|
|
required-projects:
|
|
- opendev.org/openstack/devstack
|
|
roles:
|
|
- zuul: opendev.org/openstack/devstack-gate
|
|
- zuul: opendev.org/openstack/openstack-zuul-jobs
|
|
vars:
|
|
devstack_localrc:
|
|
DATABASE_PASSWORD: secretdatabase
|
|
RABBIT_PASSWORD: secretrabbit
|
|
ADMIN_PASSWORD: secretadmin
|
|
SERVICE_PASSWORD: secretservice
|
|
NETWORK_GATEWAY: 10.1.0.1
|
|
FIXED_RANGE: 10.1.0.0/20
|
|
IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
|
|
FLOATING_RANGE: 172.24.5.0/24
|
|
PUBLIC_NETWORK_GATEWAY: 172.24.5.1
|
|
LOGFILE: /opt/stack/logs/devstacklog.txt
|
|
LOG_COLOR: false
|
|
VERBOSE: true
|
|
VERBOSE_NO_TIMESTAMP: true
|
|
NOVNC_FROM_PACKAGE: true
|
|
ERROR_ON_CLONE: true
|
|
# Gate jobs can't deal with nested virt. Disable it by default.
|
|
LIBVIRT_TYPE: '{{ devstack_libvirt_type | default("qemu") }}'
|
|
devstack_services:
|
|
# Ignore any default set by devstack. Emit a "disable_all_services".
|
|
base: false
|
|
zuul_copy_output:
|
|
'{{ devstack_conf_dir }}/local.conf': logs
|
|
'{{ devstack_conf_dir }}/localrc': logs
|
|
'{{ devstack_conf_dir }}/.localrc.auto': logs
|
|
'{{ devstack_conf_dir }}/.stackenv': logs
|
|
'{{ devstack_log_dir }}/dstat-csv.log': logs
|
|
'{{ devstack_log_dir }}/devstacklog.txt': logs
|
|
'{{ devstack_log_dir }}/devstacklog.txt.summary': logs
|
|
'{{ devstack_log_dir }}/tcpdump.pcap': logs
|
|
'{{ devstack_log_dir }}/worlddump-latest.txt': logs
|
|
'{{ devstack_full_log}}': logs
|
|
'{{ stage_dir }}/verify_tempest_conf.log': logs
|
|
'{{ stage_dir }}/performance.json': logs
|
|
'{{ stage_dir }}/apache': logs
|
|
'{{ stage_dir }}/apache_config': logs
|
|
'{{ stage_dir }}/etc': logs
|
|
/var/log/rabbitmq: logs
|
|
/var/log/postgresql: logs
|
|
/var/log/mysql: logs
|
|
/var/log/libvirt: logs
|
|
/etc/libvirt: logs
|
|
/etc/sudoers: logs
|
|
/etc/sudoers.d: logs
|
|
'{{ stage_dir }}/iptables.txt': logs
|
|
'{{ stage_dir }}/df.txt': logs
|
|
'{{ stage_dir }}/pip2-freeze.txt': logs
|
|
'{{ stage_dir }}/pip3-freeze.txt': logs
|
|
'{{ stage_dir }}/dpkg-l.txt': logs
|
|
'{{ stage_dir }}/rpm-qa.txt': logs
|
|
'{{ stage_dir }}/core': logs
|
|
'{{ stage_dir }}/listen53.txt': logs
|
|
'{{ stage_dir }}/services.txt': logs
|
|
'{{ stage_dir }}/deprecations.log': logs
|
|
'{{ stage_dir }}/audit.log': logs
|
|
/etc/ceph: logs
|
|
/var/log/ceph: logs
|
|
/var/log/openvswitch: logs
|
|
/var/log/glusterfs: logs
|
|
/etc/glusterfs/glusterd.vol: logs
|
|
/etc/resolv.conf: logs
|
|
/var/log/unbound.log: logs
|
|
extensions_to_txt:
|
|
conf: true
|
|
log: true
|
|
localrc: true
|
|
stackenv: true
|
|
auto: true
|
|
group-vars:
|
|
subnode:
|
|
devstack_localrc:
|
|
DATABASE_PASSWORD: secretdatabase
|
|
RABBIT_PASSWORD: secretrabbit
|
|
ADMIN_PASSWORD: secretadmin
|
|
SERVICE_PASSWORD: secretservice
|
|
NETWORK_GATEWAY: 10.1.0.1
|
|
FIXED_RANGE: 10.1.0.0/20
|
|
IPV4_ADDRS_SAFE_TO_USE: 10.1.0.0/20
|
|
FLOATING_RANGE: 172.24.5.0/24
|
|
PUBLIC_NETWORK_GATEWAY: 172.24.5.1
|
|
LOGFILE: /opt/stack/logs/devstacklog.txt
|
|
LOG_COLOR: false
|
|
VERBOSE: true
|
|
VERBOSE_NO_TIMESTAMP: true
|
|
NOVNC_FROM_PACKAGE: true
|
|
ERROR_ON_CLONE: true
|
|
LIBVIRT_TYPE: qemu
|
|
devstack_services:
|
|
base: false
|
|
pre-run: playbooks/pre.yaml
|
|
run: playbooks/devstack.yaml
|
|
post-run: playbooks/post.yaml
|
|
irrelevant-files:
|
|
# Documentation related
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^releasenotes/.*$
|
|
# Translations
|
|
- ^.*/locale/.*po$
|
|
|
|
- job:
|
|
name: devstack-minimal
|
|
parent: devstack-base
|
|
description: |
|
|
Minimal devstack base job, intended for use by jobs that need
|
|
less than the normal minimum set of required-projects.
|
|
nodeset: openstack-single-node-focal
|
|
required-projects:
|
|
- opendev.org/openstack/requirements
|
|
vars:
|
|
devstack_localrc:
|
|
# Multinode specific settings
|
|
SERVICE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
HOST_IP: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
|
|
devstack_services:
|
|
# Shared services
|
|
dstat: false
|
|
etcd3: true
|
|
memory_tracker: true
|
|
mysql: true
|
|
rabbit: true
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
# Shared services
|
|
dstat: false
|
|
memory_tracker: true
|
|
devstack_localrc:
|
|
# Multinode specific settings
|
|
HOST_IP: "{{ hostvars[inventory_hostname]['nodepool']['private_ipv4'] }}"
|
|
SERVICE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
PUBLIC_BRIDGE_MTU: '{{ external_bridge_mtu }}'
|
|
# Subnode specific settings
|
|
DATABASE_TYPE: mysql
|
|
RABBIT_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
DATABASE_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
|
|
|
|
- job:
|
|
name: devstack
|
|
parent: devstack-minimal
|
|
description: |
|
|
Base devstack job for integration gate.
|
|
|
|
This base job can be used for single node and multinode devstack jobs.
|
|
|
|
With a single node nodeset, this job sets up an "all-in-one" (aio)
|
|
devstack with the seven OpenStack services included in the devstack tree:
|
|
keystone, glance, cinder, neutron, nova, placement, and swift.
|
|
|
|
With a two node nodeset, this job sets up an aio + compute node.
|
|
The controller can be customised using host-vars.controller, the
|
|
sub-nodes can be customised using group-vars.subnode.
|
|
|
|
Descendent jobs can enable / disable services, add devstack configuration
|
|
options, enable devstack plugins, configure log files or directories to be
|
|
transferred to the log server.
|
|
|
|
The job assumes that there is only one controller node. The number of
|
|
subnodes can be scaled up seamlessly by setting a custom nodeset in
|
|
job.nodeset.
|
|
|
|
The run playbook consists of a single role, so it can be easily rewritten
|
|
and extended.
|
|
required-projects:
|
|
- opendev.org/openstack/cinder
|
|
- opendev.org/openstack/glance
|
|
- opendev.org/openstack/keystone
|
|
- opendev.org/openstack/neutron
|
|
- opendev.org/openstack/nova
|
|
- opendev.org/openstack/placement
|
|
- opendev.org/openstack/swift
|
|
timeout: 7200
|
|
vars:
|
|
devstack_localrc:
|
|
# Common OpenStack services settings
|
|
SWIFT_REPLICAS: 1
|
|
SWIFT_START_ALL_SERVICES: false
|
|
SWIFT_HASH: 1234123412341234
|
|
DEBUG_LIBVIRT_COREDUMPS: true
|
|
NOVA_VNC_ENABLED: true
|
|
OVN_DBS_LOG_LEVEL: dbg
|
|
devstack_local_conf:
|
|
post-config:
|
|
$NEUTRON_CONF:
|
|
DEFAULT:
|
|
global_physnet_mtu: '{{ external_bridge_mtu }}'
|
|
devstack_services:
|
|
# Core services enabled for this branch.
|
|
# This list replaces the test-matrix.
|
|
# Shared services
|
|
dstat: false
|
|
etcd3: true
|
|
memory_tracker: true
|
|
mysql: true
|
|
rabbit: true
|
|
tls-proxy: true
|
|
# 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 service
|
|
placement-api: true
|
|
# OVN services
|
|
ovn-controller: true
|
|
ovn-northd: true
|
|
ovs-vswitchd: true
|
|
ovsdb-server: true
|
|
# Neutron services
|
|
q-svc: true
|
|
q-ovn-metadata-agent: true
|
|
# Swift services
|
|
s-account: true
|
|
s-container: true
|
|
s-object: true
|
|
s-proxy: true
|
|
# Cinder services
|
|
c-api: true
|
|
c-bak: true
|
|
c-sch: true
|
|
c-vol: true
|
|
# Services we don't need.
|
|
# This section is not really needed, it's for readability.
|
|
horizon: false
|
|
tempest: false
|
|
# Test matrix emits ceilometer but ceilomenter is not installed in the
|
|
# integrated gate, so specifying the services has not effect.
|
|
# ceilometer-*: false
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
# Core services enabled for this branch.
|
|
# This list replaces the test-matrix.
|
|
# Shared services
|
|
dstat: false
|
|
memory_tracker: true
|
|
tls-proxy: true
|
|
# Nova services
|
|
n-cpu: true
|
|
# Placement services
|
|
placement-client: true
|
|
# OVN services
|
|
ovn-controller: true
|
|
ovs-vswitchd: true
|
|
ovsdb-server: true
|
|
# Neutron services
|
|
q-ovn-metadata-agent: true
|
|
# Cinder services
|
|
c-bak: true
|
|
c-vol: true
|
|
# Services we don't run at all on subnode.
|
|
# This section is not really needed, it's for readability.
|
|
# keystone: false
|
|
# s-*: false
|
|
horizon: false
|
|
tempest: false
|
|
# Test matrix emits ceilometer but ceilometer is not installed in the
|
|
# integrated gate, so specifying the services has not effect.
|
|
# ceilometer-*: false
|
|
devstack_localrc:
|
|
# Subnode specific settings
|
|
GLANCE_HOSTPORT: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}:9292"
|
|
Q_HOST: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
|
|
NOVA_VNC_ENABLED: true
|
|
ENABLE_CHASSIS_AS_GW: false
|
|
|
|
- job:
|
|
name: devstack-ipv6
|
|
parent: devstack
|
|
description: |
|
|
Devstack single node job for integration gate with IPv6.
|
|
vars:
|
|
devstack_localrc:
|
|
SERVICE_IP_VERSION: 6
|
|
SERVICE_HOST: ""
|
|
|
|
- job:
|
|
name: devstack-enforce-scope
|
|
parent: devstack
|
|
description: |
|
|
This job runs the devstack with scope checks enabled.
|
|
vars:
|
|
devstack_localrc:
|
|
ENFORCE_SCOPE: true
|
|
|
|
- job:
|
|
name: devstack-multinode
|
|
parent: devstack
|
|
nodeset: openstack-two-node-focal
|
|
description: |
|
|
Simple multinode test to verify multinode functionality on devstack side.
|
|
This is not meant to be used as a parent job.
|
|
|
|
# NOTE(ianw) Platform tests have traditionally been non-voting because
|
|
# we often have to rush things through devstack to stabilise the gate,
|
|
# and these platforms don't have the round-the-clock support to avoid
|
|
# becoming blockers in that situation.
|
|
- job:
|
|
name: devstack-platform-centos-9-stream
|
|
parent: tempest-full-py3
|
|
description: CentOS 9 Stream platform test
|
|
nodeset: devstack-single-node-centos-9-stream
|
|
timeout: 9000
|
|
vars:
|
|
configure_swap_size: 4096
|
|
|
|
- job:
|
|
name: devstack-platform-debian-bullseye
|
|
parent: tempest-full-py3
|
|
description: Debian Bullseye platform test
|
|
nodeset: devstack-single-node-debian-bullseye
|
|
voting: false
|
|
timeout: 9000
|
|
vars:
|
|
configure_swap_size: 4096
|
|
# NOTE(yoctozepto): Debian Bullseye does not yet offer OVN. Switch to OVS
|
|
# for the time being.
|
|
devstack_localrc:
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vxlan
|
|
devstack_services:
|
|
# Disable OVN services
|
|
ovn-northd: false
|
|
ovn-controller: false
|
|
ovs-vswitchd: false
|
|
ovsdb-server: false
|
|
# Disable Neutron ML2/OVN services
|
|
q-ovn-metadata-agent: false
|
|
# Enable Neutron ML2/OVS services
|
|
q-agt: true
|
|
q-dhcp: true
|
|
q-l3: true
|
|
q-meta: true
|
|
q-metering: true
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
# Disable OVN services
|
|
ovn-controller: false
|
|
ovs-vswitchd: false
|
|
ovsdb-server: false
|
|
# Disable Neutron ML2/OVN services
|
|
q-ovn-metadata-agent: false
|
|
# Enable Neutron ML2/OVS services
|
|
q-agt: true
|
|
|
|
- job:
|
|
name: devstack-platform-openEuler-20.03-SP2
|
|
parent: tempest-full-py3
|
|
description: openEuler 20.03 SP2 platform test
|
|
nodeset: devstack-single-node-openeuler-20.03-sp2
|
|
voting: false
|
|
timeout: 9000
|
|
vars:
|
|
configure_swap_size: 4096
|
|
devstack_localrc:
|
|
# NOTE(wxy): OVN package is not supported by openEuler yet. Build it
|
|
# from source instead.
|
|
OVN_BUILD_FROM_SOURCE: True
|
|
|
|
- job:
|
|
name: devstack-platform-ubuntu-jammy
|
|
parent: tempest-full-py3
|
|
description: Ubuntu 22.04 LTS (jammy) platform test
|
|
nodeset: openstack-single-node-jammy
|
|
timeout: 9000
|
|
vars:
|
|
configure_swap_size: 4096
|
|
devstack_services:
|
|
# Horizon doesn't like py310
|
|
horizon: false
|
|
|
|
- job:
|
|
name: devstack-platform-ubuntu-jammy-ovn-source
|
|
parent: devstack-platform-ubuntu-jammy
|
|
description: Ubuntu 22.04 LTS (jammy) platform test (OVN from source)
|
|
voting: false
|
|
vars:
|
|
devstack_localrc:
|
|
OVN_BUILD_FROM_SOURCE: True
|
|
OVN_BRANCH: "v21.06.0"
|
|
OVS_BRANCH: "a4b04276ab5934d087669ff2d191a23931335c87"
|
|
OVS_SYSCONFDIR: "/usr/local/etc/openvswitch"
|
|
|
|
- job:
|
|
name: devstack-platform-ubuntu-jammy-ovs
|
|
parent: tempest-full-py3
|
|
description: Ubuntu 22.04 LTS (jammy) platform test (OVS)
|
|
nodeset: openstack-single-node-jammy
|
|
voting: false
|
|
timeout: 9000
|
|
vars:
|
|
configure_swap_size: 8192
|
|
devstack_localrc:
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vxlan
|
|
devstack_services:
|
|
# Horizon doesn't like py310
|
|
horizon: false
|
|
# Disable OVN services
|
|
ovn-northd: false
|
|
ovn-controller: false
|
|
ovs-vswitchd: false
|
|
ovsdb-server: false
|
|
# Disable Neutron ML2/OVN services
|
|
q-ovn-metadata-agent: false
|
|
# Enable Neutron ML2/OVS services
|
|
q-agt: true
|
|
q-dhcp: true
|
|
q-l3: true
|
|
q-meta: true
|
|
q-metering: true
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
# Disable OVN services
|
|
ovn-controller: false
|
|
ovs-vswitchd: false
|
|
ovsdb-server: false
|
|
# Disable Neutron ML2/OVN services
|
|
q-ovn-metadata-agent: false
|
|
# Enable Neutron ML2/OVS services
|
|
q-agt: true
|
|
|
|
- job:
|
|
name: devstack-no-tls-proxy
|
|
parent: tempest-full-py3
|
|
description: |
|
|
Tempest job with tls-proxy off.
|
|
|
|
Some gates run devstack like this and it follows different code paths.
|
|
vars:
|
|
devstack_services:
|
|
tls-proxy: false
|
|
|
|
- job:
|
|
name: devstack-platform-fedora-latest
|
|
parent: tempest-full-py3
|
|
description: Fedora latest platform test
|
|
nodeset: devstack-single-node-fedora-latest
|
|
voting: false
|
|
vars:
|
|
configure_swap_size: 4096
|
|
# Python 3.10 dependency issues; see
|
|
# https://bugs.launchpad.net/horizon/+bug/1960204
|
|
devstack_services:
|
|
horizon: false
|
|
|
|
- job:
|
|
name: devstack-platform-fedora-latest-virt-preview
|
|
parent: tempest-full-py3
|
|
description: Fedora latest platform test using the virt-preview repo.
|
|
nodeset: devstack-single-node-fedora-latest
|
|
voting: false
|
|
vars:
|
|
configure_swap_size: 4096
|
|
devstack_localrc:
|
|
ENABLE_FEDORA_VIRT_PREVIEW_REPO: true
|
|
|
|
- job:
|
|
name: devstack-tox-base
|
|
parent: devstack
|
|
description: |
|
|
Base job for devstack-based functional tests that use tox.
|
|
|
|
This job is not intended to be run directly. It's just here
|
|
for organizational purposes for devstack-tox-functional and
|
|
devstack-tox-functional-consumer.
|
|
post-run: playbooks/tox/post.yaml
|
|
vars:
|
|
tox_envlist: functional
|
|
tox_install_siblings: false
|
|
|
|
- job:
|
|
name: devstack-tox-functional
|
|
parent: devstack-tox-base
|
|
description: |
|
|
Base job for devstack-based functional tests that use tox.
|
|
|
|
Runs devstack, then runs the tox ``functional`` environment,
|
|
then collects tox/testr build output like normal tox jobs.
|
|
|
|
Turns off tox sibling installation. Projects may be involved
|
|
in the devstack deployment and so may be in the required-projects
|
|
list, but may not want to test against master of the other
|
|
projects in their tox env. Child jobs can set tox_install_siblings
|
|
to True to re-enable sibling processing.
|
|
run: playbooks/tox/run-both.yaml
|
|
|
|
- job:
|
|
name: devstack-tox-functional-consumer
|
|
parent: devstack
|
|
description: |
|
|
Base job for devstack-based functional tests for projects that
|
|
consume the devstack cloud.
|
|
|
|
This base job should only be used by projects that are not involved
|
|
in the devstack deployment step, but are instead projects that are using
|
|
devstack to get a cloud against which they can test things.
|
|
|
|
Runs devstack in pre-run, then runs the tox ``functional`` environment,
|
|
then collects tox/testr build output like normal tox jobs.
|
|
|
|
Turns off tox sibling installation. Projects may be involved
|
|
in the devstack deployment and so may be in the required-projects
|
|
list, but may not want to test against master of the other
|
|
projects in their tox env. Child jobs can set tox_install_siblings
|
|
to True to re-enable sibling processing.
|
|
pre-run:
|
|
- playbooks/devstack.yaml
|
|
- playbooks/tox/pre.yaml
|
|
run: playbooks/tox/run.yaml
|
|
|
|
- job:
|
|
name: devstack-unit-tests
|
|
nodeset: ubuntu-focal
|
|
description: |
|
|
Runs unit tests on devstack project.
|
|
|
|
It runs ``run_tests.sh``.
|
|
pre-run: playbooks/unit-tests/pre.yaml
|
|
run: playbooks/unit-tests/run.yaml
|
|
|
|
- project:
|
|
templates:
|
|
- integrated-gate-py3
|
|
- publish-openstack-docs-pti
|
|
check:
|
|
jobs:
|
|
- devstack
|
|
- devstack-ipv6
|
|
- devstack-enforce-scope
|
|
- devstack-platform-fedora-latest
|
|
- devstack-platform-centos-9-stream
|
|
- devstack-platform-debian-bullseye
|
|
- devstack-platform-ubuntu-jammy
|
|
- devstack-platform-ubuntu-jammy-ovn-source
|
|
- devstack-platform-ubuntu-jammy-ovs
|
|
- devstack-multinode
|
|
- devstack-unit-tests
|
|
- openstack-tox-bashate
|
|
- ironic-tempest-bios-ipmi-direct-tinyipa
|
|
- swift-dsvm-functional
|
|
- grenade:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-ovs-grenade-multinode:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-linuxbridge-tempest:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-ovn-tempest-ovs-release:
|
|
voting: false
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- tempest-multinode-full-py3:
|
|
voting: false
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- openstacksdk-functional-devstack:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- tempest-ipv6-only:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- nova-ceph-multistore:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
gate:
|
|
jobs:
|
|
- devstack
|
|
- devstack-ipv6
|
|
- devstack-platform-centos-9-stream
|
|
- devstack-platform-ubuntu-jammy
|
|
- devstack-enforce-scope
|
|
- devstack-multinode
|
|
- devstack-unit-tests
|
|
- openstack-tox-bashate
|
|
- neutron-ovs-grenade-multinode:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-linuxbridge-tempest:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ironic-tempest-bios-ipmi-direct-tinyipa
|
|
- swift-dsvm-functional
|
|
- grenade:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- openstacksdk-functional-devstack:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- tempest-ipv6-only:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- nova-ceph-multistore:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
# Please add a note on each job and conditions for the job not
|
|
# being experimental any more, so we can keep this list somewhat
|
|
# pruned.
|
|
#
|
|
# * nova-next: maintained by nova for unreleased/undefaulted
|
|
# things
|
|
# * neutron-fullstack-with-uwsgi: maintained by neutron for fullstack test
|
|
# when neutron-api is served by uwsgi, it's in exprimental for testing.
|
|
# the next cycle we can remove this job if things turn out to be
|
|
# stable enough.
|
|
# * neutron-functional-with-uwsgi: maintained by neutron for functional
|
|
# test. Next cycle we can remove this one if things turn out to be
|
|
# stable engouh with uwsgi.
|
|
# * neutron-tempest-with-uwsgi: maintained by neutron for tempest test.
|
|
# Next cycle we can remove this if everything run out stable enough.
|
|
# * nova-multi-cell: maintained by nova and currently non-voting in the
|
|
# check queue for nova changes but relies on devstack configuration
|
|
# * devstack-platform-fedora-latest-virt-preview: Maintained by lyarwood
|
|
# for Nova to allow early testing of the latest versions of Libvirt and
|
|
# QEMU. Should only graduate out of experimental if it ever moves into
|
|
# the check queue for Nova.
|
|
|
|
experimental:
|
|
jobs:
|
|
- devstack-platform-openEuler-20.03-SP2
|
|
- nova-multi-cell
|
|
- nova-next
|
|
- neutron-fullstack-with-uwsgi
|
|
- neutron-functional-with-uwsgi
|
|
- neutron-tempest-with-uwsgi
|
|
- devstack-plugin-ceph-tempest-py3:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-ovs-tempest-dvr:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- neutron-ovs-tempest-dvr-ha-multinode-full:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- cinder-tempest-lvm-multibackend:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- tempest-pg-full:
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- devstack-platform-fedora-latest-virt-preview
|
|
- devstack-no-tls-proxy
|
|
periodic:
|
|
jobs:
|
|
- devstack-no-tls-proxy
|