Commit graph

14357 commits

Author SHA1 Message Date
Zuul
27031186ef Merge "Enable fake-graphical console for all hardware types" 2025-11-04 00:31:23 +00:00
Julia Kreger
d59ad9f82d docs: cover what happens if someone changes iscsi passwords
Change-Id: I472175d4629191d4506d200ec60090e678e4a25e
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-11-03 13:40:21 -08:00
Zuul
6b84d88a5d Merge "docs: add a "i want a pony" bit of text" 2025-11-03 19:49:05 +00:00
Zuul
cf8b0279cc Merge "docs: provide a little more clarity/guidance w/r/t redfish" 2025-11-03 19:39:17 +00:00
Zuul
822c8d5148 Merge "Remove sushy-oem-idrac from driver requirements" 2025-11-03 13:11:44 +00:00
Zuul
1c148eb5ee Merge "api: Prevent overlapping schema versions" 2025-11-03 13:11:39 +00:00
Zuul
804480dd34 Merge "Fix power sync timeouts after BMC firmware update" 2025-11-03 13:02:14 +00:00
Zuul
bb52a177ea Merge "reno: Update master for unmaintained/2024.1" 2025-10-31 14:08:19 +00:00
Zuul
f27be2b2b9 Merge "Add a new 'physical_network' field to the Portgroup object" 2025-10-31 14:08:13 +00:00
OpenStack Release Bot
52b1beddf1 reno: Update master for unmaintained/2024.1
Update the 2024.1 release notes configuration to build from
unmaintained/2024.1.

Change-Id: I51020f0a417769629c2db217403c63ff117a2e53
Signed-off-by: OpenStack Release Bot <infra-root@openstack.org>
Generated-By: openstack/project-config:roles/copy-release-tools-scripts/files/release-tools/change_reno_branch_to_unmaintained.sh
2025-10-31 12:05:22 +00:00
Abhijith PC
7c588550c4 Apply naming standards to Ironic install guide sections
Change- heading was outdated and confusing. This patch updates
the title to accurately reflect the content of the installation guide.

This resolves: bug/2072349

Change-Id: Ibfdbbc40ad2ae1cda46de1d1937c15e5926d4308
Signed-off-by: Abhijith P C <abhijithpc25@gmail.com>
2025-10-31 06:26:11 +00:00
Riccardo Pittau
3ccdb11ca2 Remove sushy-oem-idrac from driver requirements
The sushy-oem-idrac code has been integrated in sushy version
5.6.0 so we don't need the sushy-oem-idrac package anymore.

Change-Id: Ief49300f6ac0c49686b9469be98b8680e018a618
Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
2025-10-28 17:26:28 +01:00
Zuul
8513806881 Merge "Add upgrade check for iLO/iLO5 driver deprecation" 2025-10-28 14:29:03 +00:00
Riccardo Pittau
59ca3facae Add Release Schedule to release how to
Add openstack release schedule with reference to ironic
projects and when to release them during the release
cycle.

Also remove all old references to unmaintained projects and
move all links to the bottom of the document as best practice.

Assisted-By: Claude Sonnet 4

Change-Id: Ie01bb22e6391ea22c8983ebc7bf5b90c688f8afd
Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
2025-10-28 12:22:00 +01:00
Afonne-CID
3ad4ca3ced Add upgrade check for iLO/iLO5 driver deprecation
Adds an upgrade check that warns operators if they have nodes using
the ilo or ilo5 hardware types or any ilo-specific interfaces
(ilo-pxe, ilo-ipxe, ilo-virtual-media, ilo-uefi-https, etc.).

Change-Id: I1e90cbb08d5268e54132e4c3dba510d211e11007
Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
2025-10-28 07:27:05 +01:00
Julia Kreger
571e1e8660 CI: make multinode runtime check sane
Its complicated, but basically because we run full size VMs which
take a while to boot, the multinode tests need a bit more than 600
seconds to deploy a node. They can get there in just about that time
and even sometimes beat the time window, but sometimes the job
times out internally and kills the test run.

This changes the time to be 2000 seconds, which is more consistent
across other jobs. Independently, the defaults in the tempest plugin
will need to be made sane.

