Merge "Trove - service_statuses status set to delete when instance deleted"
This commit is contained in:
commit
0dfb50488b
|
@ -360,6 +360,7 @@ class BaseInstance(SimpleInstance):
|
|||
LOG.warn(ex)
|
||||
self.update_db(deleted=True, deleted_at=deleted_at,
|
||||
task_status=InstanceTasks.NONE)
|
||||
self.set_servicestatus_deleted()
|
||||
# Delete associated security group
|
||||
if CONF.trove_security_groups_support:
|
||||
SecurityGroup.delete_for_instance(self.db_info.id,
|
||||
|
@ -383,6 +384,11 @@ class BaseInstance(SimpleInstance):
|
|||
setattr(self.db_info, key, values[key])
|
||||
self.db_info.save()
|
||||
|
||||
def set_servicestatus_deleted(self):
|
||||
del_instance = InstanceServiceStatus.find_by(instance_id=self.id)
|
||||
del_instance.set_status(ServiceStatuses.DELETED)
|
||||
del_instance.save()
|
||||
|
||||
@property
|
||||
def volume_client(self):
|
||||
if not self._volume_client:
|
||||
|
@ -826,6 +832,7 @@ class ServiceStatuses(object):
|
|||
BUILDING = ServiceStatus(0x09, 'building', 'BUILD')
|
||||
UNKNOWN = ServiceStatus(0x16, 'unknown', 'ERROR')
|
||||
NEW = ServiceStatus(0x17, 'new', 'NEW')
|
||||
DELETED = ServiceStatus(0x05, 'deleted', 'DELETED')
|
||||
|
||||
|
||||
MYSQL_RESPONSIVE_STATUSES = [ServiceStatuses.RUNNING]
|
||||
|
|
|
@ -1058,6 +1058,16 @@ class AfterDeleteChecks(object):
|
|||
'trove.instance.delete',
|
||||
**expected)
|
||||
|
||||
@test
|
||||
def test_instance_status_deleted_in_db(self):
|
||||
mgmt_details = dbaas_admin.management.index(deleted=True)
|
||||
for instance in mgmt_details:
|
||||
if instance.id == instance_info.id:
|
||||
assert_equal(instance.service_status, 'DELETED')
|
||||
break
|
||||
else:
|
||||
fail("Could not find instance %s" % instance_info.id)
|
||||
|
||||
|
||||
@test(depends_on_classes=[CreateInstance, VerifyGuestStarted,
|
||||
WaitForGuestInstallationToFinish],
|
||||
|
|
Loading…
Reference in New Issue