Rollback bay on update failure

Registered by Wenzhi Yu

This is originally reported in this bug [1], but add rollback support is more like a feature rather than bug fix.
[1] https://bugs.launchpad.net/magnum/+bug/1535563

There is a rollback mechanism in heat after the stack update failed.
There should be a rollback mechanism in magnum after bay update failed.

To implement this, we need to make following change:

In python-magnumclient

Add '--rollback <VALUE>' optional argument to magnum 'bay-update' command, if this argument is set to 'True', bay will rollback on update failure, else if it's set to 'False' or not set, bay will not rollback on update failure, as it is today.

In Magnum:
Add some logic to rollback bay, actually, after bay update failed, if bay rollback was enabled, Heat will rollback
the stack resources. So basically we just need to recover the bay on data model level(i.e. set the value of bay
object fields back to original value if they were updated).

Blueprint information

Status:
Not started
Approver:
hongbin
Priority:
Undefined
Drafter:
Wenzhi Yu
Direction:
Needs approval
Assignee:
Wenzhi Yu
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.