Change-Id: I890d551122489e5a0b3162f08dbc10270968fb00
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-10-27 23:56:09 +00:00
Julia Kreger
f11533e2fd docs: add a "i want a pony" bit of text
Change-Id: Icfa18e3e9d26f4e465b32268bbb04b8d22eeb3dd
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-10-27 15:29:52 -07:00
Julia Kreger
0229b8c1a8 docs: provide a little more clarity/guidance w/r/t redfish
As discussed during the PTG, minimally we need update some of the
text on the framing of Redfish to help users understand what might
be happening or why it might not work.

Change-Id: I3aae292158e9c8fb6b67524b809310130b18e452
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-10-27 15:10:32 -07:00
Massimiliano Favaro-Bedford
b69a095a66 Add generic redfish compatible vendor name
Include a generic vendor variable for triggering
``requires_full_boot_request`` during boot. This is required because
some vendors, i.e. Lenovo, offer hardware with a variety of BMCs, some
of which require a full boot request.

Therefore, there is a need for a general vendor property variable for
these cases where it is not possible to add a vendor in order to avoid
duplicate entries.

Change-Id: Ic1745ff8eb6744d5a21ca8e0d5580bdb7e466e83
Signed-off-by: Massimiliano Favaro-Bedford <max@stackhpc.com>
2025-10-27 13:49:20 +00:00
Jacob Anders
fbe0e188b2 Fix power sync timeouts after BMC firmware update
Use extended timeout (by default 300 seconds) for BMC firmware
updates to handle BMC transitional states during firmware update process,
unless a different timeout is specified by the operator.

Assisted-By: Claude Code Sonnet 4
Change-Id: I2125ff4cdcbd07a89b364968dda4bb60e059121c
Signed-off-by: Jacob Anders <janders@redhat.com>
2025-10-25 03:12:38 +10:00
Zuul
f568283934 Merge "Document instance_uuid JSON PATCH non-compliance" 2025-10-24 15:25:11 +00:00
Riccardo Pittau
371033d170 Run metal3 integration job using UEFI boot (default)
The fix for UEFI boot on ubuntu noble in metal3-dev-env [1]
has merged, we should be able to run it now with no
changes.

[1] https://github.com/metal3-io/metal3-dev-env/pull/1497

Change-Id: I5563d79540ce0ab1e299161a1fc9f484ba7cdf7f
Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
2025-10-24 10:45:41 +02:00
Zuul
bf236891e3 Merge "More RAM for Anaconda job" 2025-10-23 22:45:51 +00:00
Jay Faulkner
fb2befce93 More RAM for Anaconda job
A recent image update has caused CI to begin failing against anaconda. This change is required to unblock it, and must be backported to unblock ironic-tempest-plugin merges.

Change-Id: I6a8a7baf54f7c0718b897f490671e8c3ac946e45
Signed-off-by: Jay Faulkner <jay@jvf.cc>
2025-10-23 19:16:29 +00:00
Zuul
177d0f9e71 Merge "Make cache_firmware_components more resilient during upgrades" 2025-10-23 17:13:28 +00:00
Zuul
3dd865e968 Merge "Fix intermittent Redfish firmware update failures with BMC validation" 2025-10-23 17:03:16 +00:00
Allain Legacy
3b55031993 Add force_dhcp option for managed inspection
This change introduces a new configuration option 'force_inspection_dhcp'
in the inspector group that enables DHCP on all available network
interfaces during managed inspection. When enabled, it:

- Skips injection of static network configuration into virtual media ISO
- Forces the inspection ramdisk to use DHCP on all interfaces
- Automatically enables LLDP collection across all interfaces
- Helps ensure comprehensive network discovery during inspection

This is helpful in scenarios where the inspection network is separate
from the provisioning network.  Since the static network configuration
data is typically intended for the provisioning network it may not be
applicable/valid on the inspection network.

Related-Bug: 2113769
Change-Id: I200730069d4177e8c2960e5f3ce8b1bbcca0f062
Assisted-by: Claude Code/claude-sonnet-4
Signed-off-by: Allain Legacy <alegacy@redhat.com>
2025-10-22 13:35:57 -04:00
Allain Legacy
cd9e70198e Add support for multiple JSON-RPC configuration groups
This change refactors the JSON-RPC client and server implementation to
support multiple configuration groups, enabling different JSON-RPC
services to use separate configuration sections within the same file.

