2520 Commits

Author SHA1 Message Date
Zuul
81396cea53 Merge "Document wsgi_service fix from 16a806f" 2023-11-29 11:40:29 +00:00
Steve Baker
2db444bce1 Replace swiftclient usage with openstacksdk
Object create/delete operations translate clearly from swiftclient to
the SDK. Switching the temp URL handling is a little more disruptive but
the result is slightly more centralized and enables key rotation.

Change-Id: I8df2f032224bd5e540139a798a7ab76a1aeebb06
Closes-Bug: #2042493
2023-11-29 12:44:30 +13:00
Jay Faulkner
25bb15aeee Document wsgi_service fix from 16a806f
We fixed a bug in wsgi_service around cleaningo up unix sockets; we
should document the fix in a release note.

Change-Id: I6ecb489ea1a9e6490c5ddca5c7467b0c4324dfd1
2023-11-28 14:17:28 -08:00
Zuul
ce05c68302 Merge "Add missing compatibility between idrac and redfish firmware" 2023-11-28 21:30:49 +00:00
Zuul
922b904da8 Merge "Deprecate configuration molds" 2023-11-28 19:55:23 +00:00
Dmitry Tantsur
6e10ad9ad7
Add missing compatibility between idrac and redfish firmware
Change-Id: I3026a5c69930825ea2b88587e62b36e8824fa91e
2023-11-28 18:56:56 +01:00
Zuul
28b3f56b2c Merge "implement basic-auth support for user image download process" 2023-11-28 16:05:52 +00:00
Zuul
7f4bec112f Merge "Fix Redfish request collecting storage drives" 2023-11-28 15:21:13 +00:00
Mahnoor Asghar
facd862a31 Fix Redfish request collecting storage drives
Fix the Redfish request payload collecting physical storage drives

Change-Id: I3b735709aa2f65b606a0747a2edf98f50af39f87
2023-11-28 13:16:45 +01:00
OpenStack Proposal Bot
b44d16a155 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: Ic8640c58a80c49dbfe16b44b637a1fc28b5419e3
2023-11-28 02:52:10 +00:00
Zuul
6431626de8 Merge "Ensure enable_netboot_fallback writes out pxe config on adopt." 2023-11-28 00:51:43 +00:00
Zuul
7f318bc68f Merge "Multiple driver related deprecations" 2023-11-27 19:01:18 +00:00
Julia Kreger
5db871ead6 Deprecate configuration molds
Per the consensus during the 2024.1 PTG, configuration molds
are being deprecated in favor of a to be developed in the future
step templating mechanism.

Change-Id: Ieab94972e89ca9cded7fae225191bd63d9311581
2023-11-27 09:21:38 -08:00
Zane Bitter
0d59e25cf8 Use per-node external_http_url for boot ISO
When the per-node external_http_url feature was introduced by
c197a2d8b24e2fa4c5e7901e448da1b0c93fcd26, it only applied to a config
floppy. This fix ensures that it is also used for the boot ISO, both
when it is generated locally (by _prepare_iso_image()) or just cached
locally (by prepare_remote_image()).

Change-Id: Ic241da6845b4d97fd29888e28cc1d9ee34e182c1
Closes-Bug: #2044314
2023-11-23 23:27:00 +13:00
Julia Kreger
6ac1308050 Multiple driver related deprecations
An outcome of the Ironic 2024.1 PTG was that we would go ahead and
deprecate the ibmc, xclarity, and the wsman interfaces of the idrac
hardware type.

The forward path is Redfish, as evidenced by the idrac hardware
type having both wsman and redfish based interfaces available
for users to choose from.

These changes are being made by the Ironic team due to a lack of
recent upstream contact with any of the related driver maintainers.

Change-Id: Ia4aa99f4987570426bb155af8f437c9ba6013837
2023-11-20 10:46:56 -08:00
Adam Rozman
3ea4bb234c implement basic-auth support for user image download process
This feature was proposed in https://bugs.launchpad.net/ironic-python-agent/+bug/2021947

Change-Id: I70733fbf6b06c4e99888c6c38212e578c65ef92f
Signed-off-by: Adam Rozman <adam.rozman@est.tech>
2023-11-13 15:37:27 +02:00
Steve Baker
81acd5df24 Implement drain shutdown support
Sending signal ``SIGUSR2`` to a conductor process will now trigger a
drain shutdown. This is similar to a ``SIGTERM`` graceful shutdown but
the timeout is determined by ``[DEFAULT]drain_shutdown_timeout`` which
defaults to ``1800`` seconds. This is enough time for running tasks on
existing reserved nodes to either complete or reach their own failure
timeout.

During the drain period the conductor needs to be removed from the hash
ring to prevent new tasks from starting. Other conductors also need to
not fail reserved nodes on the draining conductor which would appear to
be orphaned.  This is achieved by running the conductor keepalive
heartbeat for this period, but setting the ``online`` state to
``False``.

