| - 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 }}/atop': 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 |