Key changes:
- Modified Client and WSGIService to accept conf_group parameter
- Updated session management to cache sessions per configuration group
- Made configuration option registration reusable for different groups
- Added comprehensive test coverage for multi-group functionality

This enables services like ironic-networking (future) to use their own
JSON-RPC configuration section while sharing the same underlying
implementation.

Related-Bug: 2113769
Change-Id: I8ce46331878f852c9c6a3e6fc9c08c3b9d789fad
Assisted-by: Claude Code/claude-sonnet-4
Signed-off-by: Allain Legacy <alegacy@redhat.com>
2025-10-22 13:35:57 -04:00
Zuul
49d6d906e7 Merge "api: Allow bios values to be None" 2025-10-22 13:44:14 +00:00
Afonne-CID
f7e9da0a79 Document instance_uuid JSON PATCH non-compliance
Add API documentation noting that instance_uuid does not follow
RFC 6902 behavior in that the "add" operator cannot replace existing
values, preventing race conditions between Nova compute agents.

Closes-Bug: #1310843
Change-Id: I1caaf5b6133d756cf9484d3e5b56f7b8280525db
Signed-off-by: Afonne-CID <afonnepaulc@gmail.com>
2025-10-21 06:31:19 +01:00
Steve Baker
b2f297d91c Fixes for console containers functional testing
Console containers are run as systemctl --user units with the stack
user. Unlike in the locally running case, in a job there may be no
active user session running to allow these units to run. This change
ensures there is a stack user service running, and "loginctl
enable-linger" will start one again at boot time. These actions are only
taken when ir-novnc is enabled.

This change also installs the package slirp4netns for the required
user-mode networking, and adds fake-graphical to the list of enabled
console interfaces when ir-novnc is enabled. enabled_console_interfaces
is passed to tempest.conf so that tempest can run tests or not based on
whether fake-graphical is enabled.

Additionally the console container will bind to a high port on localhost
instead of a high port on the host IP. This still allows
ironic-novncproxy to connect to the vnc endpoint while avoiding iptables
rules.

Change-Id: Ibcd5b7b05c466d898ba69bff35a1e767be3699a3
Signed-off-by: Steve Baker <sbaker@redhat.com>
2025-10-16 14:28:10 +13:00
Steve Baker
7d3ffd7961 Enable fake-graphical console for all hardware types
Making the fake-graphical driver available for all hardware types is
proposed for the following scenarios:
- functional testing with fake-hardware
- integration testing with ipmi or redfish hardware types, but when the
  target server is virtual and does not emulate BMC remote console
- cloud operators who want to verify working ironic-novncproxy with
  existing real nodes

Change-Id: I9ea46d76ff80bf27571144f1f671acdb06a0fcf0
Signed-off-by: Steve Baker <sbaker@redhat.com>
2025-10-16 14:28:10 +13:00
Dmitry Tantsur
5482045e88
Remove bespoke logic for handling redirects while validating URLs
This logic is broken in a few places when dealing with real world
redirect cases, such as Debian Cloud images redirecting to mirrors.

It seems that the code was written with an incorrect assumption that
requests does not limit redirects by default. It does, the default
max_redirects seems to be 30. We can change it on Session if we need.

The anaconda case is now handled by checking the url field of the
response.

Closes-Bug: #2127154
Change-Id: I200d631e166075ceab80dcd4b0ff596d1860aa3b
Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com>
2025-10-15 19:08:31 +02:00
Zuul
26c7207935 Merge "docs: add context around bmc password changes" 2025-10-14 19:05:04 +00:00
Mahnoor Asghar
10feb5b693 Fix cleaning example in docs that sets the BMC clock to use correct arg
Change-Id: I9341395060cd22dee3ad880a7fe62831cd5b725b
Signed-off-by: Mahnoor Asghar <masghar@redhat.com>
2025-10-14 14:18:11 +02:00
Zuul
e3d1e672c2 Merge "api: Catch correct exception on schema validation error" 2025-10-13 22:55:06 +00:00
Clif Houck
4a4ea08fce
Add a new 'physical_network' field to the Portgroup object
Adds a new physical_network field to the portgroup object.

