Commit Graph

7913 Commits

Author SHA1 Message Date
Zuul 565d18f0d5 Merge "Fix Reopen Web Console Duplicate Sol Session" 2024-03-28 21:41:33 +00:00
Zuul 0d6bbb3620 Merge "Drop fallback to unmanaged inspection for virtual media and UEFI boot" 2024-03-27 22:19:29 +00:00
Zuul 2cb8eafc6a Merge "Fix new codespell issues; tweak config" 2024-03-27 22:13:42 +00:00
Zuul 5c00b7cf0b Merge "Fix data length exceeding limit error" 2024-03-18 14:40:05 +00:00
Dmitry Tantsur 2f399a1fb7
Drop fallback to unmanaged inspection for virtual media and UEFI boot
It is not expected that nodes configured this way start PXE-booting.

Change-Id: I9bc5ab73bb54e0612fb6025f10c4d41a5b8842cb
2024-03-18 10:26:47 +01:00
Zuul 0237392002 Merge "Fix artifical rbac policy constraint that resulted in 500s" 2024-03-17 21:33:45 +00:00
CID ef8bca007d Fix data length exceeding limit error
This commit increases the length of the 'user' column to
accommodate longer UUIDs, ensuring that the full user UUIDs are stored
without exceeding the column limit.

Closes-Bug: #2054594
Change-Id: I59b435ca2bb5850bb2338228b64868c2003bfea3
2024-03-16 22:26:15 +00:00
Jay Faulkner 10785a0550 Release mappings for 23.1, 24.0, 24.1/2024.1
Release mappings! We made a Caracal!

Change-Id: I0106d43080746e1b159f4a54e6808d477cfbef44
2024-03-15 11:44:13 -07:00
Zuul 8922c79b7c Merge "Support more standard way of passing lists via query strings" 2024-03-15 14:09:31 +00:00
Zuul bf1aadf2bc Merge "Allow usage of virtual media via System" 2024-03-14 22:14:59 +00:00
Zuul 16b0ea709a Merge "Implement generic redfish vmedia attach detach" 2024-03-14 21:39:50 +00:00
Jay Faulkner 45502d7beb Fix new codespell issues; tweak config
Configuration was fine for the gate, but I've updated it to ignore
directories and files that can be found in a well-used development
checkout.

Fixed any new spelling issues.

Change-Id: Icef5addba938b27911c26e841a37a2e9ba3fbe43
2024-03-14 12:57:26 -07:00
Zuul 4aa096877e Merge "[codespell] Adding Tox Target for Codespell" 2024-03-14 17:13:10 +00:00
Zuul df9e1ba80e Merge "[codespell] Fixing Spelling Mistakes" 2024-03-14 17:13:05 +00:00
Winicius Silva 6d046ad7b4 Allow usage of virtual media via System
DMTF now changes their Virtual Media URI to support Systems. Redfish driver now
support this resource to boot, so it is needed that Ironic have a way to use it.

Closes-Bug: #2039458
Change-Id: I66e8edb847e93f96374072525222f05e7561fb07
2024-03-13 22:02:08 -03:00
Riccardo Pittau 237510ae2c Implement generic redfish vmedia attach detach
This patch adds implementation of attach/detach generic virtual
media device to the Redfish driver.
Also the redfish vendor eject vmedia action is now deprecated
and it will be removed during the next cycle in favor of the
generic API.

Change-Id: I9daff59128f537a3da2e882adf5c97be9c4ab8d9
2024-03-13 12:09:15 +01:00
Zuul 2f3448a421 Merge "Special case lenovo UEFI boot setup" 2024-03-12 22:28:26 +00:00
Zuul 5f4b964dd7 Merge "[trivial] add device_type param to attach_vmedia_device" 2024-03-11 22:07:16 +00:00
Zuul 97cf900538 Merge "Switch to qemu-img functions from ironic-lib 6.0.0" 2024-03-11 21:27:15 +00:00
Zuul bb3b0e9b95 Merge "Add inspection PXE filter service" 2024-03-11 18:31:10 +00:00
Dmitry Tantsur 4b31cc1c48
Switch to qemu-img functions from ironic-lib 6.0.0
Change-Id: I0010d8710db4f2859dabe8ccfa5bf478d4f039f6
2024-03-11 17:16:12 +01:00
Julia Kreger c6a4005049 Fix artifical rbac policy constraint that resulted in 500s
Some of the endpoints are *highly* restricted in ironic's newer
more stringently enforced RBAC world. Some of these endpoints would
emit 500s by default, when realistically it was the policy definition
saying "only system scope could be used" for the endpoint, but the
reality is that 403 is what should have been returned for a client to
properly understand what is going on.

