Bug 1041106

Summary: [RFE][nova]: Allow for soft errors which indicate a failure that leaves the VM active
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/soft-errors
Whiteboard: upstream_milestone_none upstream_status_not-started upstream_definition_obsolete
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:18:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 13:38:58 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/soft-errors.

Description:

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.

Specification URL (additional information):

None