Current logic tries to call communicate on Popen object when
starting shellinabox console even if console.subprocess_timeout
is hit. This blocks until the command is finished, with timeout
having no effect on it. It means that node lock is not released
until communicate call finishes.
Story: 2006429
Task: 36333
Change-Id: Ic7b878cd432990218a3d87047905ce0828b8da2a
Some BMCs seem to validate virtual media boot image URL requiring
that URL to end with something resembling ISO image file name
(perhaps, its suffix i.e. extension).
This patch tries to add, hopefully, meaningless `filename`
parameter to boot URL's query string in hope to make the entire boot
image URL looking more convincing to the BMC.
Change-Id: I316712b38d10c0e801f7fd96a584074c8918b46b
Story: 1526753
Task: 10389
Added `_set_boot_device()` method to `redfish` boot interface to
let future fishy hardware types reusing standard `redfish`
implementation modulo setting boot device procedure.
With Redfish, it seems, setting node to boot from Cd implies booting
from either virtual or physical CD depending on media presence in
either of the devices.
Change-Id: I576b90be46f9cadf1a051e17c95a98aefc83fe1f
This patch introduces standard Redfish virtual media boot
support to ironic.
The patch implements basic boot interface features along with
devstack plugin support for virtual media boot. Functionally,
redfish boot interface supports the same set of features as PXE.
Unlike other virtual media boot implementations (e.g. iLo), this
patch does not require user-built deploy/rescue/boot ISO images
for virtual media boot. Instead, ironic will build necessary images
out of common kernel/ramdisk pair (though user needs to provide
ESP image).
Story: 1526753
Task: 10389
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>
Change-Id: I0db0a64c5ccf260f5a0695dbe994af1e11f71517
In case of a failure during cleaning, ironic currently shuts the
node off. This is dangerous, e.g. when the cleaning step is a
firmware upgrade. This patch proposes to corect this behaviour
and leave the node on in case cleaning raises an exception.
Task: #30357
Story: #2005375
Change-Id: I5fe8b380c890eb9b9dcee33868ceda2a9bab9929
If the node root_device is a logical drive (like an md array, or a
logical volume), partition_configdrive.sh was not working correctly.
Change-Id: Ida4f91efba0f38f20cd80dd6b6162a77af8d6b78
Story: #2006334
Task: #36082
Story: 2006375
Task: 36164
Fix a bug which was introduced when executing ``create_configuration``
cleaning step for multiple disks of PERC H740P controller, first disks
gets created and then controller doesn't allow to create next couple
of disks because controller is getting busy at one time.
Change-Id: I02ec595e639c04dd65ce788851c5dde074cc1095
Asynchronous out of band steps in a deploy template fails to
execute. This commit fixes that issue. Asynchronous steps can
set 'skip_current_deploy_step' flag to False in
'driver_internal_info' to make sure that upon reboot same step
is re-executed. Also it can set 'deployment_reboot' flag to True
in 'driver_internal_info' to signal that it has rebooted the node.
Co-Authored-By: Mark Goddard <mark@stackhpc.com>
Change-Id: If6217afb5453c311d5ca71ba37458a9b97c18395
Story: 2006342
Task: 36095
* Use more copy-paste friendly indentation in the examples
* Use subheadings for properties
* Render JSON examples as JSON
* Remove explicit API version from CLI, we've been defaulting
to latest for several releases.
* Small fixes
Change-Id: I1cae6e9b4ff124e3404bd55638bc77bdf3465fe0
The devstack plugin was updated to configure basic ops before
ironic starts, so that we can put links to deploy images
in the ironic.conf.
Change-Id: I305fc3712b1ac0cf2fe64569729e236c7b614bb4
Story: #2006175
Task: #35699
Missing print format will cause 'ValueError: unsupported
format character' error, this is to fix it.
Change-Id: I43fca1f5bd1bcde3a5254f94c348ddafeb917283
This provides a bunch of updates based on user testing of the feature.
Also the lines are wrapped and inter-document links are created.
Change-Id: Ia3408aee3ebcd4ad5deedaa48967f46134ad2cfc
currently it is impossible to use ironic-api for both internal and
public api at the same time when both of those are using (ssl
terminating) proxies as there's only one config option to override the
resource url's in responses ([api]public_endpoint).
This patch adds the http_proxy_to_wsgi middleware from oslo.middleware
to the ironic API service, which, with properly configured proxies,
makes the choice of correct URL automatic, and thus makes such scenario
possible.
As this middleware may potentially not properly handle some
endpoint URL schemas, leave the api.public_endpoint option as a backup,
but it will be ignored when proxy headers parsing is enabled.
Change-Id: I3ce6b0726b479c2835f8777957b2cb12d8098aec
Story: #2006303
Task: #36019
RAID interface methods do not clear driver_internal_info properly
leads to failure of RAID operation when they are attempted again.
Change-Id: I3cd133fb700ec4946471d9e4cbebeab4bded4540
Story: 2006321
Task: 36052
RAID creation fails with KeyError if none of the 'logical_disks'
in 'target_raid_config' have 'controller' parameter.
Story: 2006316
Task: 36043
Change-Id: I42ee6a46c002c14c785216834558223cbf9d319b