7b807eff73
grenade by default enable GLOBAL_VENV which means it install and run everything from virtual env - https://review.opendev.org/c/openstack/grenade/+/930507 We faced the error in ironic grenade scripts in virtual env so GLOBAL_VENV was disabled explicitly. This fixing the scripts and enable GLOBAL_VENV in ironic jobs also. Change-Id: I48ee1dd4adc2e5bcc18c5f116d979e7524248495
1329 lines
47 KiB
YAML
1329 lines
47 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
|
|
|
|
- job:
|
|
name: ironic-tempest-pxe_ipmitool-postgres
|
|
description: ironic-tempest-pxe_ipmitool-postgres
|
|
parent: ironic-base
|
|
vars:
|
|
devstack_localrc:
|
|
IRONIC_ENABLED_BOOT_INTERFACES: "fake,pxe"
|
|
IRONIC_IPXE_ENABLED: False
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
devstack_services:
|
|
mysql: False
|
|
postgresql: 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:
|
|
# Security testing for known issues
|
|
name: ironic-tox-bandit
|
|
parent: openstack-tox
|
|
timeout: 2400
|
|
vars:
|
|
tox_envlist: bandit
|
|
required-projects:
|
|
- opendev.org/openstack/ironic
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^api-ref/.*$
|
|
- ^doc/.*$
|
|
- ^driver-requirements.txt$
|
|
- ^install-guide/.*$
|
|
- ^ironic/locale/.*$
|
|
- ^ironic/tests/.*$
|
|
- ^redfish-interop-profiles/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^tox.ini$
|
|
|
|
- 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:
|
|
devstack_localrc:
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
IRONIC_VM_COUNT: 1
|
|
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
|
|
|
|
- job:
|
|
name: ironic-tox-codespell
|
|
parent: openstack-tox
|
|
timeout: 7200
|
|
vars:
|
|
tox_envlist: codespell
|