Change-Id: If5e13764dad886ba3ee1a848f3ff9f3279f4d7f6
2024-03-11 08:07:32 -07:00
Riccardo Pittau ed14b2e04f [trivial] add device_type param to attach_vmedia_device
We missed it.

Change-Id: I4bd8e07f301a298e495e88a2d80f6932290634ba
2024-03-11 15:11:06 +01:00
Zuul 30974ba0da Merge "Fix error handling in the virtual media attach API" 2024-03-08 10:57:19 +00:00
Zuul c139b22e8a Merge "Detect ilo6 and redirect to redfish" 2024-03-08 02:25:13 +00:00
likui e5f7e052ac Fix Reopen Web Console Duplicate Sol Session
Reopen web console may occasionally result in duplicated
sol session. get_console action open
one console process while another sol session remains.

This patch adds "sol deactivate" action before get
console. Make sure the current connection always a success.

Change-Id: Ie5d9c94a3e9e3561b6aa1a52462d6739662d4eb0
2024-03-07 15:41:32 -08:00
Dmitry Tantsur 79523c5911
Fix error handling in the virtual media attach API
Currently, if the image download fails, there are no traces of the
error. This change adds logging and populates last_error.

Change-Id: I73ea2f94fb910daf21a5d4f52d6839aac3bad579
2024-03-07 18:48:13 +01:00
Zuul aa8d9eeb80 Merge "fix errors messaging around network mappings" 2024-03-07 16:17:06 +00:00
Zuul bc73982a2a Merge "Split conductor-specific RPCService" 2024-03-06 20:53:55 +00:00
Zuul ae51a14bde Merge "Log upon completion of power sync" 2024-03-05 05:59:51 +00:00
Zuul 43861609a8 Merge "Don't import sushy conditionally, it's a requirement" 2024-03-04 14:33:23 +00:00
Dmitry Tantsur 934658dab4
Support more standard way of passing lists via query strings
Currently, arguments like "fields", "shared" or the new "device_types"
only accept comma-separated strings. While there is no single standard,
the most common approach is to repeat the arguments, i.e.

 NOT /nodes?fields=uuid,name
 BUT /nodes?fields=uuid&fields=name

Unfortunately, at least GopherCloud already relies [1] on the more common
(but not currently working in Ironic) behavior. Let's make it work.

[1] 8455d01343/openstack/baremetal/v1/nodes/testing/requests_test.go (L87)

Change-Id: Ia780b10986929d79dc4f334d278bcb00a9984fd0
2024-02-29 17:08:18 +01:00
Zuul a7ce0d7ae6 Merge "Add a reserved workers pool (5% by default)" 2024-02-29 07:22:42 +00:00
Zuul eb5434b624 Merge "Handle jsonschema empty error message update" 2024-02-28 19:18:46 +00:00
Dmitry Tantsur 89fe0396af
Add inspection PXE filter service
The logic to handle dnsmasq hostfiles is moved from ironic-inspector
with only cosmetic changes. The logic to purge the hostsdir is not
copied since it relies on running commands with root privileges.
A documentation example is added instead.

The change is missing the RPC call to notify the filter about changes.
It will be done in a follow-up.

Change-Id: Ie32018c760c39873ead1da54cfaeae87eaaaf043
2024-02-28 18:13:56 +01:00
Dmitry Tantsur 803d08cb88
Don't import sushy conditionally, it's a requirement
Change-Id: I5fcedfc89ac18025c178e8a5f6750802005d1507
2024-02-28 16:56:17 +01:00
Dmitry Tantsur a9397f49d5
Split conductor-specific RPCService
The current implementation in common has a lot of assumptions that the
manager is a conductor manager. To be able to reuse the same base RPC
service for the PXE filter, split the conductor part away from the
common one.