Adds logic to forbid changing Port.physical_network when said Port is
already part of a Portgroup. Adds logic to Portgroup to cascade
Portgroup.physical_network changes/updates to member Ports of the
Portgroup.

Adds RPC call to update physical_network on Portgroup.

Foundational work for first milestone of trait based port scheduling.

Depends-On: https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/955799
Change-Id: I5a9d9c19182b232bc1b8446644cab0bf6d68d139
Signed-off-by: Clif Houck <me@clifhouck.com>
2025-10-13 13:50:40 -05:00
Zuul
da3e041d95 Merge "Check _by_arch values with redfish vmedia" 2025-10-11 20:55:08 +00:00
Zuul
cd34437fa8 Merge "Fix IPA external inspection callback url override" 2025-10-09 17:32:38 +00:00
Zuul
a89f960499 Merge "ci: remove tinyipa job alias usage" 2025-10-09 13:26:53 +00:00
Dmitry Tantsur
85671c0f7f
CI: temporary mark OVN jobs as non-voting
They are permafailing, the Neutron fix is not ready yet.

Change-Id: Ie5d9f76c97fb08edcd295fdfa82bd0b4539ff410
Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com>
2025-10-09 08:23:10 +02:00
Julia Kreger
65d304028f docs: add context around bmc password changes
Change-Id: I081af9efc7aea35a876e79e9444dad8ff91e9692
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-10-08 11:47:38 -07:00
Afonne-CID
dac926c02d
Fix IPA external inspection callback url override
When an `external_callback_url` is configured, we were overriding
only the base IPA API URL and not the inspection callback.

Closes-Bug: #2101173
Change-Id: I5a84907e65ec1282805fa04f0dff75a848e1b09c
Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com>
2025-10-08 19:00:56 +02:00
Jay Faulkner
a5542474d6 Check _by_arch values with redfish vmedia
Prior to this change, as reported in bug 2126991, a generated vmedia ISO
would not be created properly using information in the
[conductor]/*_kernel_by_arch and [conductor]/*_ramdisk_by_arch.

This change restores the documented behavior of checking driver_info
first, then checking *_by_arch, then checking the global default.

Assisted-by: Claude Code 2.0
Closes-Bug: #2126991
Signed-Off-By: Jay Faulkner <jay@jvf.cc>
Change-Id: I63197791b4b54072310dfd8525b40044e514ff7f
2025-10-08 09:10:15 -07:00
Stephen Finucane
210d2b32bd api: Allow bios values to be None
Despite what the api-ref says [1], the 'bios.[*].value' field included
in responses to 'GET /v1/nodes/{node_ident}/bios' can be null. The
BIOSSetting database model in 'ironic.db.sqlalchemy.models' confirms as
much. Update the schema and api-ref to reflect this. This leaves only
the 'name' and 'created_at' fields as non-nullable.

Change-Id: Idcc03e6ce377ecf6b9db511e3283fb6f2496b037
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Closes-bug: #2127079
2025-10-08 13:42:39 +01:00
Stephen Finucane
986524ab22 api: Catch correct exception on schema validation error
The 'SchemaValidator.validate' method (from
'ironic.api.validation.validators') already catches the
'jsonschema.ValidationError' exception and raises Ironic's own
'InvalidParameterValue' exception in its place. Thus, we need to catch
the latter, not the former.

Change-Id: Ic8668afe5a2ff85a5c089c7adae9c8af541f7e84
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Partial-bug: #2127079
2025-10-08 13:36:21 +01:00
Julia Kreger
10cfaca100 ci: remove snmp ci job
Removing the snmp CI job, as it doesn't make sense to execute as we're
going to remove it.

Change-Id: I3da676da959fde5d4c858538888ccd7b0682cb3b
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-10-06 10:44:04 -07:00
Zuul
b8cc6447c1 Merge "Docs: play down the role of is_root_volume in RAID" 2025-10-03 18:24:42 +00:00
Zuul
79d15724a5 Merge "Drop explicit description about default values" 2025-10-03 18:24:37 +00:00
Julia Kreger
500d0cc5a9 ci: remove tinyipa job alias usage
Change-Id: I10cd736553c0a8035653e7e61ec0d2aa20e62f42
Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>
2025-10-03 10:45:00 -07:00