From c12e6bb97ec658070200332b063451afe493975a Mon Sep 17 00:00:00 2001 From: Andrew Melton Date: Tue, 26 Nov 2013 15:51:50 -0500 Subject: [PATCH] Grabbing flavor details from finish_resize.start --- stacktach/views.py | 3 +++ tests/unit/test_stacktach.py | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/stacktach/views.py b/stacktach/views.py index c496f5b..f0ec8a3 100644 --- a/stacktach/views.py +++ b/stacktach/views.py @@ -156,6 +156,7 @@ INSTANCE_EVENT = { 'resize_prep_start': 'compute.instance.resize.prep.start', 'resize_revert_start': 'compute.instance.resize.revert.start', 'resize_revert_end': 'compute.instance.resize.revert.end', + 'resize_finish_start': 'compute.instance.finish_resize.start', 'resize_finish_end': 'compute.instance.finish_resize.end', 'rescue_start': 'compute.instance.rescue.start', 'rescue_end': 'compute.instance.rescue.end', @@ -226,6 +227,7 @@ def _process_usage_for_updates(raw, notification): usage.launched_at = utils.str_time_to_unix(notification.launched_at) if raw.event in [INSTANCE_EVENT['resize_revert_end'], + INSTANCE_EVENT['resize_finish_start'], INSTANCE_EVENT['resize_finish_end']]: usage.instance_type_id = notification.instance_type_id usage.instance_flavor_id = notification.instance_flavor_id @@ -325,6 +327,7 @@ USAGE_PROCESS_MAPPING = { INSTANCE_EVENT['rescue_start']: _process_usage_for_new_launch, INSTANCE_EVENT['create_end']: _process_usage_for_updates, INSTANCE_EVENT['rebuild_end']: _process_usage_for_updates, + INSTANCE_EVENT['resize_finish_start']: _process_usage_for_updates, INSTANCE_EVENT['resize_finish_end']: _process_usage_for_updates, INSTANCE_EVENT['resize_revert_end']: _process_usage_for_updates, INSTANCE_EVENT['rescue_end']: _process_usage_for_updates, diff --git a/tests/unit/test_stacktach.py b/tests/unit/test_stacktach.py index a2de719..4ca4311 100644 --- a/tests/unit/test_stacktach.py +++ b/tests/unit/test_stacktach.py @@ -636,6 +636,33 @@ class StacktachUsageParsingTestCase(StacktachBaseTestCase): self.mox.VerifyAll() + def test_process_usage_for_updates_finish_resize_start(self): + notification = self._create_mock_notification() + raw = self.mox.CreateMockAnything() + raw.event = 'compute.instance.finish_resize.start' + + usage = self.mox.CreateMockAnything() + usage.launched_at = None + usage.instance_type_id = INSTANCE_TYPE_ID_2 + usage.instance_flavor_id = INSTANCE_FLAVOR_ID_2 + views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, + request_id=REQUEST_ID_1) \ + .AndReturn((usage, True)) + views.STACKDB.save(usage) + self.mox.ReplayAll() + + views._process_usage_for_updates(raw, notification) + + self.assertEqual(usage.instance_type_id, INSTANCE_TYPE_ID_1) + self.assertEqual(usage.instance_flavor_id, INSTANCE_FLAVOR_ID_1) + self.assertEquals(usage.tenant, TENANT_ID_1) + self.assertEquals(usage.os_architecture, OS_ARCH_1) + self.assertEquals(usage.os_version, OS_VERSION_1) + self.assertEquals(usage.os_distro, OS_DISTRO_1) + self.assertEquals(usage.rax_options, RAX_OPTIONS_1) + + self.mox.VerifyAll() + def test_process_usage_for_updates_finish_resize_end(self): notification = self._create_mock_notification() raw = self.mox.CreateMockAnything()