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)
|
LOG.warn(ex)
|
||||||
self.update_db(deleted=True, deleted_at=deleted_at,
|
self.update_db(deleted=True, deleted_at=deleted_at,
|
||||||
task_status=InstanceTasks.NONE)
|
task_status=InstanceTasks.NONE)
|
||||||
|
self.set_servicestatus_deleted()
|
||||||
# Delete associated security group
|
# Delete associated security group
|
||||||
if CONF.trove_security_groups_support:
|
if CONF.trove_security_groups_support:
|
||||||
SecurityGroup.delete_for_instance(self.db_info.id,
|
SecurityGroup.delete_for_instance(self.db_info.id,
|
||||||
@ -383,6 +384,11 @@ class BaseInstance(SimpleInstance):
|
|||||||
setattr(self.db_info, key, values[key])
|
setattr(self.db_info, key, values[key])
|
||||||
self.db_info.save()
|
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
|
@property
|
||||||
def volume_client(self):
|
def volume_client(self):
|
||||||
if not self._volume_client:
|
if not self._volume_client:
|
||||||
@ -826,6 +832,7 @@ class ServiceStatuses(object):
|
|||||||
BUILDING = ServiceStatus(0x09, 'building', 'BUILD')
|
BUILDING = ServiceStatus(0x09, 'building', 'BUILD')
|
||||||
UNKNOWN = ServiceStatus(0x16, 'unknown', 'ERROR')
|
UNKNOWN = ServiceStatus(0x16, 'unknown', 'ERROR')
|
||||||
NEW = ServiceStatus(0x17, 'new', 'NEW')
|
NEW = ServiceStatus(0x17, 'new', 'NEW')
|
||||||
|
DELETED = ServiceStatus(0x05, 'deleted', 'DELETED')
|
||||||
|
|
||||||
|
|
||||||
MYSQL_RESPONSIVE_STATUSES = [ServiceStatuses.RUNNING]
|
MYSQL_RESPONSIVE_STATUSES = [ServiceStatuses.RUNNING]
|
||||||
|
@ -1058,6 +1058,16 @@ class AfterDeleteChecks(object):
|
|||||||
'trove.instance.delete',
|
'trove.instance.delete',
|
||||||
**expected)
|
**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,
|
@test(depends_on_classes=[CreateInstance, VerifyGuestStarted,
|
||||||
WaitForGuestInstallationToFinish],
|
WaitForGuestInstallationToFinish],
|
||||||
|
Loading…
Reference in New Issue
Block a user