ironic-python-agent/doc/source/contributor/rescue.rst
Jay Faulkner 36e5993a04 [codespell] Fix spelling issues in IPA
This fixes several spelling issues identified by codepsell. In some
cases, I may have manually modified a line to make the output more clear
or to correct grammatical issues which were obvious in the codespell
output.

Later changes in this chain will provide the codespell config used to
generate this, as well as adding this commit's SHA, once landed, to a
.git-blame-ignore-revs file to ensure it will not pollute git historys
for modern clients.

Related-Bug: 2047654
Change-Id: I240cf8484865c9b748ceb51f3c7b9fd973cb5ada
2023-12-28 10:54:46 -08:00

48 lines
1.5 KiB
ReStructuredText

===========
Rescue Mode
===========
Ironic supports putting nodes in rescue mode using hardware types that
support rescue interfaces. A rescue operation can be used to boot nodes
into a rescue ramdisk so that the ``rescue`` user can access the node.
This provides the ability to access the node when normal access is not
possible. For example, if there is a need to perform manual password
reset or data recovery in the event of some failure, a rescue operation
can be used. IPA rescue extension exposes a command ``finalize_rescue``
(that is used by Ironic) to set the password for the ``rescue`` user
when the rescue ramdisk is booted.
finalize_rescue command
=======================
The rescue extension exposes the command ``finalize_rescue``; when
invoked, it triggers rescue mode::
POST /v1/commands
{"name": "rescue.finalize_rescue",
"params": {
"rescue_password": "p455w0rd"}
}
``rescue_password`` is a required parameter for this command.
Upon success, it returns following data in response::
{"command_name": "finalize_rescue",
"command_params": {
"rescue_password": "p455w0rd"},
"command_status": "SUCCEEDED"
"command_result": null
"command_error": null
}
If successful, this synchronous command will:
1. Write the salted and encrypted ``rescue_password`` to
``/etc/ipa-rescue-config/ipa-rescue-password`` in the chroot or filesystem
that ironic-python-agent is running in.
2. Stop the ironic-python-agent process after completing these actions and
returning the response to the API request.