Add support of instance rescue mode in Horizon

Registered by Cédric Soulas

= Description of rescue mode =

When an instance become non-bootable or has system errors, the user can enter into rescue mode via CLI:

$ nova rescue instance-name
+-----------+--------------+
| Property | Value |
+-----------+--------------+
| adminPass | 7nQ6WaDppzFW |
+-----------+--------------+
The user can then log in the instance (using the ssh key provided launching the original instance, otherwise using the password above), mount broken instance volume and fix files. Then, he can exit the rescue mode:

$ nova unrescue instance-name

= The blueprint =

This is about supporting this workflow in Horizon.

* In the instance list pages,
** a user click on "More" for an instance, he sees in the action dropdown the link "Enter Rescue Mode"
** the user click on this link

* A confirmation modal opened
** this modal provides help text and caveats regarding the rescue command [1]
** this modal has a button to confirm entering in rescue mode, and a cancel link
** the user confirms

* In the rescued instance line of the instances table:
** the task move from "none" to "rescuing"
** after a while, the task move from "rescuing" to "rescue"

* The user can log in the instance with the same ssh key he used before
* After the rescue operation, he exits the mode clicking on the "Exit Rescue Mode" in the "More" dropdown of the instance

= Password generated setting =

It's possible that the cloud admin prefers to generate the user a temporary password to log in the instance, instead of using the ssh key the user provided at the first instance launch. In this case, an Horizon setting would let the cloud admin enable this. As a result, after the user confirms to enter in rescue mode, a second modal opens and displays the temporary password. An help text provide caveats about this temporary password [2].

[1] Rescue confirmation help text:
- warn the user this is for emergency only
- warn the user the server will shut down
- explain what it is for
- how to connect to the rescue instance
- how to mount the instance origin volume

[2] Temporary password help text:
* explain that this is a temporary password
* warn he will be impossible to view this password again

Blueprint information

Status:
Not started
Approver:
David Lyle
Priority:
Low
Drafter:
Cédric Soulas
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
milestone icon stein-2

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/instance-rescue-horizon-support,n,z

Addressed by: https://review.openstack.org/107379 -- ABANDONED
    Support of rescue instance in Horizon

Addressed by: https://review.openstack.org/367504 - Abandoned
    Support of rescue instance in Horizon

Addressed by: https://review.openstack.org/616441
    Support of rescue instance in Horizon

Gerrit topic: https://review.opendev.org/#/q/topic:bp/instance-rescue-horizon-support

Addressed by: https://review.opendev.org/695590
    Support of rescue instance in Horizon

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.