889 Commits

Author SHA1 Message Date
Riccardo Pittau
a5af5ae5c3 Use OVN and OVS from OS packages in CI
In Ubuntu Noble OVN is at version 24.03 and Openvswitch at 3.3.0
Both versions are new enough that can be used instead of
recompiling from source.

Change-Id: I0d0a75944759e97d135341c18a3be9cb09202ddb
2024-11-28 14:43:21 +01:00
Jay Faulkner
360e21124c Use specific fix-commit from dnsmasq
I have requested a new release from dnsmasq here:
https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2024q4/017828.html
but until they perform one, we should at least checkout and build
a version of dnsmasq with this fix, instead of downgrading to one that
is slightly less broken.

Related-Bug: 2026757
Change-Id: I8abac5fa729035341c90d7881cb35aff751da101
2024-11-19 10:37:21 -08:00
Zuul
4cbd353c5e Merge "trivial: remove libpq from bindep file" 2024-11-18 18:18:40 +00:00
Zuul
e13f593f37 Merge "Add support for Ubuntu 24.04" 2024-11-18 15:20:37 +00:00
Julia Kreger
e3953b845e trivial: remove libpq from bindep file
As noticed on If6e4432b000996789346a1f7449410cfc8497fe1
libpq is likely not needed in the jobs. As such, removing.

Change-Id: I16cdd1f84f8fe1bdb8fe08536ae2a7d7ef6a70a9
2024-11-14 13:06:48 -08:00
Jay Faulkner
466cd3902c Remove postgresql testing and documentation
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
2024-11-12 14:41:04 -08:00
Riccardo Pittau
e7fc5c93ab Add support for Ubuntu 24.04
Depends-On: I699d26d44e2cb8b40f3f87557762c696ea9a7ac8
Change-Id: I61e5cf4dbf81b5914fd9b7922e62721e45fed658
2024-11-12 12:39:45 +01:00
Zuul
feb7740009 Merge "devstack - enable v6 addr list if q-dhcp enabled" 2024-11-10 05:37:35 +00:00
Riccardo Pittau
166e317945 Check for AMD virtualization support
As we do for Intel vmx we shold also check for AMD svm support
before dropping to tinyipa.

Change-Id: I8507db1bf99631b1076fa5db7ddc6bc3fb7e8083
2024-11-05 11:27:48 +01:00
Zuul
21d6133fa1 Merge "Remove trailing whitespace" 2024-11-04 11:11:48 +00:00
Zuul
20f7e5a517 Merge "CI: Change 4k block device job to use LVM" 2024-10-31 18:59:06 +00:00
Jay Faulkner
045249f60d Remove trailing whitespace
Trailing whitespace is soon to be caught by the global pre-commit
linter changes. This fixes this issue in anticipation of that lint.

Change-Id: I48597afde4c55775ccca56f927c30ca4f3465523
2024-10-29 14:55:44 -07:00
Jay Faulkner
3db454f0ea Enable WSGI module entrypoint for Ironic
This adds a wsgi entrypoint module which can be used with a wsgi runner,
such as uwsgi, to launch Ironic API processes without the need of a
separate script.

The legacy WSGI script is currently being installed by PBR, and as part
of the migration to a pyproject.yaml-compatible PBR, we cannot use the
wsgi-scripts plugin anymore, and will be removing the script installed
by it in a future Ironic release.

The new WSGI script, because it has statements at the module top-level,
cannot be autodocumented; we now exclude it.

Also we don't treat all warnings as errors in pdf docs builds to allow
the use of mock autosummary, starting with including the wsgi module.

Co-Authored-By: Doug Goldstein <cardoe@cardoe.com>
Change-Id: I584ac6a25c4e6cd9744a609b50d12b434a930dc6
2024-10-25 16:57:05 +02:00
Julia Kreger
fde2cd608e CI: Change 4k block device job to use LVM
An interesting, and frustrating aspect of 4k block devices is that the math begins
to be impacted across the whole of the useage of the device.
Specifically the LVM block spacing also begins to be thrown
"out of alignment" which changes user calculations.

Most users doing smaller allocations likely won't matter, but users doing
thin volumes or filling the percentage of the remaining usable volume, also then
break.

So realistically, the best path to ensure we have appropriate 4k device testing,
and our dependent tooling in diskimage-builder is also getting tested, is to run
the more complex case in our CI job.

This change is dependent upon two other changes which are under review.

Change-Id: I5b23403c783fa84b4158708741524c3dc9a92722
2024-10-24 10:56:31 -07:00
Ghanshyam Mann
7b807eff73 Enable GLOBAL_VENV in ironic grenade jobs
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
2024-10-17 14:48:11 -07:00
Zuul
45ee7dc365 Merge "CI: Add a 4k disk CI job" 2024-10-17 15:37:45 +00:00
Stephen Finucane
05ccd2c323 devstack: Remove IRONIC_USE_WSGI
No jobs are setting this, nor have any set it in some time. Remove it.