Change-Id: I4d24cf82d62cb034840435ef15b5373748b65f09
2024-02-26 18:17:52 +01:00
Julia Kreger 6822f8b22f fix errors messaging around network mappings
While looking at fixing a bug around enforcement of
the presence of specific ironic.conf parameters which
don't need to be present in all cases, I noticed we
had translated indicator message strings (which of course
are not actually translated, but really should be the actual
configuration paramter name in ironic.conf *OR* driver_info.

So ultimately, I decided to fix the text to be accurate
and appropriately verbose for the current ways it can be
configured, as opposed to the singular way it was available
when the capability was first added to Ironic.

Change-Id: If402814791554ef3143e25426fdc7e49a5b04810
2024-02-22 13:14:13 -08:00
Julia Kreger 50ced3a3fa neutron: do not error if no cleaning/provisioning on launch
In the early days of the neutron network interface, we had a hard
launch failure added to prevent ironic.conf from having a neutron
network configuration which was not valid when the neutron network
interface was in use.

But as time has moved on, these settings became node-settable,
and ironic configuration largely became mutable as well, so they
can always be added after the process has been launched.

But we kept the error being returned. Which doesn't make sense
now that it can always be back-filled into a working state
or just entirely be "user supplied" via the API by an appropriate
user.

Closes-Bug: 2054728
Change-Id: I33e76929ca9bf7869b3b4ef4d6501e692cf0a922
2024-02-22 13:14:13 -08:00
Zuul 0cfe290d15 Merge "Ensure all errors are passed during cleaning" 2024-02-21 07:04:14 +00:00
Riccardo Pittau 4b8e0f04a2 Handle jsonschema empty error message update
Starting from jsonschema v4.21.0 the message for empty objects
validation changes from "is too short" to "should be non-empty" [1].
Handle the two cases so we don't break in case of upper-constraints
change.

[1] a1d4cb3b94

Change-Id: I01336d2966bdad8f8e2aec7a522644cff1d5c341
2024-02-20 16:59:02 +01:00
Zuul 245505dc04 Merge "Improve clarity of exception message" 2024-02-18 13:56:01 +00:00
Julia Kreger 4fb1b813f4 Special case lenovo UEFI boot setup
Special cases boot/uefi record setup to focus on UEFI
nvram updates instead of attempting nvram updates *and*
setting the boot device to disk.

Closes-Bug: 2053064
Change-Id: Ic6584479a47146577052d17fa3f697eef64ac73c
2024-02-17 15:54:25 +00:00
Zuul af64bc596c Merge "Online migration for inspect_interface inspector->agent" 2024-02-17 02:03:14 +00:00
Afonne-CID 4a9a7949cb Improve clarity of exception message
If user runs `ironic node-create -d <driver>` with a driver that is not
enabled or activated, or when no registered conductor service which
supports the given driver in a specified conductor group is found,
the current exception may not be clear enough or confusing for users.

This proposed change would prompt user to ensure that the input driver
is valid and enabled, and guide to run the `driver-list` subcommand to
show the current supported drivers; adding context for the reason for
the exception.

Now, if input driver is not valid or enabled, we get below message:
"No conductor service registered which supports driver <driver> for
conductor group "<group>". Ensure the driver is valid and enabled. (HTTP 400)"

Implements: clarity of exception message
Closes-Bug: #1398286
Change-Id: I592f3ce278d1b536ed91c3340b7f270985e309ac
Signed-off-by: Afonne-CID <delightinbusiness@gmail.com>
2024-02-16 15:13:23 +01:00
Julia Kreger 82dbaa9668 Log upon completion of power sync
Previously, we updated node_periodic so we understood from the
logs when a periodic task was completed, so we could understand
where things were at in our hunt for database lock racess.

In any event, we now explicitly log in the _sync_power_state
method of the conductor, because it is not a node_periodic.

Change-Id: Iaec9926fe031e65de4732ff0bc7988c5604d4755
2024-02-13 15:28:42 -08:00
Julia Kreger e8cb96efc5 Detect ilo6 and redirect to redfish
We got a report of ilo6 BMCs not working with the ilo hardware type,
and while information is limited, it seems reasonable to at least log
some information on this subject and start discussion of what should
we do.

Hence the creation of this patch.

See: https://meetings.opendev.org/irclogs/%23openstack-ironic/%23openstack-ironic.2023-07-05.log.html#t2023-07-05T11:06:08
Change-Id: I2d81ef736aca44f455f8233c32c0c8d12267d57f
2024-02-13 23:05:26 +00:00
Sharpz7 d9283af213 [codespell] Adding Tox Target for Codespell
Second in a series of commits to add Codespell to Ironic Repos. This one adds the command that was used to fix the spelling errors.

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

Change-Id: I206f51f277d19bbcec450ed5312cd30d6fba8432
2024-02-12 19:59:06 +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 b0e443f77f Merge "Add HTTP versions of network boot interfaces" 2024-02-12 18:52:24 +00:00