When this feature was proposed, SIGINT was suggested as the signal to
use to trigger a drain shutdown. However this is already used by
oslo_service fast exit[1] so using this for drain would be a change in
existing behaviour.

[1] https://opendev.org/openstack/oslo.service/src/branch/master/oslo_service/service.py#L340

Change-Id: I777898f5a14844c9ac9967168f33d55c4f97dfb9
2023-11-13 10:38:18 +13:00
Derek Higgins
eb65c0de92 Ensure enable_netboot_fallback writes out pxe config on adopt.
without the ipxe config adopted nodes that would have needed
the fallback ipxe config to boot from disk will fail (as they
continuously attempt to network boot) and instead boot into
the discovery image.

Story: #2009259
Task: #43471

Change-Id: I42e555a1a01eb4124e3152669578f3403db83801
2023-11-09 10:14:55 +00:00
Zuul
10ef80b5b7 Merge "Make sure we eject media from DVD when CD is requested" 2023-10-30 23:34:02 +00:00
Zuul
f9a93c503d Merge "Reset parent_node values to uuids instead of names" 2023-10-18 22:29:41 +00:00
Iury Gregory Melo Ferreira
766d2804a1 Make sure we eject media from DVD when CD is requested
It's possible to use virtual media based provisioning on
servers that only support DVD MediaTypes and do not support CD
MediaTypes. The problem in this scenario is that Ironic will keep
the media attached since it will only eject the ones matching the
CD device, now we check if there is any DVD device with media inserted
when looking for CD devices.

Closes-Bug: 2039042
Change-Id: I7a5e871133300fea8a77ad5bfd9a0b045c24c201
2023-10-13 09:37:53 -03:00
Zuul
b58f6d394e Merge "Enable OVN CI" 2023-10-10 16:01:15 +00:00
Julia Kreger
d1ca14289e Reset parent_node values to uuids instead of names
So, I got myself nice and confused with testing parent_node logic
when I used a name, but the ironic internals are modeled around
queries involving UUID matching.

We now identify names, and reset the values to be a UUID.

Change-Id: I46ece586c254c58b80723bc905cad3144691fc5d
2023-10-10 13:06:42 +00:00
Zuul
c86208c1c7 Merge "Transiton to Storage resource from SimpleStorage" 2023-10-06 22:39:52 +00:00
Zuul
9118440577 Merge "Bump workers_pool_size to 300 and remove queueing of tasks" 2023-10-05 15:02:15 +00:00
Dmitry Tantsur
224cdd726c Bump workers_pool_size to 300 and remove queueing of tasks
Especially in a single-conductor environment, the number of threads
should be larger than max_concurrent_deploy, otherwise the latter cannot
be reached in practice or will cause issues with heartbeats.

On the other hand, this change fixes an issue with how we use futurist.
Due to a misunderstanding, we ended up setting the workers pool size to
100 and then also allowing 100 more requests to be queued.

To be it shortly, this change moves from 100 threads + 100 queued to
300 threads and no queue.

Partial-Bug: #2038438
Change-Id: I1aeeda89a8925fbbc2dae752742f0be4bc23bee0
2023-10-05 08:51:51 +02: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
Dmitry Tantsur
cba10669f5 Fix the HTTP code for reaching max_concurrent_deploy: 503 instead of 500
Change-Id: I3d8c7724c1d44baa67a6364dde2f52abdb906526
2023-10-02 16:13:15 +02:00
OpenStack Proposal Bot
db549850e0 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: Ic59ac600efb738d26a2f38186dcc9272e349e5c7
2023-09-28 04:05:55 +00:00
7b91f67df0 Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.

Sem-Ver: feature
Change-Id: Ia3d5f975e26f33b9f43610dd46246b5da03bc10e
2023-09-22 13:48:26 +00:00
Zuul
f78f872271 Merge "Trivial: attach versions to release series" 2023-09-21 13:29:50 +00:00
Zuul
6d9779bf6b Merge "Redfish: wait for secure boot state change if it's not immediate" 2023-09-21 13:29:47 +00:00
Iury Gregory Melo Ferreira
4eb0dbf7b5 RedfishFirmware Interface
Change-Id: I75b2433fade0c36522024c16608d61cd663b38d5
2023-09-20 13:09:38 -03:00
Harald Jensås
21e3e71ea3
inspect_utils, handle bracketed IPv6 redfish addr
If redfish_address is in brackets, unwrap it and check
that it is a valid IPv6 address. If that is the case use
the unwrapped address to avoid "Name or service not known".

Also add a unit test for normal_ipv6_as_url.

Closes-Bug: #2036455
Change-Id: I8df20e85e40d8321bd5f88c09fae33b6015bcf51
2023-09-19 14:54:12 +02:00
Dmitry Tantsur
2bb653a52e Trivial: attach versions to release series
Also fix an incorrect version in the release notes.

Change-Id: If57f34357c03e64188c493f3a1bdc072954c2541
2023-09-19 11:47:24 +02:00
Jay Faulkner
d115a52b20 [releasenotes] Prelude for 2023.2/bobcat
Prelude entry for 2023.2 release.