Change-Id: I38a092de125e382607d89d8e5a3b85db809a6d61
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-16 11:48:06 +01:00
Stephen Finucane
fd9e8b9455 devstack: Remove IRONIC_USE_MOD_WSGI
Nothing is setting this anymore, making this a layer of indirection
we do not need. Remove it.

Change-Id: Iba3674536ee98ba4d2d0cb5ffb0ec52e5286b7e7
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-16 11:16:49 +01:00
Julia Kreger
0d7fd73919 CI: Add a 4k disk CI job
Add a CI job to leverage a 4k logical block disk image which is
deployed to the remote system to ensure the build pipeline and
code to naviate 4k disk images is in working order.

Change-Id: If7aee654f9282b33ea489558f45f45cfed86e9d1
2024-10-02 14:25:19 -07:00
Zuul
bae9c25a75 Merge "CI: Enable the ability to have test VMs with different block sizes" 2024-09-27 09:02:44 +00:00
Julia Kreger
6f1c603b5b CI: Enable the ability to have test VMs with different block sizes
Recently we became aware that some operators might need a larger
block size, but our CI testing doesn't represent any ability to
assert a different block size.

We can now assert a block size override in the scripting which
allows us to create a CI job.

Change-Id: I8470fb5b2827226dc155938a94c3a2cbe98912b5
2024-09-26 15:21:46 -07:00
Dmitry Tantsur
510f87a033
Try limiting MTU to at least 1280
Temporary make metal3-integration non-voting until we merge the fix for
regression https://review.opendev.org/c/openstack/ironic/+/928885.

Change-Id: If8f9907df62019b3cf6d6df7d83d5ff421f6be65
2024-09-12 10:35:40 +02:00
Zuul
da5e44908b Merge "Enable the inspection test in the redfish standalone job" 2024-09-03 17:49:14 +00:00
cid
aaec00275a Replace reference to ari/aki
Replace 'ari' and 'aki' with correct values for kernel/ramdisk
artifacts.

Closes-Bug: #2074090
Change-Id: I5b5bcf7e081fc0865ec43ccf6a988280ec7c9273
2024-08-27 13:46:10 +01:00
Dmitry Tantsur
e3d6b644ff
Enable the inspection test in the redfish standalone job
Change-Id: If975a303b6a74efdb2688ad6ae961c34336d99bb
Depends-On: https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/925981
2024-08-22 17:50:44 +02:00
Zuul
50c12609cc Merge "DevStack: enable the new in-band inspection by default" 2024-08-12 17:01:07 +00:00
Zuul
701ad07b57 Merge "CI: set tftp folder permission" 2024-08-07 14:11:02 +00:00
Dmitry Tantsur
db7e4deff9
DevStack: enable the new in-band inspection by default
This change makes it possible to test the new "agent" implementation.
The PXE environment is not migrated so far, so managed inspection is
assumed by default.

Change-Id: I60a11454aefc01333e3f788e2b09ec6e47423223
2024-08-05 13:27:40 +02:00
Jay Faulkner
bfdfd6c161 [devstack] Ensure downgrade_dnsmasq is idempotent
Right now, when restacking to get new code checked out, we fail due to
the dnsmasq directory already existing. Now, skip the downgrade if we
detect the correct version -- as we would on a second run.

Change-Id: I5c3d28f75b66d14540cbafa03bff8b7def688da5
2024-07-25 13:50:59 -07:00
Julia Kreger
631f50d21b CI: set tftp folder permission
In trying to chase down why the raw tftp boot of grub is not
happy, I determined that the tftp folder being created had the
wrong permissions out of the box. Ironic has an optional knob for
this, so we're going to set it by default.

Change-Id: If2a0e5e47163a3525ecd245e8b54cacea9a615de
2024-07-09 23:13:25 +00:00
cid
3fd1fb3518 Follow up to change on testing CI on ARM
Setting the minimum needed for configuring devstack.

Related-Change: #915441
Change-Id: Ia94ebe2d2a1bd66cd03a4c833273b20ff15171f4
2024-06-24 20:00:53 +01:00
Zuul
19c8efd9d7 Merge "Provision ARM (aarch64) fake-bare-metal-vms" 2024-06-19 16:59:05 +00:00
cid
209ba79732 Provision ARM (aarch64) fake-bare-metal-vms
This commit introduces support for provisioning ARM (aarch64)
fake-bare-metal VMs in Ironic for the purpose of eventually supporting
CI testing on ARM64 architecture-based hardware.

Change-Id: Ie4bff8892228275ad0fb940c30e8071f7f4c423f
2024-06-19 03:17:05 +01:00
Julia Kreger
f14794ca2e Remove ibmc hardware type
There has been no testing of this hardware type in quite some time,
and the last we heard the vendor was moving towards redfish.

