Commit Graph

847 Commits

Author SHA1 Message Date
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
Zuul de3fd5d88f Merge "[CI] Support for running with shards" 2024-02-29 23:54:46 +00:00
Julia Kreger f893c740d7 ci: pin CI to dnsmasq 2.85
A temporary path forward to increase CI stability, by pinning
to what appears to be a "good working version" of upstream dnsmasq
which does not crash fon us.

Change-Id: I3295c92fd7b7871ad351b94f4c6cf0f554279db0
2024-02-29 14:54:40 -08:00
Jay Faulkner 5606c431f2 [CI] Support for running with shards
Adds support for creating nodes with shards.
Adds multinode job to test >1 n-cpus against shards.

Change-Id: I269568d83f17879fed5ac1dd5916935aea1f7fbf
2024-02-29 18:51:56 +00:00
yatinkarel 27f53debb6 ci: Source install dnsmasq-2.87
dnsmasq-2.86 shipped in Ubuntu jammy has a
known issue[1] which is fixed in dnsmasq-2.87
but it's not yet released with Ubuntu jammy.

Until fixed version is available in Ubuntu
jammy let's use source install instead of
using a older version from Ubuntu focal.

[1] https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2022q3/016562.html

Update from Julia:

Pushing forward the source fix again as ubuntu removed the
prior path we were using as a focal package and replaced
it with a package which is demonstrating the same basic issue.

Related-Bug: #2026757
Change-Id: I7ffcd167fc1e3a8c1192d766743bb5620d85ef35
2024-02-27 14:48:59 -08:00
Julia Kreger ab5d0cadb0 ci: support overriding the service project name
Extension to extend the default service project name
value, which if set can be overrridden in Ironic's policy
configuration.

Change-Id: I60cc53a34c7062261703492e720989efedca4f2b
2024-02-16 07:24:46 -08:00
Julia Kreger 19bc67c196 ci: allow service role CI account usage to have elevated access
When I thought change I2b4bcc748b6e43e4215dc45137becce301349032
was going to fix everything, that was with the mental model that
it was going to be enabled by default. That didn't happen in
review as part of the service, but the reality is we still have
some adjacent CI jobs which need it to operate properly.

Given CI, it is just invoked when scope enforcement is enabled
for CI purposes

Change-Id: I60074504742d8b09017acbb42d2706215b0169af
2024-02-15 20:45:51 +00:00
Sharpz7 949387bd80 [codespell] Fixing Spelling Mistakes
This is the first in a series of commits to add support for codespell. This is continuning the process completed in ironic-python-agent.

Future Commits will add a Tox Target, CI support and potentially a git-blame-ignore-revs file if their are lots of spelling mistakes that could clutter git blame.

Change-Id: Id328ff64c352e85b58181e9d9e35973a8706ab7a
2024-02-12 19:58:56 +00:00
Zuul b256551b19 Merge "Disable legacy RBAC policy by default." 2024-01-23 21:58:26 +00:00
Zuul cd17f5e61a Merge "Drop rootwrap support" 2024-01-23 20:14:36 +00:00
Julia Kreger 4359323558 Disable legacy RBAC policy by default.
Change the default RBAC policy in ironic such that the new RBAC
policy is enforced by default and the legacy policy is not usable
unless explicitly re-enabled.

Depends-On: https://review.opendev.org/c/openstack/metalsmith/+/905012
Change-Id: Id559f1d8b9a76c8a570b598585c2d58c56d08837
2024-01-22 11:10:53 -08:00
Takashi Kajinami 7032a0d9ac Stop using a specific mirror in infra
The host currently hard-coded is not functioning. This replaces
the hard-coded mirror by the local CI mirror detected. In case
mirror info is not available then upstream centos mirror is used.

Change-Id: I96a8cb45154c9dbb50efecc22d34c4ff75c6722a
2024-01-22 22:11:08 +09:00
Dmitry Tantsur be09717be2
Drop rootwrap support
After removing the iSCSI deploy and changing ISO parsing code to use
a corresponding library, Ironic no longer executes any commands as root
and it should stay this way.

Change-Id: I47d2bab9b94345fbcf89a2a80028853050a041ea
2024-01-08 18:02:27 +01:00
Zuul 2403cd6041 Merge "CI: use Swift for configdrive when available" 2023-12-29 23:31:04 +00:00
Dmitry Tantsur 4cc167cc6e
Test redfish with reduced sushy-tools feature set
Two jobs are changed to test a reduced Redfish implementation:
one PXE job uses the minimum version (only boot/power management)
one vmedia job uses the reduced version (+ NICs, virtual media)

Change-Id: Ib3afdb26b9cd36c0e4f3d736b9c69a5bf508fc0e
2023-12-15 11:38:00 +01:00
Dmitry Tantsur af8508f51d
CI: use Swift for configdrive when available
We have fixed the issue with TLS settings not being respected in
8a66978666

