
This change mirrors change Ie02734bb598d27560cf5d674c9e1d9b8dca3801f which ensure that its posible to enable vnc for vms on compute nodes without deploying the vnc proxy. In this change two new flags are added NOVA_SPICE_ENABLED and NOVA_SERIAL_ENABLED to enable configuration of the relevent console create_nova_conf is also modifed to include the db url if the console proxies are deployed on a host. As spice supprot is nolonger avaible in qemu as packged by ubuntu 24.04 and centos 9 a devstack-two-node-debian-bookworm to allow testing with spice in a multinode job. Change-Id: Ie944e518122f2b0059f28acbf68fb7ad0a560ca4
1028 lines
31 KiB
YAML
1028 lines
31 KiB
YAML
- nodeset:
|
|
name: openstack-single-node-jammy
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-jammy
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: openstack-single-node-noble
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-noble
|
|
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: 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-debian-bookworm
|
|
nodes:
|
|
- name: controller
|
|
label: debian-bookworm
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
# Note(sean-k-mooney): this is still used by horizon for
|
|
# horizon-integration-tests, horizon-integration-pytest and
|
|
# horizon-ui-pytest, remove when horizon is updated.
|
|
- nodeset:
|
|
name: devstack-single-node-debian-bullseye
|
|
nodes:
|
|
- name: controller
|
|
label: debian-bullseye
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- nodeset:
|
|
name: devstack-single-node-rockylinux-9
|
|
nodes:
|
|
- name: controller
|
|
label: rockylinux-9
|
|
groups:
|
|
- name: tempest
|
|
nodes:
|
|
- controller
|
|
|
|
- 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-jammy
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-jammy
|
|
- name: compute1
|
|
label: ubuntu-jammy
|
|
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-noble
|
|
nodes:
|
|
- name: controller
|
|
label: ubuntu-noble
|
|
- name: compute1
|
|
label: ubuntu-noble
|
|
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-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
|
|
|
|
- nodeset:
|
|
name: devstack-two-node-debian-bookworm
|
|
nodes:
|
|
- name: controller
|
|
label: debian-bookworm
|
|
- name: compute1
|
|
label: debian-bookworm
|
|
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
|
|
|
|
- job:
|
|
name: devstack-base
|
|
parent: openstack-multinode-fips
|
|
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/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_log_dir }}/qemu.coredump': 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/lvm: 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$
|
|
# pre-commit config
|
|
- ^.pre-commit-config.yaml$
|
|
|
|
- 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-noble
|
|
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
|
|
file_tracker: true
|
|
mysql: true
|
|
rabbit: true
|
|
openstack-cli-server: true
|
|
group-vars:
|
|
subnode:
|
|
devstack_services:
|
|
# Shared services
|
|
dstat: false
|
|
memory_tracker: true
|
|
file_tracker: true
|
|
openstack-cli-server: 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
|
|
- opendev.org/openstack/os-test-images
|
|
timeout: 7200
|
|
vars:
|
|
# based on observation of the integrated gate
|
|
# tempest-integrated-compute was only using ~1.7GB of swap
|
|
# when zswap and the host turning are enabled that increase
|
|
# slightly to ~2GB. we are setting the swap size to 8GB to
|
|
# be safe and account for more complex scenarios.
|
|
# we should revisit this value after some time to see if we
|
|
# can reduce it.
|
|
configure_swap_size: 8192
|
|
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
|
|
# tune the host to optimize memory usage and hide io latency
|
|
# these setting will configure the kernel to treat the host page
|
|
# cache and swap with equal priority, and prefer deferring writes
|
|
# changing the default swappiness, dirty_ratio and
|
|
# the vfs_cache_pressure
|
|
ENABLE_SYSCTL_MEM_TUNING: true
|
|
# the net tuning optimizes ipv4 tcp fast open and config the default
|
|
# qdisk policy to pfifo_fast which effectively disable all qos.
|
|
# this minimizes the cpu load of the host network stack
|
|
ENABLE_SYSCTL_NET_TUNING: true
|
|
# zswap allows the kernel to compress pages in memory before swapping
|
|
# them to disk. this can reduce the amount of swap used and improve
|
|
# performance. effectively this trades a small amount of cpu for an
|
|
# increase in swap performance by reducing the amount of data
|
|
# written to disk. the overall speedup is proportional to the
|
|
# compression ratio and the speed of the swap device.
|
|
# NOTE: this option is ignored when not using nova with the libvirt
|
|
# virt driver.
|
|
NOVA_LIBVIRT_TB_CACHE_SIZE: 128
|
|
ENABLE_ZSWAP: true
|
|
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
|
|
file_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
|
|
file_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
|
|
# tune the host to optimize memory usage and hide io latency
|
|
# these setting will configure the kernel to treat the host page
|
|
# cache and swap with equal priority, and prefer deferring writes
|
|
# changing the default swappiness, dirty_ratio and
|
|
# the vfs_cache_pressure
|
|
ENABLE_SYSCTL_MEM_TUNING: true
|
|
# the net tuning optimizes ipv4 tcp fast open and config the default
|
|
# qdisk policy to pfifo_fast which effectively disable all qos.
|
|
# this minimizes the cpu load of the host network stack
|
|
ENABLE_SYSCTL_NET_TUNING: true
|
|
# zswap allows the kernel to compress pages in memory before swapping
|
|
# them to disk. this can reduce the amount of swap used and improve
|
|
# performance. effectivly this trades a small amount of cpu for an
|
|
# increase in swap performance by reducing the amount of data
|
|
# written to disk. the overall speedup is porportional to the
|
|
# compression ratio and the speed of the swap device.
|
|
ENABLE_ZSWAP: true
|
|
# NOTE: this option is ignored when not using nova with the libvirt
|
|
# virt driver.
|
|
NOVA_LIBVIRT_TB_CACHE_SIZE: 128
|
|
|
|
- job:
|
|
name: devstack-ipv6
|
|
parent: devstack
|
|
description: |
|
|
Devstack single node job for integration gate with IPv6,
|
|
all services and tunnels using IPv6 addresses.
|
|
vars:
|
|
devstack_localrc:
|
|
SERVICE_IP_VERSION: 6
|
|
SERVICE_HOST: ""
|
|
TUNNEL_IP_VERSION: 6
|
|
|
|
- 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-noble
|
|
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
|
|
voting: false
|
|
|
|
- job:
|
|
name: devstack-platform-debian-bookworm
|
|
parent: tempest-full-py3
|
|
description: Debian Bookworm platform test
|
|
nodeset: devstack-single-node-debian-bookworm
|
|
timeout: 9000
|
|
vars:
|
|
configure_swap_size: 4096
|
|
|
|
- job:
|
|
name: devstack-platform-rocky-blue-onyx
|
|
parent: tempest-full-py3
|
|
description: Rocky Linux 9 Blue Onyx platform test
|
|
nodeset: devstack-single-node-rockylinux-9
|
|
timeout: 9000
|
|
# NOTE(danms): This has been failing lately with some repository metadata
|
|
# errors. We're marking this as non-voting until it appears to have
|
|
# stabilized:
|
|
# https://zuul.openstack.org/builds?job_name=devstack-platform-rocky-blue-onyx&skip=0
|
|
voting: false
|
|
vars:
|
|
configure_swap_size: 4096
|
|
|
|
- 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: 8192
|
|
|
|
- job:
|
|
name: devstack-platform-ubuntu-noble-ovn-source
|
|
parent: devstack-platform-ubuntu-noble
|
|
description: Ubuntu 24.04 LTS (noble) platform test (OVN from source)
|
|
voting: false
|
|
vars:
|
|
devstack_localrc:
|
|
OVN_BUILD_FROM_SOURCE: True
|
|
OVN_BRANCH: "branch-24.03"
|
|
OVS_BRANCH: "branch-3.3"
|
|
OVS_SYSCONFDIR: "/usr/local/etc/openvswitch"
|
|
|
|
- job:
|
|
name: devstack-platform-ubuntu-noble-ovs
|
|
parent: tempest-full-py3
|
|
description: Ubuntu 24.04 LTS (noble) platform test (OVS)
|
|
nodeset: openstack-single-node-noble
|
|
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:
|
|
# 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-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-noble
|
|
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-centos-9-stream
|
|
- devstack-platform-debian-bookworm
|
|
- devstack-platform-rocky-blue-onyx
|
|
- devstack-platform-ubuntu-noble-ovn-source
|
|
- devstack-platform-ubuntu-noble-ovs
|
|
- devstack-platform-ubuntu-jammy
|
|
- 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-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-debian-bookworm
|
|
- devstack-platform-ubuntu-noble
|
|
# NOTE(danms): Disabled due to instability, see comment in the job
|
|
# definition above.
|
|
# - devstack-platform-rocky-blue-onyx
|
|
- devstack-enforce-scope
|
|
- devstack-multinode
|
|
- devstack-unit-tests
|
|
- openstack-tox-bashate
|
|
- neutron-ovs-grenade-multinode:
|
|
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, this job is not experimental but often is used to test
|
|
# things that are not yet production ready or to test what will be
|
|
# the new default after a deprecation period has ended.
|
|
# * nova-multi-cell: maintained by nova and now is voting in the
|
|
# check queue for nova changes but relies on devstack configuration
|
|
|
|
experimental:
|
|
jobs:
|
|
- nova-multi-cell
|
|
- nova-next
|
|
- 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-no-tls-proxy
|
|
periodic:
|
|
jobs:
|
|
- devstack-no-tls-proxy
|
|
periodic-weekly:
|
|
jobs:
|
|
- devstack-platform-centos-9-stream
|
|
- devstack-platform-debian-bookworm
|
|
- devstack-platform-rocky-blue-onyx
|
|
- devstack-platform-ubuntu-noble-ovn-source
|
|
- devstack-platform-ubuntu-noble-ovs
|
|
- devstack-platform-ubuntu-jammy
|