Allow for soft errors which indicate a failure that leaves the VM active
There are cases in Nova where a failure may occur, or a pre-condition for an action may not be met, which currently puts the VM into a status of ERROR. This is somewhat problematic as it limits the actions that can now be taken on that instance, even though the instance may be in exactly the same state that it was before the ERROR state. An example would be a failed set_password, or failing a precondition check before a resize. In cases like that it makes sense to leave the instance state alone, but indicate to a user that an error has occurred.
I propose that a distinction be made between a failure to do something, and an instance being in an ERROR state. Perhaps it can be considered a soft error state, or we can add the concept of a task error as opposed to a vm error.
The difficulty in this lies with the v2 API and it's restriction on Status and displaying instance faults. Mainly there's not a good way to indicate a task error without setting the instance to ERROR. A proposed solution is to take advantage of the extended-status extension which already has support in novaclient and use that to indicate a soft error. Perhaps if vm_state=error and power_state=1 we can consider the vm to be in a soft error state and display that differently in the client.
Blueprint information
- Status:
- Complete
- Approver:
- Russell Bryant
- Priority:
- Undefined
- Drafter:
- Andrew Laski
- Direction:
- Approved
- Assignee:
- Andrew Laski
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Not started
- Milestone target:
- None
- Started by
- Completed by
- John Garbutt