Change-Id: Ieb79432e897686e03e54d32ea390cca29b506569
2023-12-14 09:02:22 +01:00
Julia Kreger ce300b3de1 CI: Remove deprecated devstack method
Removes get_uefi_ipxe_boot_file from the devstack plugin
as it is no longer used.

Change-Id: I5eed744a4746767b216399b132e98298471b4ab7
2023-11-16 15:16:49 -08:00
Zuul 5b1e347eb1 Merge "CI: Fix our internal MTU settings" 2023-10-18 06:43:05 +00:00
Zuul b58f6d394e Merge "Enable OVN CI" 2023-10-10 16:01:15 +00:00
Julia Kreger 40e825ba93 CI: Fix our internal MTU settings
Long story short, we auto-clamp down everything to 1400 bytes
due to VXLAN tunneling for multinode testing. But there are other
reasons to clamp it smaller, and we will need to clamp that further
for multinode should we mix it with OVN.

Anyway, this should make things cleaner and we should rely upon the
gate calcualted MTU as a starting place, not the guess based upon
interface list. i.e. test VM could be wrong but gate could know better.

Change-Id: I385679fe30d1447f1ed94cdf5a419e6acefbc595
2023-10-09 13:13:29 +00:00
Zuul 92ec97ca1b Merge "Remove traces of Docker from devstack dependencies" 2023-10-06 22:15:08 +00:00
Steve Baker 9bd1e033fa grenade: convert neutron cli commands to openstack
Grenade is currently failing not finding the neutron command, we should
likely not be using it anyway since the deprecation message says it may
disappear after Z.

Change-Id: Ic24d59379bafcc5a630fe5c074fcc13303902965
2023-10-06 08:41:52 -07:00
Julia Kreger 3f77091c63 Enable OVN CI
Adds basic testing for PXE/iPXE boot secenarios where the OVN
DHCP service is used instead of dnsmasq.

Also adds a release note and documentation to cover the details
and caveats of using ovn as we have discovered through this process.

Change-Id: I28cd20a7f271220d8ca335895ca9e302452fd069
2023-10-03 14:24:34 +00:00
Harald Jensås a8ede77e3e devstack - configurable ipv6 address mode
Add variable to define ipv6-address-mode and ipv6-ra-mode
in the devstack plugin.

Change-Id: I0a145bafc2ea37065b0e0fa7445837ded7bd8e46
2023-09-12 18:56:06 +00:00
Harald Jensås aa2dad9f75
devstack - fix IPv6 ping
Remove the $ in the condition so that we don't attept to
execute the output from ping (i.e PING - unknown command)

Change-Id: Ic90f7c93d9a7b86fbf3f2cdef46bc1b2bbea489d
2023-08-30 12:45:44 +02:00
Zuul b78f379997 Merge "Revert "Fix IRONIC_IMAGE_NAME=non-existent-image"" 2023-07-19 01:31:24 +00:00
Zuul e2273d2b81 Merge "Disable spanning tree" 2023-07-12 19:55:24 +00:00
Julia Kreger 0a11855d3f CI: Use focal dnsmasq
Investigation of our standalone test job issues, where jobs would
fail, hosts not get DHCP updates, and ultimately IPXE would
fail prior to getting a valid or the expected response,
revealed the discovery that dnsmasq was crashing often when
the port updates were going through, ultimately preventing
the mutli-scenario test jobs from running as the standalone
jobs represent a number of different scenarios which are
executed across a pool of test machines.

In this case, the path forward appears to be to downgrade
dnsmasq to stablize our CI and allow us to otherwise upgrade.

This patch adds the focal updates as a package source,
and installs the dnsmasq package.

Related-Bug: #2026757
Change-Id: Iacfd1ab677c612525601afcaeee5e5b067206ff3
2023-07-10 12:57:16 -07:00
Julia Kreger 6d3c4ced5f Disable spanning tree
So, I've long wondered if we still have some spanning tree behavior
going on in CI. Turns out we might, but we just rely upon the defaults
which creates a variable.

Anyway, regardless, I found some details in the ovs-vsctl manual[0], and
well, lets set the options!

[0]: http://www.openvswitch.org/support/dist-docs/ovs-vsctl.8.html

Change-Id: I8f229fa6e738a69a668d4b891723431b2da362fa
2023-07-06 17:16:33 +00:00
Ghanshyam d5931adedb Revert "Fix IRONIC_IMAGE_NAME=non-existent-image"
This reverts commit 2f8ee2cf40.

Reason for revert: Tempest removed the setting of DEFAULT_IMAGE_NAME to 'non-existent-image', that should fix the issue
- https://review.opendev.org/c/openstack/tempest/+/886796/2

