This patch removes the dependency from ironicclient to
communicate with neutron in favor of openstacksdk.
Also:
* Use import keystoneauth1.loading as ks_loading accross
the project.
* Refactor to have one 'get_client' function, removing the
'_get_config_client' method. Setting config_client=True
when calling 'get_client' returns a client using auth
options values from conf parameters.
Depends-On: https://review.opendev.org/735601
Change-Id: Ib6c0fa2acfc33deb9c5b36ae724d5d8304d1dd29
It's very confusing that we use username/password everywhere, except
for [json_rpc]. Just use the standard options.
Also the version if keystoneauth is bumpted to one that supports
http_basic.
Change-Id: Icc834c3f8febd45c2548314ee00b85a7f9cebd2c
Based on latest changes [1] in the releases project that changed the
behavior of list_unreleased_changes.
[1] 4912f7d5d0
Change-Id: If5fd848bf3fddeb1ae66dc9aafa882588b83f41a
To prevent the administrator guide from growing too long, split
away advanced topics (i.e. stuff we don't expect most of admins
to read, use or understand).
Story: #2007771
Task: #40382
Change-Id: Ia3e3178692c96aaebdd4479e865a56fbe63c820a
Adds an iPXE interface to boot via a virtual media ISO as if it
was virtual media.
Story: 2007644
Task: 39823
Change-Id: Ie7971692758f3a5421f0826fdaf3d2366f652236
A recent comment on https://review.opendev.org/#/c/665835
pointed out that we should likely make some changes and a fix
a missing check for the introspection_vif_port_id which was
likely introduced after this functionality was originally
written.
Also adds some documentation on the subject since we lack
docs even pointing out how to delete a port. :\
Change-Id: I0ba8a3741eefa80eb56e25a1b339f8433b3fc0dc
The header for the file types.py denotes its dual-licensed status as
MIT with copyright to the original WSME authors, plus apache licensed
as part of Ironic.
Story: 1651346
Task: 10551
Change-Id: I986cc4a936c8679e932463ff3c91d1876a713196
Following the decomposition of the core step on the 'direct' deploy
interface, this change decomposed the iscsi and ansible deploy.
Co-Authored-By: Dmitry Tantsur <dtantsur@protonmail.com>
Change-Id: I537c6f6cf66c80b67b9045ea0618b02b7b93d36c
Story: #2006963
Task: #40152
Adds support to signal a pass-through request to the
redfish-virtual-media boot interface so a user can supply
a boot ISO to boot the machine.
Tested on an HPE Edgeline e910 series machine using the
``redfish-virtual-media`` boot interface.
Story: 2007633
Task: 39823
Change-Id: Ie74472969c75994794dc0ca19bbe7cfd395855c9
This change decomposes the current deploy step of the direct deploy
into multiple deploy steps:
* deploy (priority 100)
* write_image (priority 80)
* prepare_instance_boot (priority 60)
Note that this patch breaks backwards compatibility with 3rd party
drivers that inherit AgentDeploy rather than the base agent class.
Co-Authored-By: Dmitry Tantsur <dtantsur@protonmail.com>
Change-Id: Ief586473aca0e22b74efe83ef70c354fd5df17bf
Story: 2006963
Task: 37778
Currently all almost all of the deployment process is contained in a
single deploy step called deploy, on the deploy interface. This
restricts the customisation that can be applied via deploy steps, since
steps may only be added before or after this step.
This change allows deploy interfaces inheriting agent_base.AgentDeployMixin
to be used with in-band deploy steps. It is implemented by decomposing
the reboot_and_finish_deploy call into three deploy steps:
* tear_down_agent (priority 40)
* switch_to_tenant_network (priority 30)
* boot_instance (priority 20)
All steps with priorities between 99 and 41 can run in-band.
Backwards compatibility with drivers that do not support decomposed
steps is maintained via a 'has_decomposed_deploy_steps' method on the
agent heartbeat mixin.
The old reboot_and_finish_deploy call is also left for compatibility
but does nothing since the new steps will be automatically run.
Change-Id: Ie4fdd195efa941165e22bd4ce9484988a1760b2d
Story: #2006963
Task: #40151
I did something stupid when started driving forth the split of ipxe
from the pxe interface: I didn't think about the need to actually
separate bootloaders. In part, because the use case was a mixed
Power8/Power9 and x86 cluster. Mainly because the Power hardware
does not honor or care about the bootfile name provided over DHCP.
The firmware knows how to read the PXELINUX boot file format
and the machines are able to boot from there.
Where this all goes sideways is when:
* Enabled boot interfaces are set to ipxe,pxe
* No default boot interface is set
* Node is created without a default for x86 hardware.
* Node uses ipxe boot_interface, and creates files under /httpboot
* bootfile transmitted via DHCP is pxelinux.0.
Fun right?
The simple workaround for the power user is to just define the iPXE
loader, or maybe use UEFI. But that is neither here nor there, this
is still a bug and a possible use case is GRUB2 via PXE and iPXE.
Not that would really work via ipxe, but hopefully people get the
idea.
The solution kind of seems clear, duplicate configuration and
fallback if not defined.
Story: #2007003
Task: #40282
Change-Id: I4419254c23095929e52a0fda11789f2f5167dc6b
For software RAID, the image needs to have the root filesystem UUID
as metadata. This patch describe how to extract this UUID from an
existing image.
Change-Id: Ifdb63a80d4138a41fd0bac9880d14c90a4378fe5
This patch aims to fix issues proposed by dtantsur for 728123[1].
[1] https://review.opendev.org/#/c/728123/
Change-Id: I32c3e15aaa2ab0215d50921bdc9ee5c27c1c490c
The documentation claims that the option to override the endpoint for
inspector is endpoint-override, but it's endpoint_override.
Change-Id: I9b1a15fde0654c3164f81a3d547340cbe8e607bf