)]}'
{"nova/api/openstack/compute/simple_tenant_usage.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3c8d3efccd8c1a14301328688f4409dc5af8e0f4","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        except exception.InvalidStrTime as e:"},{"line_number":232,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        now \u003d timeutils.parse_isotime(timeutils.utcnow().isoformat())"},{"line_number":235,"context_line":"        if period_stop \u003e now:"},{"line_number":236,"context_line":"            period_stop \u003d now"},{"line_number":237,"context_line":"        usages \u003d self._tenant_usages_for_period(context,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_2436a552","line":234,"updated":"2015-10-30 19:41:23.000000000","message":"The way this currently works seems dumb: we\u0027re turning a datetime object into a string, only to turn it straight back to a datetime objects. However, try as I may I could not get this to use plain old timeutils.utcnow(). I always saw errors about timezone-aware and timezone-naive mismatches, despite both enabling and disabling `with_timezone`. If you can figure this out, then I commend you:\n\n    http://docs.openstack.org/developer/oslo.utils/api/timeutils.html#oslo_utils.timeutils.utcnow","commit_id":"3a0e72424a3116f1b8fe3583fa4072b6001548fb"}],"nova/compute/manager.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3c8d3efccd8c1a14301328688f4409dc5af8e0f4","unresolved":false,"context_lines":[{"line_number":4189,"context_line":"        self._power_off_instance(context, instance, clean_shutdown)"},{"line_number":4190,"context_line":"        self.driver.snapshot(context, instance, image_id, update_task_state)"},{"line_number":4191,"context_line":""},{"line_number":4192,"context_line":"        instance.system_metadata[\u0027shelved_at\u0027] \u003d timeutils.utcnow().isoformat()"},{"line_number":4193,"context_line":"        instance.system_metadata[\u0027shelved_image_id\u0027] \u003d image_id"},{"line_number":4194,"context_line":"        instance.system_metadata[\u0027shelved_host\u0027] \u003d self.host"},{"line_number":4195,"context_line":"        instance.vm_state \u003d vm_states.SHELVED"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_841699a5","line":4192,"updated":"2015-10-30 19:41:23.000000000","message":"Is the missing millisecond count going to be an issue? There\u0027s a 1 in 10,000 chance that those last four characters might be missing so it\u0027s might be awkward to test...","commit_id":"3a0e72424a3116f1b8fe3583fa4072b6001548fb"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"e8031fde016ffdd1586819581d918942987c64bf","unresolved":false,"context_lines":[{"line_number":4189,"context_line":"        self._power_off_instance(context, instance, clean_shutdown)"},{"line_number":4190,"context_line":"        self.driver.snapshot(context, instance, image_id, update_task_state)"},{"line_number":4191,"context_line":""},{"line_number":4192,"context_line":"        instance.system_metadata[\u0027shelved_at\u0027] \u003d timeutils.utcnow().isoformat()"},{"line_number":4193,"context_line":"        instance.system_metadata[\u0027shelved_image_id\u0027] \u003d image_id"},{"line_number":4194,"context_line":"        instance.system_metadata[\u0027shelved_host\u0027] \u003d self.host"},{"line_number":4195,"context_line":"        instance.vm_state \u003d vm_states.SHELVED"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a26ad4f_0474c9cc","line":4192,"in_reply_to":"1a26ad4f_841699a5","updated":"2015-10-30 19:50:39.000000000","message":"I considered that, but decided it was \"safe\" to just use isoformat() for all the known utcnow() cases. When I wasn\u0027t sure about the source of the datetime (might not be from utcnow()), I left the strtime call as-is in patch set 1, and was explicit about the formatting in patch set 2 (after seeing your patch).\n\nI\u0027m curious how this conversation played out by the people that decided to deprecate this method in oslo. I\u0027m sure there must have been some kind of discussion that we\u0027re just unaware of.\n\nHappy Friday!","commit_id":"3a0e72424a3116f1b8fe3583fa4072b6001548fb"}]}