Change-Id: I4767518b3306a8c4da08d1f0650d78ef8d78ca9c
2023-06-27 04:14:12 +00:00
Iury Gregory Melo Ferreira 2f8ee2cf40 Fix IRONIC_IMAGE_NAME=non-existent-image
Our jobs started failling after a possible change in tempest
that introduced "non-existent-image" [1]

[1] https://review.opendev.org/c/openstack/tempest/+/831018

Change-Id: Iff7943446741e499100561a79c9f4930beab3da2
2023-06-22 22:02:29 -03:00
Dmitry Tantsur ad651b328e Remove traces of Docker from devstack dependencies
Change-Id: Ie26fb7c644c6feb547bcdc6d847838d2fed0d31f
2023-06-05 11:30:38 +02:00
Julia Kreger d2039a29de Handle nova policy change
It appears nova's policies have changed, or to be more precise,
they have turned on new policy enforcement[0] and our plugin
was wrong.

+++ /opt/stack/ironic/devstack/lib/ironic:\n
ironic_configure_tempest:3205 :\n
oscwrap --os-cloud devstack-system-admin flavor show baremetal -f value -c id
ForbiddenException: 403: Client Error for url:
https://173.231.254.232/compute/v2.1/flavors/
e4312534-b349-4f70-9a1b-5806debff275/os-extra_specs,
Policy doesn't allow os_compute_api:os-flavor-extra-specs:index to be performed.

[0]: dfd7aeaf6c

Change-Id: I8070852fbe9346e346c50088537797f353753d02
2023-05-23 21:33:57 -07:00
Julia Kreger fce8c3a651 CI: Change tinycore URL
We'v been able to observe one of the scenario test jobs failing
due to tinycorelinux being inaccessible. Possibly on an IPv6 only
test VM. Turns out tinycorelinux's main page is only accessible via
IPv4.

As such, I've changed the mirror to a mirror which is acessible via
IPv6 and which I've verified works for me.

Change-Id: I2b4ccd16189038ce2f054d7403775b012796aea3
2023-05-19 07:20:56 -07:00
Julia Kreger 9c0b4c90a1 Fix Cinder Integration fallout from CVE-2023-2088
In the recent change to cinder, to address CVE-2023-2088,
cinder changed the policy rules and behavior for unbinding,
or "detaching" a volume. This was because of a vulnerability
in compute nodes where a volume which was in use by a VM
could be detached outside of Nova, and nova wouldn't become
aware the volume was detached, and the volume could be accessible
to the next VM.

This vulnerability doesn't apply to bare metal operations as
volumes are attached to whole baremetal nodes with Ironic.

We now generate and use a service token when interacting with
Cinder which allows cinder to recognize "this request is
coming from a fellow OpenStack service", and by-pass
checking with Nova if the "instance" is managed by Nova,
or Not. This allows the volumes to be attached, and detached
as needed as part of the power operation flow and overall
set of lifecycle operations.

Related-Bug: 2004555
Closes-Bug: 2019892

Change-Id: Ib258bc9650496da989fc93b759b112d279c8b217
2023-05-18 07:43:31 -07:00
Zuul 1d0818cba2 Merge "Remove use of nomodeset by default" 2023-05-09 06:29:42 +00:00
Julia Kreger 7f281392c2 Change wholedisk image checksum to sha256
Change-Id: I0c90ac87ca88329e7fb315385345e8020a59fdd5
2023-05-02 13:03:13 -07:00
Julia Kreger f2605e9281 Remove use of nomodeset by default
The troubleshooting kernel command line option nomodeset
unfortunately changes the way framebuffer interactions work
with graphics devices which in some cases can result in kernel
memory to be used for graphics updates. When this happens on
some specific hardware common in rack mount servers with baseboard
management controllers, this can cause the memory bus to become
locked for a brief time while the graphics update is occuring.

This locked memory bus means disk IO can become blocked,
and network cards can overflow their buffers resulting in
packet loss on top of the latency incurred by the graphics
update executing.

As such, we've removed the nomodeset option from default usage and
added a note describing its removal to the documentation along
with a release note.

Change-Id: I9084d88c3ec6f13bd64b8707892758fa87dd7f86
2023-04-26 07:34:29 -07:00
Riccardo Pittau 87a5f1add5 Bump cirros to version 0.6.1
Use latest cirros available

Change-Id: I916b96d1386d3b1f090df11a7a8d2ef70fe22559
2023-01-26 11:55:58 +01:00
Zuul 320b1f0ca7 Merge "Fix unbound variable in devstack plugin" 2023-01-07 16:30:49 +00:00
Zuul c93641ff59 Merge "Use tinycore 13 for base ramdisk image" 2023-01-07 15:54:56 +00:00
Zuul bed680951a Merge "Remove lib/neutron-legacy leftovers" 2023-01-05 12:25:48 +00:00