466cd3902c
Ironic has maintained a CI job for years after postresql support was deprecated in order to prevent unintentional breakage of that support. Now, we have confirmed evidence that other openstack components, such as keystone, required for testing this postgresql support no longer function in this job. As a result, ironic can no longer test postgresql support. Operators utilizing postgresql who have not yet migrated must migrate now. Change-Id: If6e4432b000996789346a1f7449410cfc8497fe1
1293 lines
46 KiB
YAML
1293 lines
46 KiB
YAML
---
|
|
- job:
|
|
name: ironic-base
|
|
abstract: true
|
|
description: Base job for devstack/tempest based ironic jobs.
|
|
parent: devstack-tempest
|
|
nodeset: openstack-single-node-jammy
|
|
post-run: playbooks/ci-workarounds/get_extra_logging.yaml
|
|
timeout: 10800
|
|
required-projects:
|
|
# TODO(TheJulia): Explicitly pull in DIB until we get a release cut.
|
|
- opendev.org/openstack/diskimage-builder
|
|
- opendev.org/openstack/ironic
|
|
- opendev.org/openstack/ironic-python-agent
|
|
- opendev.org/openstack/ironic-python-agent-builder
|
|
- opendev.org/openstack/ironic-tempest-plugin
|
|
- opendev.org/openstack/virtualbmc
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^driver-requirements.txt$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
- ^redfish-interop-profiles/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^test-requirements.txt$
|
|
- ^tox.ini$
|
|
vars:
|
|
tox_envlist: all
|
|
tempest_test_timeout: 2400
|
|
tempest_test_regex: ironic_tempest_plugin.tests.scenario
|
|
tempest_concurrency: 1
|
|
devstack_localrc:
|
|
DEFAULT_INSTANCE_TYPE: baremetal
|
|
FORCE_CONFIG_DRIVE: True
|
|
INSTALL_TEMPEST: False # Don't install a tempest package globally
|
|
VIRT_DRIVER: ironic
|
|
BUILD_TIMEOUT: 1800
|
|
IRONIC_BAREMETAL_BASIC_OPS: True
|
|
IRONIC_BUILD_DEPLOY_RAMDISK: False
|
|
IRONIC_CALLBACK_TIMEOUT: 1800
|
|
IRONIC_DEPLOY_DRIVER: ipmi
|
|
IRONIC_INSPECTOR_BUILD_RAMDISK: False
|
|
IRONIC_INSPECTOR_TEMPEST_INTROSPECTION_TIMEOUT: 1200
|
|
IRONIC_TEMPEST_BUILD_TIMEOUT: 1800
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: False
|
|
IRONIC_VM_COUNT: 2
|
|
IRONIC_VM_EPHEMERAL_DISK: 1
|
|
IRONIC_VM_SPECS_RAM: 2600
|
|
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
|
|
# NOTE(dtantsur): in some jobs we end up with 12 disks total, so reduce
|
|
# each of them. For don't need all 10 GiB for CirrOS anyway.
|
|
IRONIC_VM_SPECS_DISK: 4
|
|
IRONIC_VM_SPECS_CPU: 2
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vxlan
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
|
|
SERVICE_TIMEOUT: 90
|
|
# NOTE(TheJulia): Devstack default glance limit is 1GB, we need
|
|
# something more like 5GB for baremetal jobs due to image sizes
|
|
# with firmware.
|
|
GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 5000
|
|
# NOTE(TheJulia): Disable neutron firewall as bug
|
|
# https://bugs.launchpad.net/neutron/+bug/1944201
|
|
# causes us an abnormally high job failure rate due to the ports
|
|
# not being found (as neutron crashed on initialization).
|
|
Q_USE_SECGROUP: False
|
|
# Default API workers is 2, however only 1 is needed,
|
|
# which cuts API memory utilziation in half reducing the risk of
|
|
# oom-killer events in CI.
|
|
API_WORKERS: 1
|
|
CIRROS_VERSION: 0.6.1
|
|
devstack_plugins:
|
|
ironic: https://opendev.org/openstack/ironic
|
|
tempest_plugins:
|
|
- ironic-tempest-plugin
|
|
zuul_copy_output:
|
|
'{{ devstack_base_dir }}/ironic-bm-logs': 'logs'
|
|
'{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log': 'logs'
|
|
devstack_services:
|
|
# TODO: re-enable dstat once https://storyboard.openstack.org/#!/story/2008185
|
|
# is resolved
|
|
dstat: false
|
|
q-agt: true
|
|
q-dhcp: true
|
|
q-l3: true
|
|
q-meta: true
|
|
q-svc: true
|
|
ovn-controller: false
|
|
ovn-northd: false
|
|
q-ovn-metadata-agent: false
|
|
c-api: False
|
|
c-bak: False
|
|
c-sch: False
|
|
c-vol: False
|
|
cinder: False
|
|
s-account: False
|
|
s-container: False
|
|
s-object: False
|
|
s-proxy: False
|
|
openstack-cli-server: True
|
|
|
|
- job:
|
|
name: ironic-standalone-aarch64
|
|
description:
|
|
Test ironic standalone configured with ipmi hardware type, ramdisk and
|
|
direct deploy interfaces, rescue enabled.
|
|
parent: ironic-base
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^test-requirements.txt$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
vars:
|
|
tempest_test_regex: BaremetalDriverDirectWholedisk
|
|
tempest_concurrency: 2
|
|
devstack_localrc:
|
|
FORCE_CONFIG_DRIVE: False
|
|
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_BUILD_DEPLOY_RAMDISK: False
|
|
IRONIC_DEPLOY_DRIVER: redfish
|
|
IRONIC_DEFAULT_RESCUE_INTERFACE: agent
|
|
IRONIC_ENABLED_BOOT_INTERFACES: "ipxe,redfish-virtual-media,http-ipxe,pxe,http"
|
|
IRONIC_ENABLED_HARDWARE_TYPES: redfish
|
|
IRONIC_ENABLED_MANAGEMENT_INTERFACES: redfish
|
|
IRONIC_ENABLED_DEPLOY_INTERFACES: "direct,ramdisk"
|
|
IRONIC_ENABLED_RESCUE_INTERFACES: "agent,no-rescue"
|
|
IRONIC_BOOT_MODE: uefi
|
|
IRONIC_CALLBACK_TIMEOUT: 800
|
|
IRONIC_GRUB2_SHIM_FILE: https://mirror.stream.centos.org/9-stream/BaseOS/aarch64/os/EFI/BOOT/BOOTAA64.EFI
|
|
IRONIC_GRUB2_FILE: https://mirror.stream.centos.org/9-stream/BaseOS/aarch64/os/EFI/BOOT/grubaa64.efi
|
|
IRONIC_HW_ARCH: aarch64
|
|
IRONIC_DIB_RAMDISK_OS: debian-arm64
|
|
IRONIC_VM_SPECS_RAM: 4096
|
|
IRONIC_VM_SPECS_CPU: 1
|
|
IRONIC_VM_COUNT: 1
|
|
IRONIC_VM_VOLUME_COUNT: 2
|
|
# We're using a lot of disk space in this job. Some testing nodes have
|
|
# a small root partition, so use /opt which is mounted from a bigger
|
|
# ephemeral partition on such nodes
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
devstack_services:
|
|
n-api: False
|
|
n-api-meta: False
|
|
n-cond: False
|
|
n-cpu: False
|
|
n-novnc: False
|
|
n-sch: False
|
|
nova: False
|
|
placement-api: False
|
|
s-account: False
|
|
s-container: False
|
|
s-object: False
|
|
s-proxy: False
|
|
|
|
# NOTE(TheJulia): This job is being phased out as it ends up executing
|
|
# the wholedisk standalone deploy, the partition standalone deploy,
|
|
# software raid tests, and ramdisk iso boot tests. All of this while in
|
|
# UEFI mode. Although the redfish test runs the exact same tests and *more*.
|
|
# On top of that, there really is not a good variation which would be
|
|
# impacted through IPMI while we keep other ipmi jobs in our CI config.
|
|
- job:
|
|
name: ironic-standalone
|
|
description:
|
|
Test ironic standalone configured with ipmi hardware type, ramdisk and
|
|
direct deploy interfaces, rescue enabled.
|
|
parent: ironic-base
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
- ^redfish-interop-profiles/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^test-requirements.txt$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
vars:
|
|
tempest_test_regex: ironic_standalone
|
|
tempest_concurrency: 2
|
|
devstack_localrc:
|
|
FORCE_CONFIG_DRIVE: False
|
|
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_DEFAULT_RESCUE_INTERFACE: agent
|
|
IRONIC_ENABLED_HARDWARE_TYPES: ipmi
|
|
IRONIC_ENABLED_DEPLOY_INTERFACES: "direct,ramdisk"
|
|
IRONIC_ENABLED_RESCUE_INTERFACES: "agent,no-rescue"
|
|
IRONIC_JSON_RPC_AUTH_STRATEGY: 'http_basic'
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_RPC_TRANSPORT: json-rpc
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_VM_SPECS_CPU: 1
|
|
IRONIC_VM_COUNT: 4
|
|
IRONIC_VM_VOLUME_COUNT: 2
|
|
# We're using a lot of disk space in this job. Some testing nodes have
|
|
# a small root partition, so use /opt which is mounted from a bigger
|
|
# ephemeral partition on such nodes
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
devstack_services:
|
|
n-api: False
|
|
n-api-meta: False
|
|
n-cond: False
|
|
n-cpu: False
|
|
n-novnc: False
|
|
n-sch: False
|
|
nova: False
|
|
placement-api: False
|
|
s-account: False
|
|
s-container: False
|
|
s-object: False
|
|
s-proxy: False
|
|
|
|
- job:
|
|
name: ironic-standalone-redfish
|
|
parent: ironic-base
|
|
description:
|
|
Test ironic standalone configured with redfish hardware type, ansible and
|
|
direct and ansible deploy interfaces, rescue it's not enabled.
|
|
required-projects:
|
|
- opendev.org/openstack/sushy-tools
|
|
vars:
|
|
tempest_test_regex: ironic_standalone
|
|
tempest_concurrency: 2
|
|
devstack_localrc:
|
|
FORCE_CONFIG_DRIVE: False
|
|
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_DEPLOY_DRIVER: redfish
|
|
# NOTE(TheJulia): We test numerous boot interfaces here, but "http"
|
|
# with "grub2" is functionally unstable. Basically high odds of failure
|
|
# with VMs in EFI request handling with VMs.
|
|
# FIXME(dtantsur): add back the pxe interface once it actually works
|
|
# and the boot interface handling in the tempest plugin is fixed.
|
|
IRONIC_ENABLED_BOOT_INTERFACES: "ipxe,redfish-virtual-media,http-ipxe"
|
|
IRONIC_ENABLED_HARDWARE_TYPES: redfish
|
|
IRONIC_ENABLED_POWER_INTERFACES: redfish
|
|
IRONIC_ENABLED_MANAGEMENT_INTERFACES: redfish
|
|
IRONIC_ENABLED_DEPLOY_INTERFACES: "direct,ansible,ramdisk"
|
|
IRONIC_RPC_TRANSPORT: json-rpc
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_VM_COUNT: 4
|
|
IRONIC_VM_VOLUME_COUNT: 2
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_VM_SPECS_CPU: 1
|
|
IRONIC_ENFORCE_SCOPE: True
|
|
# We're using a lot of disk space in this job. Some testing nodes have
|
|
# a small root partition, so use /opt which is mounted from a bigger
|
|
# ephemeral partition on such nodes
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
devstack_services:
|
|
n-api: False
|
|
n-api-meta: False
|
|
n-cond: False
|
|
n-cpu: False
|
|
n-novnc: False
|
|
n-sch: False
|
|
nova: False
|
|
placement-api: False
|
|
s-account: False
|
|
s-container: False
|
|
s-object: False
|
|
s-proxy: False
|
|
|
|
- job:
|
|
name: ironic-standalone-anaconda
|
|
parent: ironic-standalone-redfish
|
|
description:
|
|
Test ironic with the anaconda deployment interface.
|
|
Test also uses Redfish.
|
|
required-projects:
|
|
- opendev.org/openstack/sushy-tools
|
|
vars:
|
|
tempest_test_regex: BaremetalRedfishIPxeAnacondaNoGlance
|
|
tempest_test_timeout: 4800
|
|
tempest_concurrency: 2
|
|
devstack_localrc:
|
|
IRONIC_ENABLED_DEPLOY_INTERFACES: "anaconda"
|
|
IRONIC_VM_COUNT: 2
|
|
IRONIC_VM_VOLUME_COUNT: 1
|
|
IRONIC_VM_SPECS_RAM: 3192
|
|
IRONIC_VM_SPECS_CPU: 3
|
|
IRONIC_ENFORCE_SCOPE: True
|
|
# We're using a lot of disk space in this job. Some testing nodes have
|
|
# a small root partition, so use /opt which is mounted from a bigger
|
|
# ephemeral partition on such nodes
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
IRONIC_ANACONDA_IMAGE_REF: https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/
|
|
IRONIC_ANACONDA_KERNEL_REF: https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/images/pxeboot/vmlinuz
|
|
IRONIC_ANACONDA_RAMDISK_REF: https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/images/pxeboot/initrd.img
|
|
IRONIC_ANACONDA_INSECURE_HEARTBEAT: True
|
|
IRONIC_DEPLOY_CALLBACK_WAIT_TIMEOUT: 3600
|
|
IRONIC_PXE_BOOT_RETRY_TIMEOUT: 3600
|
|
|
|
# NOTE(TheJulia): This job should likely be phased out as the standalone
|
|
# job mostly checks the related code paths, the overlap pertinant here is
|
|
# BIOS mode, which is not commonly deployed, and the minimum feature set
|
|
# flag for the emulator.
|
|
- job:
|
|
name: ironic-tempest-bios-redfish-pxe
|
|
description: "Deploy ironic node over PXE using BIOS boot mode"
|
|
parent: ironic-tempest-uefi-redfish-vmedia
|
|
required-projects:
|
|
- opendev.org/openstack/sushy-tools
|
|
vars:
|
|
devstack_localrc:
|
|
IRONIC_ENABLED_BOOT_INTERFACES: ipxe
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
SWIFT_ENABLE_TEMPURLS: False
|
|
SWIFT_TEMPURL_KEY: ''
|
|
# Parent job has a longer timeout due to vmedia usage,
|
|
# Reset the callback to a normal-ish value.
|
|
IRONIC_CALLBACK_TIMEOUT: 600
|
|
IRONIC_BOOT_MODE: bios
|
|
# Make sure this feature works even with the minimum implementation
|
|
IRONIC_REDFISH_EMULATOR_FEATURE_SET: minimum
|
|
# Test sharding support
|
|
IRONIC_SHARDS: 1
|
|
devstack_services:
|
|
# Parent job uses swift, this one does not, thus we can turn it off.
|
|
s-account: False
|
|
s-container: False
|
|
s-object: False
|
|
s-proxy: False
|
|
|
|
- job:
|
|
name: ironic-tempest-uefi-redfish-vmedia
|
|
description: "Deploy ironic node over Redfish virtual media using UEFI boot mode"
|
|
parent: ironic-base
|
|
vars:
|
|
# NOTE(iurygregory): switch to only wholedisk test, since the
|
|
# partition test is failing randomly.
|
|
tempest_test_regex: test_baremetal_server_ops_wholedisk_image
|
|
devstack_localrc:
|
|
IRONIC_DEPLOY_DRIVER: redfish
|
|
IRONIC_ENABLED_HARDWARE_TYPES: redfish
|
|
IRONIC_ENABLED_POWER_INTERFACES: redfish
|
|
IRONIC_ENABLED_MANAGEMENT_INTERFACES: redfish
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_ENABLED_BOOT_INTERFACES: redfish-virtual-media
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
# Ironic has to master a new image, and this CAN take longer as a
|
|
# result and makes this job VERY sensitive to heavy disk IO of the
|
|
# underlying hypervisor/cloud.
|
|
IRONIC_CALLBACK_TIMEOUT: 800
|
|
IRONIC_GRUB2_SHIM_FILE: https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/EFI/BOOT/BOOTX64.EFI
|
|
IRONIC_GRUB2_FILE: https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/EFI/BOOT/grubx64.efi
|
|
IRONIC_GRUB2_CONFIG_PATH: EFI/BOOT/grub.cfg
|
|
IRONIC_REDFISH_EMULATOR_FEATURE_SET: vmedia
|
|
devstack_services:
|
|
s-account: True
|
|
s-container: True
|
|
s-object: True
|
|
s-proxy: True
|
|
|
|
- job:
|
|
name: ironic-tempest-uefi-redfish-https
|
|
description: "Deploy ironic node utilizing https boot interface"
|
|
parent: ironic-base
|
|
required-projects:
|
|
- opendev.org/openstack/sushy
|
|
- opendev.org/openstack/sushy-tools
|
|
vars:
|
|
tempest_test_regex: test_baremetal_server_ops_wholedisk_image
|
|
devstack_localrc:
|
|
IRONIC_DEPLOY_DRIVER: redfish
|
|
IRONIC_ENABLED_HARDWARE_TYPES: redfish
|
|
IRONIC_ENABLED_POWER_INTERFACES: redfish
|
|
IRONIC_ENABLED_MANAGEMENT_INTERFACES: redfish
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_ENABLED_BOOT_INTERFACES: redfish-https
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
# Ironic has to master a new image, and this CAN take longer as a
|
|
# result and makes this job VERY sensitive to heavy disk IO of the
|
|
# underlying hypervisor/cloud.
|
|
IRONIC_CALLBACK_TIMEOUT: 800
|
|
IRONIC_GRUB2_SHIM_FILE: "https://{{ zuul_site_mirror_fqdn }}/centos-stream/9-stream/BaseOS/x86_64/os/EFI/BOOT/BOOTX64.EFI"
|
|
IRONIC_GRUB2_FILE: "https://{{ zuul_site_mirror_fqdn }}/centos-stream/9-stream/BaseOS/x86_64/os/EFI/BOOT/grubx64.efi"
|
|
IRONIC_GRUB2_CONFIG_PATH: EFI/BOOT/grub.cfg
|
|
devstack_services:
|
|
s-account: True
|
|
s-container: True
|
|
s-object: True
|
|
s-proxy: True
|
|
|
|
- job:
|
|
name: ironic-inspector-tempest-uefi-redfish-vmedia
|
|
description: "Inspect and deploy ironic node over Redfish virtual media using UEFI"
|
|
parent: ironic-tempest-uefi-redfish-vmedia
|
|
required-projects:
|
|
- opendev.org/openstack/ironic-inspector
|
|
vars:
|
|
# NOTE(dtantsur): the inspector job includes booting an instance too.
|
|
# Excluding the abort tests since it hits "node locked" too often.
|
|
tempest_test_regex: test_baremetal_introspection
|
|
devstack_localrc:
|
|
IRONIC_INSPECTOR_MANAGED_BOOT: True
|
|
IRONIC_INSPECTOR_NODE_NOT_FOUND_HOOK: ''
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_VM_COUNT: 1
|
|
devstack_plugins:
|
|
ironic-inspector: https://opendev.org/openstack/ironic-inspector
|
|
devstack_services:
|
|
ironic-inspector: True
|
|
ironic-inspector-dhcp: True
|
|
|
|
# NOTE(rpittau): converted job but not running for now as there
|
|
# could be an issue with the lookup in ironic-python-agent
|
|
- job:
|
|
name: ironic-tempest-ipa-wholedisk-bios-agent_ipmitool
|
|
description: Gate-ish job with classic name. Executes rescue!
|
|
parent: ironic-base
|
|
vars:
|
|
devstack_localrc:
|
|
IRONIC_DEFAULT_RESCUE_INTERFACE: agent
|
|
IRONIC_ENABLED_RESCUE_INTERFACES: "fake,agent,no-rescue"
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_SPECS_RAM: 3096
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
IRONIC_BOOT_MODE: bios
|
|
devstack_services:
|
|
s-account: True
|
|
s-container: True
|
|
s-object: True
|
|
s-proxy: True
|
|
|
|
- job:
|
|
name: ironic-tempest-ramdisk-bios-snmp-pxe
|
|
description: SNMP power, iPXE, OVN, no-op management and whole disk images.
|
|
parent: ironic-base
|
|
vars:
|
|
# NOTE(TheJulia): No reason to go much further than the network boot,
|
|
# Hence the use of the ramdisk test scenario as opposed to the others.
|
|
tempest_test_regex: test_ramdisk_iso
|
|
devstack_localrc:
|
|
IRONIC_ENABLED_HARDWARE_TYPES: snmp
|
|
IRONIC_DEPLOY_DRIVER: snmp
|
|
IRONIC_ENABLED_DEPLOY_INTERFACES: "ramdisk"
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
# NOTE(TheJulia): Explicitly set scope enforcement to False until we
|
|
# remove the legacy policies.
|
|
IRONIC_ENFORCE_SCOPE: False
|
|
IRONIC_BOOT_MODE: bios
|
|
Q_AGENT: ovn
|
|
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn
|
|
ENABLE_CHASSIS_AS_GW: True
|
|
ML2_L3_PLUGIN: "ovn-router,trunk"
|
|
OVN_DBS_LOG_LEVEL: dbg
|
|
OVN_BUILD_FROM_SOURCE: True
|
|
Q_BUILD_OVS_FROM_GIT: True
|
|
# NOTE(TheJulia): Ubuntu ships an out of date OVN package, so
|
|
# we need to build from source. These are the minimum versions
|
|
# representing June 2023 release. Ubuntu Kinetic is shipping Q3 2022
|
|
# i.e. OVN 22.09, so likely possible to remove sometime *after*
|
|
# Ubuntu Mantic OVN 2023.03.
|
|
OVN_BRANCH: v23.06.0
|
|
OVS_BRANCH: v3.1.1
|
|
devstack_services:
|
|
q-agt: False
|
|
q-dhcp: False
|
|
q-l3: False
|
|
ovn-controller: True
|
|
ovn-northd: True
|
|
q-ovn-metadata-agent: True
|
|
n-api: False
|
|
n-api-meta: False
|
|
n-cond: False
|
|
n-cpu: False
|
|
n-novnc: False
|
|
n-sch: False
|
|
nova: False
|
|
placement-api: False
|
|
s-account: False
|
|
s-container: False
|
|
s-object: False
|
|
s-proxy: False
|
|
|
|
- job:
|
|
name: ironic-tempest-ovn-uefi-ipmi-pxe
|
|
description: IPMI power, UEFI, iPXE, OVN image.
|
|
parent: ironic-base
|
|
vars:
|
|
# NOTE(iurygregory): switch to only wholedisk test, since the
|
|
# partition test is failing randomly.
|
|
tempest_test_regex: test_baremetal_server_ops_wholedisk_image
|
|
devstack_localrc:
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
Q_AGENT: ovn
|
|
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn
|
|
ENABLE_CHASSIS_AS_GW: True
|
|
ML2_L3_PLUGIN: "ovn-router,trunk"
|
|
OVN_DBS_LOG_LEVEL: dbg
|
|
OVN_BUILD_FROM_SOURCE: True
|
|
Q_BUILD_OVS_FROM_GIT: True
|
|
# NOTE(TheJulia): Ubuntu ships an out of date OVN package, so
|
|
# we need to build from source. These are the minimum versions
|
|
# representing June 2023 release. Ubuntu Kinetic is shipping Q3 2022
|
|
# i.e. OVN 22.09, so likely possible to remove sometime *after*
|
|
# Ubuntu Mantic which is OVN 2023.03.
|
|
OVN_BRANCH: v23.06.0
|
|
OVS_BRANCH: v3.1.1
|
|
devstack_services:
|
|
q-agt: False
|
|
q-dhcp: False
|
|
q-l3: False
|
|
ovn-controller: True
|
|
ovn-northd: True
|
|
ovn-vswitchd: True
|
|
q-ovn-metadata-agent: True
|
|
|
|
- job:
|
|
name: ironic-tempest-bfv
|
|
description: ironic-tempest-bfv
|
|
parent: ironic-base
|
|
vars:
|
|
tempest_test_regex: baremetal_boot_from_volume
|
|
devstack_localrc:
|
|
IRONIC_ENABLED_STORAGE_INTERFACES: cinder,noop
|
|
IRONIC_STORAGE_INTERFACE: cinder
|
|
IRONIC_ENABLED_BOOT_INTERFACES: http-ipxe,ipxe,pxe,fake
|
|
IRONIC_DEFAULT_BOOT_INTERFACE: http-ipxe
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_COUNT: 3
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
IRONIC_ENFORCE_SCOPE: True
|
|
devstack_services:
|
|
c-api: True
|
|
c-bak: True
|
|
c-sch: True
|
|
c-vol: True
|
|
cinder: True
|
|
|
|
- job:
|
|
name: ironic-inspector-tempest
|
|
description: ironic-inspector-tempest
|
|
parent: ironic-base
|
|
required-projects:
|
|
- opendev.org/openstack/ironic-inspector
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^driver-requirements.txt$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
# This job is also run on inspector
|
|
- ^ironic_inspector/locale/.*$
|
|
- ^ironic_inspector/test/.*$
|
|
- ^redfish-interop-profiles/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^test-requirements.txt$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
vars:
|
|
tempest_test_regex: InspectorBasicTest
|
|
devstack_localrc:
|
|
IRONIC_INSPECTOR_MANAGE_FIREWALL: True
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_COUNT: 1
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
devstack_plugins:
|
|
ironic-inspector: https://opendev.org/openstack/ironic-inspector
|
|
devstack_services:
|
|
s-account: True
|
|
s-container: True
|
|
s-object: True
|
|
s-proxy: True
|
|
|
|
- job:
|
|
name: ironic-inspector-tempest-rbac-scope-enforced
|
|
description: ironic-inspector-tempest-rbac-scope-enforced
|
|
parent: ironic-inspector-tempest
|
|
required-projects:
|
|
- openstack/ironic-inspector
|
|
vars:
|
|
devstack_localrc:
|
|
IRONIC_ENFORCE_SCOPE: True
|
|
IRONIC_INSPECTOR_ENFORCE_SCOPE: True
|
|
|
|
- job:
|
|
name: ironic-tempest-functional-python3
|
|
description: ironic-tempest-functional-python3
|
|
parent: ironic-base
|
|
pre-run: playbooks/ci-workarounds/etc-neutron.yaml
|
|
vars:
|
|
tempest_test_regex: ironic_tempest_plugin.tests.api
|
|
devstack_localrc:
|
|
IRONIC_BAREMETAL_BASIC_OPS: False
|
|
IRONIC_DEFAULT_DEPLOY_INTERFACE: ""
|
|
IRONIC_DEFAULT_NETWORK_INTERFACE: noop
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_RPC_TRANSPORT: json-rpc
|
|
devstack_services:
|
|
rabbit: True
|
|
g-api: False
|
|
n-api: False
|
|
n-api-meta: False
|
|
n-cond: False
|
|
n-cpu: False
|
|
n-novnc: False
|
|
n-sch: False
|
|
nova: False
|
|
placement-api: False
|
|
# NOTE(TheJulia): This job runs neutron so neutron dependent
|
|
# tests can also exercised as part of CI.
|
|
- job:
|
|
name: ironic-tempest-functional-rbac-scope-enforced
|
|
description: ironic-tempest-funcitonal-rbac-scope-enforced
|
|
parent: ironic-tempest-functional-python3
|
|
vars:
|
|
devstack_localrc:
|
|
IRONIC_ENFORCE_SCOPE: True
|
|
|
|
- job:
|
|
name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
|
|
description: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
|
|
parent: tempest-multinode-full-base
|
|
nodeset: openstack-two-node-jammy
|
|
pre-run: playbooks/ci-workarounds/pre.yaml
|
|
required-projects:
|
|
- opendev.org/openstack/ironic
|
|
- opendev.org/openstack/ironic-python-agent
|
|
- opendev.org/openstack/ironic-python-agent-builder
|
|
- opendev.org/openstack/ironic-tempest-plugin
|
|
- opendev.org/openstack/virtualbmc
|
|
- opendev.org/openstack/networking-generic-switch
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^driver-requirements.txt$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
- ^redfish-interop-profiles/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
roles:
|
|
- zuul: opendev.org/zuul/zuul-jobs
|
|
vars:
|
|
tox_envlist: all
|
|
tempest_concurrency: 3
|
|
tempest_test_regex: "ironic_tempest_plugin.tests.scenario"
|
|
tempest_test_timeout: 2400
|
|
devstack_localrc:
|
|
BUILD_TIMEOUT: 2400
|
|
DEFAULT_INSTANCE_TYPE: baremetal
|
|
ENABLE_TENANT_TUNNELS: False
|
|
ENABLE_TENANT_VLANS: True
|
|
FORCE_CONFIG_DRIVE: True
|
|
GENERIC_SWITCH_KEY_FILE: /opt/stack/.ssh/id_rsa
|
|
HOST_TOPOLOGY: multinode
|
|
HOST_TOPOLOGY_ROLE: primary
|
|
INSTALL_TEMPEST: False # Don't install a tempest package globally
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
HOST_TOPOLOGY_SUBNODES: "{{ hostvars['compute1']['nodepool']['public_ipv4'] }}"
|
|
IRONIC_BAREMETAL_BASIC_OPS: True
|
|
IRONIC_BUILD_DEPLOY_RAMDISK: False
|
|
IRONIC_CALLBACK_TIMEOUT: 600
|
|
IRONIC_DEPLOY_DRIVER: ipmi
|
|
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
|
|
IRONIC_INSPECTOR_BUILD_RAMDISK: False
|
|
IRONIC_NETWORK_INTERFACE: neutron
|
|
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
|
|
IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1
|
|
IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_TEMPEST_BUILD_TIMEOUT: 600
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_USE_LINK_LOCAL: True
|
|
IRONIC_VM_COUNT: 3
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_VM_SPECS_DISK: 4
|
|
IRONIC_VM_SPECS_CPU: 1
|
|
OVS_BRIDGE_MAPPINGS: 'mynetwork:brbm,public:br-infra'
|
|
OVS_PHYSICAL_BRIDGE: brbm
|
|
PHYSICAL_NETWORK: mynetwork
|
|
PUBLIC_BRIDGE: br-infra
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
|
Q_PLUGIN: ml2
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
TENANT_VLAN_RANGE: 100:150
|
|
VIRT_DRIVER: ironic
|
|
# We're using a lot of disk space in this job. Some testing nodes have
|
|
# a small root partition, so use /opt which is mounted from a bigger
|
|
# ephemeral partition on such nodes
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
|
|
devstack_plugins:
|
|
ironic: https://opendev.org/openstack/ironic
|
|
networking-generic-switch: https://opendev.org/openstack/networking-generic-switch
|
|
tempest_plugins:
|
|
- ironic-tempest-plugin
|
|
zuul_copy_output:
|
|
'{{ devstack_base_dir }}/ironic-bm-logs': 'logs'
|
|
'{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log': 'logs'
|
|
devstack_services:
|
|
c-api: False
|
|
c-bak: False
|
|
c-sch: False
|
|
c-vol: False
|
|
cinder: False
|
|
|
|
s-account: True
|
|
s-container: True
|
|
s-object: True
|
|
s-proxy: True
|
|
|
|
dstat: True
|
|
g-api: True
|
|
key: True
|
|
mysql: True
|
|
n-api: True
|
|
n-api-meta: True
|
|
n-cond: True
|
|
n-cpu: True
|
|
n-novnc: True
|
|
n-sch: True
|
|
placement-api: True
|
|
q-agt: True
|
|
q-dhcp: True
|
|
q-l3: True
|
|
q-meta: True
|
|
q-metering: True
|
|
q-svc: True
|
|
ovn-controller: False
|
|
ovn-northd: False
|
|
q-ovn-metadata-agent: False
|
|
rabbit: True
|
|
group-vars:
|
|
subnode:
|
|
devstack_localrc:
|
|
ENABLE_TENANT_TUNNELS: False
|
|
ENABLE_TENANT_VLANS: True
|
|
FORCE_CONFIG_DRIVE: True
|
|
HOST_TOPOLOGY: multinode
|
|
HOST_TOPOLOGY_ROLE: subnode
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_BAREMETAL_BASIC_OPS: True
|
|
IRONIC_DEPLOY_DRIVER: ipmi
|
|
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
|
|
IRONIC_NETWORK_INTERFACE: neutron
|
|
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_USE_LINK_LOCAL: True
|
|
IRONIC_VM_COUNT: 3
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
|
|
IRONIC_VM_NETWORK_BRIDGE: sub1brbm
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_VM_SPECS_DISK: 4
|
|
IRONIC_VM_SPECS_CPU: 1
|
|
OVS_BRIDGE_MAPPINGS: 'mynetwork:sub1brbm,public:br-infra'
|
|
OVS_PHYSICAL_BRIDGE: sub1brbm
|
|
PHYSICAL_NETWORK: mynetwork
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
|
VIRT_DRIVER: ironic
|
|
PUBLIC_BRIDGE: br-infra
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
devstack_services:
|
|
c-api: False
|
|
c-bak: False
|
|
c-sch: False
|
|
c-vol: False
|
|
cinder: False
|
|
|
|
q-agt: True
|
|
ovn-controller: False
|
|
ovn-northd: False
|
|
q-ovn-metadata-agent: False
|
|
n-cpu: True
|
|
|
|
- job:
|
|
# NOTE(JayF) This job sets up two nova-computes with two different shards
|
|
# TODO(JayF) Add a post-run validation to ensure the two n-cpus did not
|
|
# see each others' nodes
|
|
name: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard
|
|
description: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard
|
|
parent: ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode
|
|
nodeset: openstack-two-node-jammy
|
|
vars:
|
|
tempest_test_regex: "BaremetalBasicOps"
|
|
devstack_localrc:
|
|
IRONIC_SHARDS: 1
|
|
IRONIC_SHARD_1_NAME: "main-node"
|
|
group-vars:
|
|
subnode:
|
|
devstack_localrc:
|
|
IRONIC_SHARDS: 1
|
|
IRONIC_SHARD_1_NAME: "subnode"
|
|
|
|
- job:
|
|
name: ironic-tox-unit-with-driver-libs
|
|
parent: openstack-tox
|
|
description: |
|
|
Run python 3 unit tests with driver dependencies installed.
|
|
vars:
|
|
tox_envlist: unit-with-driver-libs
|
|
|
|
- job:
|
|
name: ironic-tox-unit-mysql-migrations
|
|
parent: openstack-tox
|
|
description: |
|
|
Run MySQL based data model migrations separate to isolate failures.
|
|
vars:
|
|
tox_envlist: mysql-migrations
|
|
|
|
- job:
|
|
name: ironic-inspector-tempest-discovery-fast-track
|
|
description: ironic-inspector-tempest-discovery-fast-track
|
|
parent: ironic-inspector-tempest-discovery
|
|
vars:
|
|
tempest_test_regex: BareMetalFastTrackTest
|
|
devstack_localrc:
|
|
IRONIC_INSPECTOR_POWER_OFF: False
|
|
IRONIC_DEPLOY_FAST_TRACK: True
|
|
IRONIC_DEPLOY_FAST_TRACK_CLEANING: True
|
|
|
|
- job:
|
|
name: ironic-tempest-ipa-partition-uefi-pxe-grub2
|
|
description: Ironic tempest scenario test utilizing PXE, UEFI, and Grub2
|
|
parent: ironic-base
|
|
vars:
|
|
devstack_localrc:
|
|
IRONIC_ENABLED_HARDWARE_TYPES: ipmi
|
|
IRONIC_ENABLED_BOOT_INTERFACES: pxe
|
|
IRONIC_IPXE_ENABLED: False
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
|
|
- job:
|
|
name: ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib
|
|
parent: ironic-base
|
|
vars:
|
|
devstack_services:
|
|
s-account: True
|
|
s-container: True
|
|
s-object: True
|
|
s-proxy: True
|
|
devstack_localrc:
|
|
IRONIC_DIB_RAMDISK_OS: centos9
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_INTERFACE_COUNT: 1
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
IRONIC_BOOT_MODE: bios
|
|
|
|
- job:
|
|
name: ironic-tempest-ipxe-ipv6
|
|
description: ironic-tempest-ipxe-ipv6
|
|
parent: ironic-base
|
|
required-projects:
|
|
- opendev.org/openstack/networking-generic-switch
|
|
vars:
|
|
tempest_test_timeout: 2400
|
|
devstack_services:
|
|
# NOTE(TheJulia): It seems our devstack plugin does not play well
|
|
# with multitenancy and the newer neutron service names.
|
|
q-agt: True
|
|
q-dhcp: True
|
|
q-l3: True
|
|
q-meta: False
|
|
q-metering: False
|
|
q-svc: True
|
|
swift: True
|
|
devstack_plugins:
|
|
ironic: https://opendev.org/openstack/ironic
|
|
networking-generic-switch: https://opendev.org/openstack/networking-generic-switch
|
|
# NOTE(TheJulia): Nova default behavior is to rely upon stack defaults, v6 needs to
|
|
# be explicit. This is the best place to wire it in.
|
|
tempest_test_regex: BaremetalSingleTenant
|
|
devstack_localrc:
|
|
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
|
|
IPV6_ENABLED: True
|
|
IRONIC_IP_VERSION: 6
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_ENABLED_BOOT_INTERFACES: ipxe,pxe
|
|
IRONIC_DEFAULT_BOOT_INTERFACE: ipxe
|
|
IRONIC_IPXE_ENABLED: True
|
|
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
|
|
OVS_PHYSICAL_BRIDGE: brbm
|
|
PHYSICAL_NETWORK: mynetwork
|
|
TENANT_VLAN_RANGE: 100:150
|
|
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
|
|
IRONIC_NETWORK_INTERFACE: neutron
|
|
IRONIC_DEFAILT_RESCUE_INTERFACE: no-rescue
|
|
IRONIC_USE_LINK_LOCAL: True
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_INTERFACE_COUNT: 1
|
|
# This will swap and needs to get to tinycore soon.
|
|
IRONIC_VM_SPECS_CPU: 2
|
|
Q_PLUGIN: ml2
|
|
ENABLE_TENANT_VLANS: True
|
|
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
|
OVS_BRIDGE_MAPPINGS: "public:br-ex,mynetwork:brbm"
|
|
USE_PROVIDER_NETWORKING: True
|
|
PUBLIC_PHYSICAL_NETWORK: public
|
|
PUBLIC_PROVIDERNET_TYPE: flat
|
|
Q_USE_PROVIDERNET_FOR_PUBLIC: True
|
|
BUILD_TIMEOUT: 2000
|
|
IRONIC_TEMPEST_BUILD_TIMEOUT: 2000
|
|
IRONIC_PING_TIMEOUT: 1440
|
|
# TODO(TheJulia): Change this to UEFI once we have Ubuntu Jammy
|
|
# as it auto-attempts to UEFI boot PXE v4 and PXE v6. Prior just
|
|
# does IPv4 and we cannot easily edit the nvram to inject just v6.
|
|
# TODO(TheJulia): The devstack plugin also needs to be changed to
|
|
# dhcpv6-stateful instead of stateless when this is changed to UEFI
|
|
# as OVMF/E2DK does not support stateless.
|
|
IRONIC_BOOT_MODE: bios
|
|
|
|
|
|
# NOTE(rpittau): OLD TINYIPA JOBS
|
|
# Those jobs are used by other projects, we leave them here until
|
|
# we can convert them to dib.
|
|
|
|
# Used by devstack/ironic/nova/neutron
|
|
- job:
|
|
name: ironic-tempest-bios-ipmi-direct-tinyipa
|
|
description: ironic-tempest-wholedisk-bios-ipmi-direct-tinyipa that also tests cleaning.
|
|
parent: ironic-base
|
|
vars:
|
|
devstack_localrc:
|
|
IRONIC_DEFAULT_RESCUE_INTERFACE: agent
|
|
IRONIC_ENABLED_RESCUE_INTERFACES: "fake,agent,no-rescue"
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
IRONIC_BOOT_MODE: bios
|
|
devstack_services:
|
|
s-account: True
|
|
s-container: True
|
|
s-object: True
|
|
s-proxy: True
|
|
|
|
- job:
|
|
name: ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa
|
|
description: Alias for ironic-tempest-wholedisk-bios-ipmi-direct-tinyipa
|
|
parent: ironic-tempest-bios-ipmi-direct-tinyipa
|
|
|
|
- job:
|
|
name: ironic-tempest-uefi-redfish-vmedia-4k
|
|
description: "Build 4k disk artifacts with 4k VMs"
|
|
parent: ironic-tempest-uefi-redfish-vmedia
|
|
vars:
|
|
tempest_test_timeout: 2800
|
|
devstack_localrc:
|
|
# NOTE(TheJulia): This job takes a while because it is blending
|
|
# vmedia *and* 4k block device layouts which requires mastering and
|
|
# streaming a real image as opposed to cirros.
|
|
BUILD_TIMEOUT: 2400
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_VM_COUNT: 1
|
|
IRONIC_VM_SPECS_DISK: 20
|
|
IRONIC_VM_BLOCK_SIZE: 4096
|
|
IRONIC_BUILD_DIB_IMAGE: True
|
|
SWIFT_ENABLE_TEMPURLS: False
|
|
# This job by defaults deploys a dib cirros image,
|
|
# and to do so, the instance user is not cirros.
|
|
DEFAULT_INSTANCE_USER: "cloud-user"
|
|
IRONIC_DEFAULT_RESCUE_INTERFACE: "no-rescue"
|
|
IRONIC_ENABLED_RESCUE_INTERFACES: "fake,no-rescue"
|
|
|
|
- job:
|
|
name: ironic-grenade
|
|
parent: grenade
|
|
timeout: 10800
|
|
irrelevant-files:
|
|
- ^driver-requirements.txt$
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
- ^redfish-interop-profiles/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
required-projects:
|
|
- opendev.org/openstack/grenade
|
|
- opendev.org/openstack/ironic
|
|
- opendev.org/openstack/ironic-python-agent
|
|
- opendev.org/openstack/ironic-python-agent-builder
|
|
- opendev.org/openstack/ironic-tempest-plugin
|
|
- opendev.org/openstack/virtualbmc
|
|
vars:
|
|
grenade_devstack_localrc:
|
|
shared:
|
|
#NOTE: when in UEFI mode, TFTP packets don't get tracked nor
|
|
#pass between original and upgrade networks. Switch to BIOS
|
|
#until we can fix this properly.
|
|
IRONIC_BOOT_MODE: bios
|
|
DEFAULT_INSTANCE_TYPE: baremetal
|
|
FORCE_CONFIG_DRIVE: True
|
|
INSTALL_TEMPEST: False
|
|
VIRT_DRIVER: ironic
|
|
BUILD_TIMEOUT: 1200
|
|
IRONIC_TEMPEST_BUILD_TIMEOUT: 1200
|
|
IRONIC_BAREMETAL_BASIC_OPS: True
|
|
IRONIC_BUILD_DEPLOY_RAMDISK: False
|
|
IRONIC_CALLBACK_TIMEOUT: 600
|
|
IRONIC_DEPLOY_DRIVER: ipmi
|
|
IRONIC_INSPECTOR_BUILD_RAMDISK: False
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
IRONIC_VM_COUNT: 4
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vxlan
|
|
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
EBTABLES_RACE_FIX: True
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
INSTANCE_WAIT: 120
|
|
MYSQL_GATHER_PERFORMANCE: False
|
|
CIRROS_VERSION: 0.6.1
|
|
# Required as different access rights are used by default
|
|
# and the classic devstack config which is defaulted doesn't work.
|
|
IRONIC_ENFORCE_SCOPE: True
|
|
old:
|
|
IRONIC_VM_LOG_DIR: '{{ devstack_bases.old }}/ironic-bm-logs'
|
|
grenade_localrc:
|
|
BASE_RUN_SMOKE: False
|
|
grenade_tempest_concurrency: 1
|
|
grenade_test_timeout: 2600
|
|
devstack_plugins:
|
|
ironic: https://opendev.org/openstack/ironic
|
|
devstack_services:
|
|
c-api: False
|
|
c-bak: False
|
|
c-sch: False
|
|
c-vol: False
|
|
cinder: False
|
|
ir-api: True
|
|
ir-cond: True
|
|
# Neutron services
|
|
# In the Ironic grenade job we want to explicitly enable ML2/OVS agents
|
|
# and disable OVN
|
|
q-agt: true
|
|
q-dhcp: true
|
|
q-l3: true
|
|
q-meta: true
|
|
q-svc: true
|
|
q-metering: true
|
|
ovn-controller: false
|
|
ovn-northd: false
|
|
q-ovn-metadata-agent: false
|
|
tempest_plugins:
|
|
- ironic-tempest-plugin
|
|
tempest_test_regex: ironic_tempest_plugin.tests.scenario
|
|
tox_envlist: all
|
|
tempest_concurrency: 1
|
|
zuul_copy_output:
|
|
'{{ devstack_bases.old }}/ironic-bm-logs': logs
|
|
|
|
- job:
|
|
name: ironic-grenade-multinode-multitenant
|
|
parent: grenade-multinode
|
|
timeout: 10800
|
|
irrelevant-files:
|
|
- ^driver-requirements.txt$
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
- ^redfish-interop-profiles/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^tools/.*$
|
|
- ^tox.ini$
|
|
required-projects:
|
|
- opendev.org/openstack/grenade
|
|
- opendev.org/openstack/ironic
|
|
- opendev.org/openstack/ironic-lib
|
|
- opendev.org/openstack/ironic-python-agent
|
|
- opendev.org/openstack/ironic-python-agent-builder
|
|
- opendev.org/openstack/ironic-tempest-plugin
|
|
- opendev.org/openstack/networking-generic-switch
|
|
- opendev.org/openstack/python-ironicclient
|
|
- opendev.org/openstack/virtualbmc
|
|
vars:
|
|
grenade_devstack_localrc:
|
|
shared:
|
|
DEFAULT_INSTANCE_TYPE: baremetal
|
|
ENABLE_TENANT_TUNNELS: False
|
|
ENABLE_TENANT_VLANS: True
|
|
FORCE_CONFIG_DRIVE: True
|
|
HOST_TOPOLOGY: multinode
|
|
HOST_TOPOLOGY_ROLE: primary
|
|
BUILD_TIMEOUT: 1200
|
|
INSTALL_TEMPEST: False # Don't install a tempest package globally
|
|
HOST_TOPOLOGY_SUBNODES: "{{ hostvars['compute1']['nodepool']['public_ipv4'] }}"
|
|
IRONIC_BAREMETAL_BASIC_OPS: True
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_BUILD_DEPLOY_RAMDISK: False
|
|
IRONIC_CALLBACK_TIMEOUT: 700
|
|
IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
|
|
IRONIC_DEPLOY_DRIVER: ipmi
|
|
IRONIC_VM_COUNT: 4
|
|
IRONIC_VM_EPHEMERAL_DISK: 1
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_TEMPEST_BUILD_TIMEOUT: 1200
|
|
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
|
|
|
|
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
|
|
IRONIC_NETWORK_INTERFACE: neutron
|
|
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
|
|
IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1
|
|
IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24
|
|
IRONIC_USE_LINK_LOCAL: True
|
|
OVS_BRIDGE_MAPPINGS: 'mynetwork:brbm,public:br-infra'
|
|
OVS_PHYSICAL_BRIDGE: brbm
|
|
PHYSICAL_NETWORK: mynetwork
|
|
PUBLIC_BRIDGE: br-infra
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
|
Q_PLUGIN: ml2
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
TENANT_VLAN_RANGE: 100:150
|
|
VIRT_DRIVER: ironic
|
|
EBTABLES_RACE_FIX: True
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
IRONIC_VM_LOG_DIR: '/opt/stack/ironic-bm-logs'
|
|
grenade_localrc:
|
|
BASE_RUN_SMOKE: False
|
|
devstack_plugins:
|
|
ironic: https://opendev.org/openstack/ironic
|
|
networking-generic-switch: https://opendev.org/openstack/networking-generic-switch
|
|
devstack_services:
|
|
c-api: False
|
|
c-bak: False
|
|
c-sch: False
|
|
c-vol: False
|
|
cinder: False
|
|
ir-api: True
|
|
ir-cond: True
|
|
tempest_plugins:
|
|
- ironic-tempest-plugin
|
|
tempest_test_regex: BaremetalMultitenancy
|
|
tox_envlist: all
|
|
tempest_concurrency: 1
|
|
grenade_tempest_concurrency: 1
|
|
grenade_test_timeout: 2600
|
|
zuul_copy_output:
|
|
'/opt/stack/ironic-bm-logs': logs
|
|
'{{ devstack_base_dir }}/data/networking-generic-switch/netmiko_session.log': 'logs'
|
|
group-vars:
|
|
subnode:
|
|
devstack_plugins:
|
|
ironic: https://opendev.org/openstack/ironic
|
|
networking-generic-switch: https://opendev.org/openstack/networking-generic-switch
|
|
devstack_services:
|
|
c-api: False
|
|
c-bak: False
|
|
c-sch: False
|
|
c-vol: False
|
|
cinder: False
|
|
g-api: True
|
|
ir-api: True
|
|
ir-cond: True
|
|
n-cpu: True
|
|
q-agt: True
|
|
virtualbmc: True
|
|
grenade_devstack_localrc:
|
|
shared:
|
|
DEFAULT_INSTANCE_TYPE: baremetal
|
|
ENABLE_TENANT_TUNNELS: False
|
|
ENABLE_TENANT_VLANS: True
|
|
FORCE_CONFIG_DRIVE: True
|
|
HOST_TOPOLOGY: multinode
|
|
HOST_TOPOLOGY_ROLE: subnode
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_BAREMETAL_BASIC_OPS: True
|
|
IRONIC_BUILD_DEPLOY_RAMDISK: False
|
|
BUILD_TIMEOUT: 1200
|
|
IRONIC_CALLBACK_TIMEOUT: 700
|
|
IRONIC_TEMPEST_BUILD_TIMEOUT: 1200
|
|
IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
|
|
IRONIC_DEPLOY_DRIVER: ipmi
|
|
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
|
|
IRONIC_NETWORK_INTERFACE: neutron
|
|
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
|
|
IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1
|
|
IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24
|
|
IRONIC_RAMDISK_TYPE: tinyipa
|
|
IRONIC_USE_LINK_LOCAL: True
|
|
IRONIC_VM_COUNT: 4
|
|
IRONIC_VM_EPHEMERAL_DISK: 0
|
|
IRONIC_VM_SPECS_RAM: 1024
|
|
IRONIC_VM_NETWORK_BRIDGE: sub1brbm
|
|
OVS_BRIDGE_MAPPINGS: 'mynetwork:sub1brbm,public:br-infra'
|
|
OVS_PHYSICAL_BRIDGE: sub1brbm
|
|
PHYSICAL_NETWORK: mynetwork
|
|
PUBLIC_BRIDGE: br-infra
|
|
Q_AGENT: openvswitch
|
|
Q_ML2_TENANT_NETWORK_TYPE: vlan
|
|
Q_PLUGIN: ml2
|
|
SWIFT_ENABLE_TEMPURLS: True
|
|
SWIFT_TEMPURL_KEY: secretkey
|
|
VIRT_DRIVER: ironic
|
|
EBTABLES_RACE_FIX: True
|
|
LIBVIRT_STORAGE_POOL_PATH: /opt/libvirt/images
|
|
IRONIC_VM_LOG_DIR: '/opt/stack/ironic-bm-logs'
|
|
|
|
- job:
|
|
name: ironic-cross-sushy
|
|
nodeset: ubuntu-jammy
|
|
description: Ironic unit tests run with Sushy from source
|
|
parent: openstack-tox
|
|
required-projects:
|
|
- opendev.org/openstack/ironic
|
|
- opendev.org/openstack/sushy
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^devstack/.*$
|
|
- ^doc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^tools/.*$
|
|
vars:
|
|
# NOTE(dtantsur): change this every release cycle if needed.
|
|
bindep_profile: test py310
|
|
tox_envlist: py310
|
|
# This variable ensures that sushy is installed from source.
|
|
tox_install_siblings: true
|
|
# NOTE(dtantsur): this job will be run on sushy as well, so it's
|
|
# important to set the working dir to the Ironic checkout.
|
|
zuul_work_dir: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/ironic'].src_dir }}"
|
|
|
|
- job:
|
|
name: ironic-grenade-skip-level
|
|
parent: ironic-grenade
|
|
vars:
|
|
grenade_from_branch: stable/zed
|
|
grenade_to_branch: master
|
|
grenade_localrc:
|
|
# NOTE(iurygregory): This is required for skip upgrades.
|
|
NOVA_ENABLE_UPGRADE_WORKAROUND: True
|