Change-Id: Ib78dca723d3aa9a3458ce452124657ad0be55a63
2023-09-14 09:54:35 -07:00
Dmitry Tantsur
6487b95813 Redfish: wait for secure boot state change if it's not immediate
We have discovered hardware that only applies boot mode / secure boot
changes during a reboot. Furthermore, the same hardware cannot update
both at the same time. To err on the safe side, reboot and wait for
the value to change if it's not changed immediately.

Co-Authored-By: Jacob Anders <janders@redhat.com>
Change-Id: I318940a76be531f453f0f5cf31a59cba16febf57
2023-09-12 18:30:36 +02:00
Zuul
40728f39f7 Merge "PXE: Remove DHCP option 210 from being set" 2023-09-07 18:33:02 +00:00
Zuul
ab76ff12e1 Merge "Utilize the JSON-RPC port" 2023-08-31 04:45:05 +00:00
Julia Kreger
980611186e PXE: Remove DHCP option 210 from being set
Ages ago we supported pxelinux. Now, not really since it is long EOL.

And while troubleshooting bug # 2033430, we discovered we had option
210 in the DHCP payload from the server, which ended up being the
folder base path for a tftp client to self reference the structure,
but only with OVN.

Further troubleshooting with the neutron-dhcp-agent and dnsmasq
revealed we never actaully really sent that option to clients.

In other words, meaning it was always redundant. Since excess
information could be part of the problem with grub, we're removing
it.

Change-Id: Iaa2f174b6082fadcab6635ca874fc5fae2fb4842
2023-08-30 13:27:54 -07:00
Vanou Ishii
ffde150aa7 Transiton to Storage resource from SimpleStorage
Current Redfish driver uses SimpleStorage resource
to collect disk information.
Storage resource is defined to provide more sophisticated
functionality over SimpsleStorage resource. Some Redfish
implementations may take transition from SimpleStorage to
Storage.
So Redfish driver's logic around disk should be provided
through Storage resource with SimpleStorage compatibility.

This commit does 2 things
* Use Storage resource instead of SimpleStorage, if possible
* Fix wrong disk indicator LED logic (SimpleStorage doesn't
  support indicator LED operation)

Related-bug: 2032590
Change-Id: I28abd75a41059c23028717db6a9766a5164313c7
2023-08-30 16:36:08 +00:00
Julia Kreger
c84fe147a3 Utilize the JSON-RPC port
Adds storage of the json-rpc port number to the conductor hostname
to enable rpc clients to understand which rpc servies they need to
connect to.

Depends-On: https://review.opendev.org/c/openstack/ironic-lib/+/879211
Change-Id: I6021152c83ab5025a9a9e6d8d24c64278c4c1053
2023-08-30 08:56:17 -07:00
Zuul
1bbc67c1b6 Merge "Add inspection (processing) hooks" 2023-08-29 16:45:16 +00:00
Zuul
9f7218243b Merge "Permit Ironic to notify IPA it can support MD5" 2023-08-29 12:32:54 +00:00
Zuul
120ccf50cc Merge "Add service steps call to agent logic" 2023-08-29 04:11:35 +00:00
Zuul
8be7efdeab Merge "Introduce default kernel/ramdisks by arch" 2023-08-29 04:11:32 +00:00
Zuul
f7dfc13c94 Merge "Adds service steps" 2023-08-29 02:56:22 +00:00
Julia Kreger
e1a0864635 Add service steps call to agent logic
While the prior sevice steps patch had a huge portion of the
needed code already due to copy-pasta, this change finishes
wiring in the ability for the agent to be launched for service
steps and heartbeat to occur, combined with support to retrieve
service steps from the running agent, ultimately to enable
operators to take a deployed node, and ask Ironic to make changes,
or my more favorite use case, go benchmark it for a while.

Also edits the service steps release note to remove the outstanding
issue, and makes some minor corrections in the code which was copied
but didn't quite have testing wired up yet.

Change-Id: Ibfe42037b520a76539234cf1a5e19afd335ce8a8
2023-08-28 20:57:43 +00:00
Bifrost
3c5e05a8a4 Introduce default kernel/ramdisks by arch
Introduce config to allow setting default ramdisks per-architecture.
The hierarchy of the parameters is:
Node config > config by architecture > general config

Change-Id: I95dfece3e8f7bcd3121ac808985cb61997877a51
2023-08-28 17:25:37 +01:00
Mahnoor Asghar
e6360bc84b Add inspection (processing) hooks
Adds inspection hooks in the agent inspect interface for processing
data received from the ramdisk at the /v1/continue_inspection
endpoint. The four default configuration hooks 'ramdisk-error',
'validate-interfaces', 'ports' and 'architecture' are added.
(The remaining inspection hooks will be added in further patches.)

Change-Id: I2cf1be465ba7a93fd66881b14972e960acd4dd4e
Story: #2010275
2023-08-25 09:38:39 -02:00