Change-Id: Ib32db463981ec54430884ac760956b7c7b40b17f
2024-06-18 16:33:35 -07:00
Julia Kreger
c02ad76fef Remove deprecated xclarity hardware type
Change-Id: I93e0d947d0f790bd4dfaa73e2cd31fdd36262af2
2024-06-18 16:33:00 -07:00
Jay Faulkner
b44cad8e5e Fix CI issues in codespell/pep8
Codespell upgrade caused failures, fixed spelling where
appropriate, added ignores where appropriate.

Some new package release broke pep8 runs; fixed by no
longer pinning Pygments version.

Change-Id: I670bbb170823d6a0ace8eeb9d9e486e8e9bf7404
2024-05-28 02:38:31 -07:00
Zuul
4b35da4ece Merge "[devstack] Upload images with --file instead of stdin" 2024-05-14 15:48:13 +00:00
Zuul
dcace881bc Merge "docs: revise notes around iso booting for clarity" 2024-05-13 16:37:25 +00:00
Dan Smith
a0f48b6425 [devstack] Upload images with --file instead of stdin
This makes all the image upload commands in the devstack plugin use
--file instead of stdin redirection, and also uses an absolute path.
One of the commands was already doing it this way. By doing the upload
like this, it makes the devstack plugin usable with the OCaaS devstack
mode (for faster openstack client ops) since we can't pass the image
stream via stdin. Most people will be using --file for uploading
anyway, so this is probably more realistic anyway.

Change-Id: I8d97ed731133d02aed46a078c50769692ad7ba04
2024-05-08 11:00:44 -07:00
Julia Kreger
8d0b556e3d Fix spurious CI job failures around partition images
Cirros partition images have some underlying limitations,
meaning it is not ideal for any step which requires the image
to hae commands executed in it to perform operations, such as
mounting additional filesystems in UEFI mode, or installing
grub in BIOS mode.

This is because cirros images are an unpacked ramdisk, in other
words, the posted disk image *has no* contents on the root
filesystem of the image. While we attempt to unpack[0] this as well,
this can also fail creating false failures resulting in check
jobs failing and then working on recheck.

As the constraint is the same as the BIOS mode check, and there
is no realistic fix, this change removes the boot mode check and
thus always disables partition image testing with tempest *when*
cirros is in use.

note 0: We presently unpack using a virtual machine launch so it
takes place with the same process as when cirros starts, however
linux doesn't always boot, and the tools don't really determine
if that is the case or not, and if we retool it, we should just
move to a direct extraction and image re-pack.

Change-Id: I7687ff1eddb14d22b981860d4c4c9b172bae45b7
2024-05-07 09:40:32 -07:00
Julia Kreger
021117e354 docs: revise notes around iso booting for clarity
Had someone try to boot the tinycore ISO on a UEFI machine, and they
got a nice error. Just turns out we needed to update our docs a little
bit to provide appropriate clarity.

Change-Id: I1adfb62ea22d0b58740ceadc8c338fc04d9b78de
2024-05-01 10:14:20 -07:00
Zuul
a7b2908e2c Merge "CI: Unpack cirros image partition jobs" 2024-04-18 19:20:12 +00:00
cid
211e007472 Load machine type from command-line
Change-Id: Ib2bdac78e0eb4043e2a2f86244ea168641571817
2024-04-16 00:30:44 +01:00
Julia Kreger
adef5d60a7 CI: Unpack cirros image partition jobs
Cirros, by default, as part of its initialization, copies the initial
ramdisk contents over the filesystem on disk. This changes the partition
image creation job so we do it upfront so the partition image looks like
and matches what we generally expect from a partition image as opposed
to just a kernel, ramdisk, and bootloader.

Change-Id: Idde30e33e9453f8564a7c3b9109c4e567146dee7
2024-04-02 03:53:37 +00:00
Julia Kreger
12cf47da0b ci: automatically set the branch for IPA to match TARGET_BRANCH
... if present, use TARGET_BRANCH parameter to influence which
branch is used for IPA downloads.

Change-Id: I9d8878ddc56f1cd90debfc2e61838162fe39e039
2024-03-27 13:46:52 -07:00
Zuul
df9e1ba80e Merge "[codespell] Fixing Spelling Mistakes" 2024-03-14 17:13:05 +00:00
Zuul
1e84214d38 Merge "ci: support overriding the service project name" 2024-03-11 12:49:27 +00:00
Zuul
4a147edd4d Merge "Fix multiple assignment of redfish_system_id during node creation" 2024-03-08 01:00:03 +00:00
cid
abe8843ddc Fix multiple assignment of redfish_system_id during node creation
``redfish_system_id`` is being passed multiple times to the node at
creation as ``node_options`` never defaults back to it's initial state
throughout the iteration of the while loop.

Though it is surprisingly functional, it's fragile and this change aims
to fix that.

Closes-Bug: #2054597
Change-Id: I2c151afafb86191f047985ac00075a791639646d
2024-03-05 16:17:39 +01:00
Zuul
8122861dac Merge "ci: pin CI to dnsmasq 2.85" 2024-03-01 15:03:28 +00:00