Handling deletes without launches
This commit is contained in:
parent
e50e305744
commit
0df411bdce
@ -257,14 +257,18 @@ def _process_delete(raw):
|
|||||||
notif = json.loads(raw.json)
|
notif = json.loads(raw.json)
|
||||||
payload = notif[1]['payload']
|
payload = notif[1]['payload']
|
||||||
instance_id = payload['instance_id']
|
instance_id = payload['instance_id']
|
||||||
launched_at = str_time_to_unix(payload['launched_at'])
|
|
||||||
deleted_at = str_time_to_unix(payload['deleted_at'])
|
deleted_at = str_time_to_unix(payload['deleted_at'])
|
||||||
values = {
|
values = {
|
||||||
'instance': instance_id,
|
'instance': instance_id,
|
||||||
'launched_at': launched_at,
|
|
||||||
'deleted_at': deleted_at,
|
'deleted_at': deleted_at,
|
||||||
'raw': raw
|
'raw': raw
|
||||||
}
|
}
|
||||||
|
|
||||||
|
launched_at = payload.get('launched_at')
|
||||||
|
if launched_at and launched_at != '':
|
||||||
|
launched_at = str_time_to_unix(launched_at)
|
||||||
|
values['launched_at'] = launched_at
|
||||||
|
|
||||||
delete = STACKDB.create_instance_delete(**values)
|
delete = STACKDB.create_instance_delete(**values)
|
||||||
STACKDB.save(delete)
|
STACKDB.save(delete)
|
||||||
|
|
||||||
|
@ -526,6 +526,30 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
|||||||
self.assertEqual(delete.deleted_at, delete_decimal)
|
self.assertEqual(delete.deleted_at, delete_decimal)
|
||||||
self.mox.VerifyAll()
|
self.mox.VerifyAll()
|
||||||
|
|
||||||
|
def test_process_delete_no_launch(self):
|
||||||
|
delete_time = datetime.datetime.utcnow()
|
||||||
|
delete_decimal = utils.decimal_utc(delete_time)
|
||||||
|
notif = utils.create_nova_notif(request_id=REQUEST_ID_1,
|
||||||
|
deleted=str(delete_time))
|
||||||
|
json_str = json.dumps(notif)
|
||||||
|
event = 'compute.instance.delete.end'
|
||||||
|
raw = utils.create_raw(self.mox, delete_decimal, event=event,
|
||||||
|
json_str=json_str)
|
||||||
|
delete = self.mox.CreateMockAnything()
|
||||||
|
delete.instance = INSTANCE_ID_1
|
||||||
|
delete.deleted_at = delete_decimal
|
||||||
|
views.STACKDB.create_instance_delete(instance=INSTANCE_ID_1,
|
||||||
|
deleted_at=delete_decimal,
|
||||||
|
raw=raw) \
|
||||||
|
.AndReturn(delete)
|
||||||
|
views.STACKDB.save(delete)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
views._process_delete(raw)
|
||||||
|
self.assertEqual(delete.instance, INSTANCE_ID_1)
|
||||||
|
self.assertEqual(delete.deleted_at, delete_decimal)
|
||||||
|
self.mox.VerifyAll()
|
||||||
|
|
||||||
def test_process_exists(self):
|
def test_process_exists(self):
|
||||||
launch_time = datetime.datetime.utcnow()-datetime.timedelta(hours=23)
|
launch_time = datetime.datetime.utcnow()-datetime.timedelta(hours=23)
|
||||||
launch_decimal = utils.decimal_utc(launch_time)
|
launch_decimal = utils.decimal_utc(launch_time)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user