Allow shelving instance for SHUTOFF/PAUSED/SUSPENDED statuses

Nova allows users to run shelve when instance status is either
ACTIVE/PAUSED/SHUTOFF/SUSPENDED.
But, horizon could run shelve only when instance status is ACTIVE.
This patch fix the above mismatch.

Change-Id: I3a3815c82a2dd008ff1f6094c9598aa583130f20
closes-bug: #1667576
(cherry picked from commit 9984599ca3)
This commit is contained in:
Rikimaru Honjo 2017-02-24 14:48:50 +09:00 committed by Rob Cresswell
parent 3612ac6dfe
commit 9c399da5c5
1 changed files with 2 additions and 1 deletions

View File

@ -50,6 +50,7 @@ LOG = logging.getLogger(__name__)
ACTIVE_STATES = ("ACTIVE",)
VOLUME_ATTACH_READY_STATES = ("ACTIVE", "SHUTOFF")
SNAPSHOT_READY_STATES = ("ACTIVE", "SHUTOFF", "PAUSED", "SUSPENDED")
SHELVE_READY_STATES = ("ACTIVE", "SHUTOFF", "PAUSED", "SUSPENDED")
POWER_STATES = {
0: "NO STATE",
@ -361,7 +362,7 @@ class ToggleShelve(tables.BatchAction):
target={'project_id': getattr(instance, 'tenant_id', None)})
return (has_permission
and (instance.status in ACTIVE_STATES or self.shelved)
and (instance.status in SHELVE_READY_STATES or self.shelved)
and not is_deleting(instance))
def action(self, request, obj_id):