CI: Reconfigure jobs to minimize tinyipa usage
This change involves: - Moves ironic-standalone jobs to use 32GB nodes which is a relatively simple change. - Changes other jobs excluding multinode jobs to use DIB image builds by default. - Changes one of job names to remove tinyipa from the name. - Also notes a job which can be removed, but removal will be in a later change... and adds a release note in case anyone looks. Change-Id: If9110c8f5041428df3e59f40fe0cb71bcf8580a8
This commit is contained in:
@@ -1004,15 +1004,6 @@ if is_deployed_by_redfish && [[ "$IRONIC_ENABLED_HARDWARE_TYPES" != *"redfish"*
|
||||
"for DevStack"
|
||||
fi
|
||||
|
||||
# Assert that for non-TynyIPA ramdisks and Ansible, the private SSH key file to use exists.
|
||||
if is_ansible_deploy_enabled && [[ "$IRONIC_RAMDISK_TYPE" != "tinyipa" ]]; then
|
||||
if [[ ! -f $IRONIC_ANSIBLE_SSH_KEY ]]; then
|
||||
die $LINENO "Using non-TinyIPA ramdisks with ansible deploy interface" \
|
||||
"requires setting IRONIC_ANSIBLE_SSH_KEY to existing"\
|
||||
"private SSH key file to be used by Ansible."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Syslinux >= 5.00 pxelinux.0 binary is not "stand-alone" anymore,
|
||||
# it depends on some c32 modules to work correctly.
|
||||
# More info: http://www.syslinux.org/wiki/index.php/Library_modules
|
||||
@@ -1945,7 +1936,7 @@ function configure_ironic_conductor {
|
||||
fi
|
||||
if [[ -z $IRONIC_ANSIBLE_SSH_USER ]]; then
|
||||
# we definitely know the default username to use for TinyIPA image
|
||||
IRONIC_ANSIBLE_SSH_USER='tc'
|
||||
IRONIC_ANSIBLE_SSH_USER='devuser'
|
||||
fi
|
||||
# (rpittau) most recent tinyipa uses python3 natively so we need to change
|
||||
# the default ansible python interpreter.
|
||||
@@ -3842,6 +3833,9 @@ function build_ipa_dib_ramdisk {
|
||||
if is_deploy_iso_required; then
|
||||
IRONIC_DIB_RAMDISK_OPTIONS+=" iso"
|
||||
fi
|
||||
if is_ansible_deploy_enabled; then
|
||||
IRONIC_DIB_RAMDISK_OPTIONS+=" devuser"
|
||||
fi
|
||||
git_clone $IRONIC_PYTHON_AGENT_BUILDER_REPO $IRONIC_PYTHON_AGENT_BUILDER_DIR $IRONIC_PYTHON_AGENT_BUILDER_BRANCH
|
||||
ELEMENTS_PATH="$IRONIC_PYTHON_AGENT_BUILDER_DIR/dib" \
|
||||
DIB_DHCP_TIMEOUT=$IRONIC_DIB_DHCP_TIMEOUT \
|
||||
@@ -3850,6 +3844,8 @@ function build_ipa_dib_ramdisk {
|
||||
DIB_REPOREF_ironic_python_agent=$TARGET_BRANCH \
|
||||
DIB_REPOLOCATION_requirements="$DEST/requirements" \
|
||||
DIB_REPOREF_requirements=$TARGET_BRANCH \
|
||||
DIB_DEVUSER_PWDLESS_SUDO=yes \
|
||||
DIB_DEVUSER_AUTHORIZED_KEYS=$IRONIC_ANSIBLE_SSH_KEY.pub \
|
||||
disk-image-create "$IRONIC_DIB_RAMDISK_OPTIONS" \
|
||||
-x -o "$tempdir/ironic-agent" \
|
||||
ironic-python-agent-ramdisk
|
||||
|
@@ -0,0 +1,15 @@
|
||||
---
|
||||
deprecations:
|
||||
- |
|
||||
While never supported outside of the Ironic project's CI testing, use of
|
||||
the TinyIPA ramdisk image is in the process of being discontinued. Any
|
||||
users who chose to utilize TinyIPA for any reasons should leverage
|
||||
ironic-python-agent-builder images.
|
||||
other:
|
||||
- |
|
||||
Ironic is in the process of removing testing and use of TinyIPA, which was
|
||||
originally developed as a lightweight low memory IPA image to simplify
|
||||
upstream testing and had no use outside of that context. Due to the
|
||||
OpenStack move away from Python3.9, TinyIPA cannot continue
|
||||
to be maintained, and as such all testing and use of images will be
|
||||
discontinued by the Ironic community.
|
@@ -1,4 +1,19 @@
|
||||
---
|
||||
# NOTE(TheJulia): Based upon openstack-single-node-noble's nodeset definition,
|
||||
# but copied and the base label changed to match what we need for higher mem
|
||||
# jobs.
|
||||
- nodeset:
|
||||
# Base tenant node for high memory ironic jobs.
|
||||
name: ironic-single-node-noble
|
||||
nodes:
|
||||
- name: controller
|
||||
label: ubuntu-noble-32GB
|
||||
groups:
|
||||
- name: tempest
|
||||
nodes:
|
||||
- controller
|
||||
|
||||
|
||||
- job:
|
||||
name: ironic-base
|
||||
abstract: true
|
||||
@@ -180,6 +195,7 @@
|
||||
Test ironic standalone configured with ipmi hardware type, ramdisk and
|
||||
direct deploy interfaces, rescue enabled.
|
||||
parent: ironic-base
|
||||
nodeset: ironic-single-node-noble
|
||||
irrelevant-files:
|
||||
- ^.*\.rst$
|
||||
- ^api-ref/.*$
|
||||
@@ -196,7 +212,7 @@
|
||||
- ^tox.ini$
|
||||
vars:
|
||||
tempest_test_regex: ironic_standalone
|
||||
tempest_concurrency: 2
|
||||
tempest_concurrency: 3
|
||||
devstack_localrc:
|
||||
FORCE_CONFIG_DRIVE: False
|
||||
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
|
||||
@@ -206,11 +222,9 @@
|
||||
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_COUNT: 5
|
||||
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
|
||||
@@ -246,14 +260,16 @@
|
||||
- job:
|
||||
name: ironic-standalone-redfish
|
||||
parent: ironic-base
|
||||
nodeset: ironic-single-node-noble
|
||||
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
|
||||
- opendev.org/openstack/ironic-python-agent-builder
|
||||
vars:
|
||||
tempest_test_regex: ironic_standalone
|
||||
tempest_concurrency: 2
|
||||
tempest_concurrency: 3
|
||||
devstack_localrc:
|
||||
FORCE_CONFIG_DRIVE: False
|
||||
IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http
|
||||
@@ -270,15 +286,16 @@
|
||||
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_COUNT: 5
|
||||
IRONIC_VM_VOLUME_COUNT: 2
|
||||
IRONIC_VM_SPECS_RAM: 1024
|
||||
IRONIC_VM_SPECS_CPU: 1
|
||||
# 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
|
||||
# Always build IPA ramdisks, to enable key injection for ansible
|
||||
# deploy interface testing.
|
||||
IRONIC_BUILD_DEPLOY_RAMDISK: True
|
||||
devstack_services:
|
||||
atop: True
|
||||
n-api: False
|
||||
@@ -295,8 +312,11 @@
|
||||
s-proxy: False
|
||||
|
||||
- job:
|
||||
# NOTE(TheJulia): While a standalone job, this really only runs 1 test.
|
||||
# Or at least, should only run one test.
|
||||
name: ironic-standalone-anaconda
|
||||
parent: ironic-standalone-redfish
|
||||
nodeset: openstack-single-node-noble
|
||||
description:
|
||||
Test ironic with the anaconda deployment interface.
|
||||
Test also uses Redfish.
|
||||
@@ -305,7 +325,7 @@
|
||||
vars:
|
||||
tempest_test_regex: BaremetalRedfishIPxeAnacondaNoGlance
|
||||
tempest_test_timeout: 4800
|
||||
tempest_concurrency: 2
|
||||
tempest_concurrency: 1
|
||||
devstack_localrc:
|
||||
IRONIC_ENABLED_DEPLOY_INTERFACES: "anaconda"
|
||||
IRONIC_VM_COUNT: 2
|
||||
@@ -322,6 +342,35 @@
|
||||
IRONIC_ANACONDA_INSECURE_HEARTBEAT: True
|
||||
IRONIC_DEPLOY_CALLBACK_WAIT_TIMEOUT: 3600
|
||||
IRONIC_PXE_BOOT_RETRY_TIMEOUT: 3600
|
||||
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_RPC_TRANSPORT: json-rpc
|
||||
devstack_services:
|
||||
atop: 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
|
||||
|
||||
|
||||
# NOTE(TheJulia): This job should likely be phased out as the standalone
|
||||
# job mostly checks the related code paths, the overlap pertinant here is
|
||||
@@ -862,7 +911,6 @@
|
||||
IRONIC_ENABLED_HARDWARE_TYPES: ipmi
|
||||
IRONIC_ENABLED_BOOT_INTERFACES: pxe
|
||||
IRONIC_IPXE_ENABLED: False
|
||||
IRONIC_RAMDISK_TYPE: tinyipa
|
||||
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
||||
|
||||
- job:
|
||||
@@ -936,7 +984,6 @@
|
||||
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
|
||||
@@ -1016,21 +1063,20 @@
|
||||
|
||||
# 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.
|
||||
name: ironic-tempest-bios-ipmi-direct
|
||||
description: ironic-tempest-wholedisk-bios-ipmi-direct that also tests cleaning.
|
||||
parent: ironic-base
|
||||
vars:
|
||||
tempest_test_regex: test_baremetal_server_ops_wholedisk_image
|
||||
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
|
||||
IRONIC_VM_COUNT: 1
|
||||
devstack_services:
|
||||
atop: True
|
||||
s-account: True
|
||||
@@ -1038,10 +1084,11 @@
|
||||
s-object: True
|
||||
s-proxy: True
|
||||
|
||||
# FIXME(TheJulia): We need to fix this name.....
|
||||
- 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
|
||||
parent: ironic-tempest-bios-ipmi-direct
|
||||
|
||||
- job:
|
||||
name: ironic-tempest-uefi-redfish-vmedia-4k
|
||||
@@ -1109,11 +1156,10 @@
|
||||
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_COUNT: 2
|
||||
IRONIC_VM_EPHEMERAL_DISK: 0
|
||||
IRONIC_VM_SPECS_RAM: 1024
|
||||
IRONIC_VM_SPECS_RAM: 2600
|
||||
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
||||
Q_AGENT: openvswitch
|
||||
Q_ML2_TENANT_NETWORK_TYPE: vxlan
|
||||
@@ -1167,6 +1213,7 @@
|
||||
zuul_copy_output:
|
||||
'{{ devstack_bases.old }}/ironic-bm-logs': logs
|
||||
|
||||
# FIXME(TheJulia): This job should be removd, it is no longer used.
|
||||
- job:
|
||||
name: ironic-grenade-multinode-multitenant
|
||||
parent: grenade-multinode
|
||||
|
@@ -32,7 +32,7 @@
|
||||
voting: false
|
||||
- ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard:
|
||||
voting: false
|
||||
- ironic-tempest-bios-ipmi-direct-tinyipa
|
||||
- ironic-tempest-bios-ipmi-direct
|
||||
- ironic-tempest-bfv
|
||||
- ironic-tempest-ipa-partition-uefi-pxe-grub2
|
||||
- ironic-tempest-uefi-redfish-vmedia-4k
|
||||
|
Reference in New Issue
Block a user