The PXE/iPXE boot interfaces pass ipa-debug=1 when debugging is
enabled in ironic. The vmedia boot interface should do the same.
Change-Id: Ifd97eeebc95845a32c2d3ece513c25fdb52812d3
Adds a job to boot a node over Redfish virtual media in UEFI boot
mode.
Turns similar BIOS boot mode job non-voting to avoid CI
failure on non-essential job failure.
Change-Id: Iaabd09a7acbbd692dd72adcf6867981bcc30877e
ironic-agent is deprecated. ironic-python-agent-ramdisk is the new
element to build a ramdisk with ironic-python-agent
Change-Id: Ib9feb0bb9ccc97f7eb3f0669db05b98d96fbe918
Add an owner to allocations. Depending on policy, a non-admin
can then create an allocation and have the owner set to their
project. Allocation processing then respects the owner.
Change-Id: I2965a4a601b9fa2c0212097da37b104a3e5514df
Story: #2006506
Task: #37540
When the power update was written [1] to use nova's
os-server-external-events API, the internals of that method had a bug
(see the related bug). Fortunately, the code was written so it works
against the nova side with or without the fix. However, for the sake of
propriety, this commit refactors the code to reflect nova's behavior
more accurately.
Specifically: Previously, it was impossible for nova to respond 207 when
the client sent a single event (as ironic does). The code path
accounting for that 207 existed, but always returned True ("success")
rather than returning False ("failure") if the event code was >=400.
Fortunately, the return value is only ever used in unit test, not
production code, so it didn't matter.
With this commit, the 207 path is handled correctly, such that the
method "succeeds" if the event code is <400 (which would never happen in
real life) and "fails" if the event code is >=400.
[1] I6d105524e1645d9a40dfeae2850c33cf2d110826
Related-Bug: #1855752
Change-Id: I13744175127e9956fb785a9efc82193c333b2bdc
Adds a job to boot a node over Redfish virtual media in legacy
BIOS boot mode. For sake of unification, similar PXE job has been
renamed.
Apparently, libvirt-based Redfish BMC emulation requires node
power-cycle for libvirt domain configuration changes to take
effect.
Change-Id: I2c7fc26b082db6eeae1abcd67362884a9c72c109
When configuring VMs in devstack booting in UEFI mode, make sure
that each libvirt domain has its own UEFI NVRAM store. Otherwise
funny things can happen ultimately leading to EFI shell popping
up crying for help.
Change-Id: I03eddde04211ceb6f0bd9438fafab34c515c4fa9
Otherwise Depends-On sushy-tools does not seem to work.
Depends-On: https://review.opendev.org/693561
Change-Id: Iea32b98a57713b70b535eb524b165cbeb141199f
At least bifrost used to do it, so it's better to prevent users
from shooting their legs.
Change-Id: Idf25d9f434483f023ad7a40b6c242635ab89a804
Story: #1528920
Otherwise the node can get locked up for a significant amount of time.
It conforms to the behaviour of all other (POST) HTTP requests done to
agent.
Story: 2006946
Task: 37626
Change-Id: I968606a300bc43675d7bd07f73de37967ef80c26
No need to make everyone install rabbitmq just to play with ironic.
Also make it clearer that MySQL is not required.
Change-Id: Ib286f30f16579815ca05c8477f7fd446cad6e453
This change implements in-band inspection support for PXE and iPXE
boot interfaces and all in-tree network interfaces.
Story: #1528920
Task: #23184
Change-Id: I470d55add73bae47a2755cde93d4b1e1f30e94a7
This change the required base driver interface additions and inspector
interface changes to support in-band inspection driven by ironic.
Change-Id: Ibf9a80d0f72d5f128bf46ddca4cb9762c9a8191b
Story: #1528920
Task: #10404
Adds `instance_info/kernel_append_params` property support to
`redfish` hardware type. If given, this property overrides
`[redfish]/kernel_append_params` ironic option.
The rationale for adding this property is to allow passing
node-specific kernel parameters to instance kernel.
One of the use-cases for this is to pass node static network
configuration to the kernel.
Change-Id: Ib1617f5a7ab34968d8bfe06fe49f3ba68e56f99f
Story: 2006691
Task: 36988
It seems at some point oslo_service loopingcall started using
eventletutils from oslo_utils to sleep during the loopingcall
retries, and some untittests started taking up to 40 seconds
to complete. This change mocks out the correct method offering
significant speedup to unittests' run time.
The EventletEvent class is introduced to eventletutils in version
3.38.0 so lower constraints are bumped as well.
Change-Id: Id7e6ff2a4748b5301e2259acdc760ac7f56b96c3
the syslinux tools are in the syslinux package on
rhel7 and friends, but in rhel8 have moved to
syslinux-nonlinux
Change-Id: Iea74c2be6fbd738f35f178fa189384dd37579277
Apparently, now days system boot chain is tempted to display
fancy things on the console. While enjoyable, in non-text mode
libvirt guest console can't make it to the log file.
This change tries to ensure pure text mode kernel console in
PXE and Redfish booting by disabling any graphics in the VM
and in guest kernel.
Note that it's not only kernel that can control display mode,
but EFI boot loader as well.
For getting on VM's text console in devstack one could use
`virsh console --devname serial1 node-0` or just add `<graphics>`
section to `virsh edit node-0` XML.
Change-Id: I14f78bcef4173eeaf659ee589ca938e2698e3505
They were not handled correctly and ipxe-related configs were left
after node tear down.
Story: 2006907
Task: 37549
Change-Id: I1ee6727d2fc52619544e327a10a62ae8a7e6f7fe
The configuration option was deprecated before ocata (even earlier),
this patch drops the deprecated option.
Change-Id: I4cdff9a94aad580d22e93dcb5b9bd4aeef1412f8