diff --git a/stacktach/views.py b/stacktach/views.py index b77d609..1012eb2 100644 --- a/stacktach/views.py +++ b/stacktach/views.py @@ -240,6 +240,11 @@ def _process_usage_for_updates(raw, notification): INSTANCE_EVENT['resize_revert_end'], INSTANCE_EVENT['rescue_end']]: usage.launched_at = utils.str_time_to_unix(notification.launched_at) + if usage.instance_type_id is None: + usage.instance_type_id = notification.instance_type_id + if usage.instance_flavor_id is None: + usage.instance_flavor_id = notification.instance_flavor_id + if raw.event in [INSTANCE_EVENT['resize_revert_end'], INSTANCE_EVENT['resize_finish_start'], diff --git a/tests/unit/test_stacktach.py b/tests/unit/test_stacktach.py index 26ed609..3ac8b16 100644 --- a/tests/unit/test_stacktach.py +++ b/tests/unit/test_stacktach.py @@ -529,6 +529,8 @@ class StacktachUsageParsingTestCase(StacktachBaseTestCase): usage = self.mox.CreateMockAnything() usage.launched_at = None + usage.instance_type_id = None + usage.instance_flavor_id = None views.STACKDB.get_or_create_instance_usage(instance=INSTANCE_ID_1, request_id=REQUEST_ID_1) \ .AndReturn((usage, True)) @@ -543,6 +545,8 @@ class StacktachUsageParsingTestCase(StacktachBaseTestCase): 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.assertEquals(usage.instance_type_id, INSTANCE_TYPE_ID_1) + self.assertEquals(usage.instance_flavor_id, INSTANCE_FLAVOR_ID_1) self.mox.VerifyAll()