From 75a6f796b05e5cbb17792cdd596c5c7023e28eb4 Mon Sep 17 00:00:00 2001 From: Balazs Gibizer Date: Thu, 11 May 2017 14:04:30 +0200 Subject: [PATCH] Make all timestamps formats equal Prior to this patch notifications for instance uses different format for datetime fields This patch aligns that formating Co-Authored-By: Timofey Durakov Change-Id: I946a92601e4268bb224fc35b2052bca7436531f4 Closes-Bug: #1657428 --- nova/notifications/base.py | 4 ++-- nova/tests/unit/test_notifications.py | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/nova/notifications/base.py b/nova/notifications/base.py index 05808ceea286..1e6b164a2ca5 100644 --- a/nova/notifications/base.py +++ b/nova/notifications/base.py @@ -235,8 +235,8 @@ def send_instance_update_notification(context, instance, old_vm_state=None, # add audit fields: (audit_start, audit_end) = audit_period_bounds(current_period=True) - payload["audit_period_beginning"] = audit_start - payload["audit_period_ending"] = audit_end + payload["audit_period_beginning"] = null_safe_isotime(audit_start) + payload["audit_period_ending"] = null_safe_isotime(audit_end) # add bw usage info: bw = bandwidth_usage(instance, audit_start) diff --git a/nova/tests/unit/test_notifications.py b/nova/tests/unit/test_notifications.py index d94b54b36426..13377e8db950 100644 --- a/nova/tests/unit/test_notifications.py +++ b/nova/tests/unit/test_notifications.py @@ -21,6 +21,7 @@ import datetime import mock from oslo_context import context as o_context from oslo_context import fixture as o_fixture +from oslo_utils import timeutils from nova.compute import flavors from nova.compute import task_states @@ -67,6 +68,9 @@ class NotificationsTestCase(test.TestCase): self.project_id = 'fake' self.context = context.RequestContext(self.user_id, self.project_id) + self.fake_time = datetime.datetime(2017, 2, 2, 16, 45, 0) + timeutils.set_time_override(self.fake_time) + self.instance = self._wrapped_create() self.decorated_function_called = False @@ -340,6 +344,11 @@ class NotificationsTestCase(test.TestCase): self.assertEqual(payload["display_name"], display_name) self.assertEqual(payload["hostname"], hostname) self.assertEqual(payload["node"], node) + self.assertEqual("2017-02-01T00:00:00.000000", + payload["audit_period_beginning"]) + self.assertEqual("2017-02-02T16:45:00.000000", + payload["audit_period_ending"]) + payload = fake_notifier.VERSIONED_NOTIFICATIONS[0][ 'payload']['nova_object.data'] state_update = payload['state_update']['nova_object.data']