)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"43a49c6ce47d01728ae9e2593ebd087601c62117","unresolved":false,"context_lines":[{"line_number":10,"context_line":"notifications has been transformed to the versioned notification framework."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iab73b1351a50869620334f692aaefb566ba4ddf8"},{"line_number":13,"context_line":"Implements: bp versioned-notification-transformation-pike"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"5f2577a7_b5d21bff","line":13,"range":{"start_line":13,"start_character":53,"end_line":13,"end_character":57},"updated":"2017-09-14 19:53:00.000000000","message":"nit: queens","commit_id":"0f934ae8c40fe976bf0e46fbef2691c7351f5910"}],"nova/notifications/objects/base.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ef2825a57f380de40bd6b778fd6f2a56a80d668c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    #              NotificationActionField enum"},{"line_number":51,"context_line":"    # Version 1.6: UPDATE_METADATA value is added to the"},{"line_number":52,"context_line":"    #              NotificationActionField enum"},{"line_number":53,"context_line":"    VERSION \u003d \u00271.6\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    fields \u003d {"},{"line_number":56,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f201791_0f0dd93d","line":53,"updated":"2017-06-20 15:57:50.000000000","message":"Just a note: This will be in conflict with https://review.openstack.org/#/c/473929/4/nova/notifications/objects/base.py","commit_id":"33a8687710119422f9955646835c0ae4e77e995a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"38de95053bed26e74b2e1dea9fa6259dfb2addc5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    # Version 1.8: IMPORT value is added to NotificationActionField enum"},{"line_number":56,"context_line":"    # Version 1.9: UPDATE_METADATA value is added to the"},{"line_number":57,"context_line":"    #              NotificationActionField enum"},{"line_number":58,"context_line":"    VERSION \u003d \u00271.9\u0027"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    fields \u003d {"},{"line_number":61,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":24,"id":"df7087c5_dab5cfce","line":58,"updated":"2018-03-12 16:44:08.000000000","message":"This will conflict with https://review.openstack.org/#/c/541101/6/nova/notifications/objects/base.py \nSo I suggest to rebase this top of the servergroup.add_member patch.","commit_id":"d6b10b2c6882761c0129a066af0e6639583c7ede"}],"nova/objects/aggregate.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d2c9083877c01489f878c7c563ba5056d705c3b","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    @base.remotable"},{"line_number":344,"context_line":"    def update_metadata(self, updates):"},{"line_number":345,"context_line":"        payload \u003d {\u0027aggregate_id\u0027: self.id,"},{"line_number":346,"context_line":"                   \u0027meta_data\u0027: updates}"},{"line_number":347,"context_line":"        compute_utils.notify_about_aggregate_update(self._context,"},{"line_number":348,"context_line":"                                                    \"updatemetadata.start\","},{"line_number":349,"context_line":"                                                    payload)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f6a8fd7_8b1bcf19","line":346,"updated":"2018-04-17 13:04:31.000000000","message":"The legacy unversioned payload has the metadata updates in the \"start\" notification, but the versioned payload doesn\u0027t. Why aren\u0027t we trying to also send the updates in the \"start\" versioned notification?","commit_id":"090d58d23dd4586d7cd27660e6e00a3ade7a8375"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8419c72f3122db4d43cdbe4c80bf61c28437770e","unresolved":false,"context_lines":[{"line_number":343,"context_line":"    @base.remotable"},{"line_number":344,"context_line":"    def update_metadata(self, updates):"},{"line_number":345,"context_line":"        payload \u003d {\u0027aggregate_id\u0027: self.id,"},{"line_number":346,"context_line":"                   \u0027meta_data\u0027: updates}"},{"line_number":347,"context_line":"        compute_utils.notify_about_aggregate_update(self._context,"},{"line_number":348,"context_line":"                                                    \"updatemetadata.start\","},{"line_number":349,"context_line":"                                                    payload)"}],"source_content_type":"text/x-python","patch_set":26,"id":"9f6a8fd7_0bb81f74","line":346,"in_reply_to":"9f6a8fd7_8b1bcf19","updated":"2018-04-17 13:24:48.000000000","message":"gibi and I talked about this a bit in IRC:\n\nhttp://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2018-04-17.log.html#t2018-04-17T13:04:41\n\nand to summarize:\n\n1. The legacy notification is a bit weird in that it only sends the updates, it doesn\u0027t send the full metadata in the \u0027end\u0027 notification.\n\n2. The versioned notification is sending the before and after metadata in the start/end notifications, so if the consumer needs to know the delta they can diff the start/end payloads, which is a solution instead of sending the updates explicitly.","commit_id":"090d58d23dd4586d7cd27660e6e00a3ade7a8375"}],"nova/objects/fields.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b8815b22eb3a2d03ad8667552c93f0f2eecb943b","unresolved":false,"context_lines":[{"line_number":812,"context_line":"    UNSHELVE \u003d \u0027unshelve\u0027"},{"line_number":813,"context_line":"    ADD_HOST \u003d \u0027add_host\u0027"},{"line_number":814,"context_line":"    REMOVE_HOST \u003d \u0027remove_host\u0027"},{"line_number":815,"context_line":"    UPDATE_METADATA \u003d \u0027updatemetadata\u0027"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"    ALL \u003d (UPDATE, EXCEPTION, DELETE, PAUSE, UNPAUSE, RESIZE, VOLUME_SWAP,"},{"line_number":818,"context_line":"           SUSPEND, POWER_ON, REBOOT, SHUTDOWN, SNAPSHOT, ADD_FIXED_IP,"}],"source_content_type":"text/x-python","patch_set":10,"id":"df140735_d81e920a","line":815,"range":{"start_line":815,"start_character":23,"end_line":815,"end_character":37},"updated":"2017-06-06 15:23:06.000000000","message":"looking at the other values I think this should be spelled like \u0027update_metadata\u0027 for consistency","commit_id":"0dcffb43581e71ab20163e8be76692aa6cfd4c36"}],"nova/tests/functional/notification_sample_tests/test_aggregate.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d50fb420a604b9a5168a8abc66d34bdbcba4bff0","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.admin_api.post_aggregate_action(aggregate[\u0027id\u0027], set_metadata_req)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        self.assertEqual(4, len(fake_notifier.VERSIONED_NOTIFICATIONS))"},{"line_number":76,"context_line":"        # The uuid hasn\u0027t been exposed on the REST API yet so we have no way to"},{"line_number":77,"context_line":"        # match it here, now."},{"line_number":78,"context_line":"        self._verify_notification("},{"line_number":79,"context_line":"            \u0027aggregate-updatemetadata-start\u0027,"},{"line_number":80,"context_line":"            replacements\u003d{"}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_dee9b580","line":77,"range":{"start_line":76,"start_character":0,"end_line":77,"end_character":29},"updated":"2017-05-30 02:52:29.000000000","message":"Remove this comment.","commit_id":"cb07dd827c617621f7c670c3ffe2b4df34a3e201"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d50fb420a604b9a5168a8abc66d34bdbcba4bff0","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        # match it here, now."},{"line_number":78,"context_line":"        self._verify_notification("},{"line_number":79,"context_line":"            \u0027aggregate-updatemetadata-start\u0027,"},{"line_number":80,"context_line":"            replacements\u003d{"},{"line_number":81,"context_line":"                \u0027uuid\u0027: self.ANY},"},{"line_number":82,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":83,"context_line":"        self._verify_notification("}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_5efda538","line":80,"range":{"start_line":80,"start_character":12,"end_line":80,"end_character":24},"updated":"2017-05-30 02:52:29.000000000","message":"Add \"\u0027id\u0027: aggregate[\u0027id\u0027]\" like line 87.","commit_id":"cb07dd827c617621f7c670c3ffe2b4df34a3e201"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d50fb420a604b9a5168a8abc66d34bdbcba4bff0","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self._verify_notification("},{"line_number":79,"context_line":"            \u0027aggregate-updatemetadata-start\u0027,"},{"line_number":80,"context_line":"            replacements\u003d{"},{"line_number":81,"context_line":"                \u0027uuid\u0027: self.ANY},"},{"line_number":82,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":83,"context_line":"        self._verify_notification("},{"line_number":84,"context_line":"            \u0027aggregate-updatemetadata-end\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_1ef04d67","line":81,"range":{"start_line":81,"start_character":24,"end_line":81,"end_character":32},"updated":"2017-05-30 02:52:29.000000000","message":"aggregate[\u0027uuid\u0027]","commit_id":"cb07dd827c617621f7c670c3ffe2b4df34a3e201"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d50fb420a604b9a5168a8abc66d34bdbcba4bff0","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self._verify_notification("},{"line_number":84,"context_line":"            \u0027aggregate-updatemetadata-end\u0027,"},{"line_number":85,"context_line":"            replacements\u003d{"},{"line_number":86,"context_line":"                \u0027uuid\u0027: self.ANY,"},{"line_number":87,"context_line":"                \u0027id\u0027: aggregate[\u0027id\u0027]},"},{"line_number":88,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[3])"}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_beee0186","line":86,"range":{"start_line":86,"start_character":24,"end_line":86,"end_character":32},"updated":"2017-05-30 02:52:29.000000000","message":"ditto","commit_id":"cb07dd827c617621f7c670c3ffe2b4df34a3e201"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2e024a1b1a71f1bfb4f85a553859cda95d364335","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            replacements\u003d{"},{"line_number":79,"context_line":"                \u0027uuid\u0027: aggregate[\u0027uuid\u0027],"},{"line_number":80,"context_line":"                \u0027id\u0027: aggregate[\u0027id\u0027]},"},{"line_number":81,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":82,"context_line":"        self._verify_notification("},{"line_number":83,"context_line":"            \u0027aggregate-update_metadata-end\u0027,"},{"line_number":84,"context_line":"            replacements\u003d{"}],"source_content_type":"text/x-python","patch_set":16,"id":"1f1a1f67_5f44e346","line":81,"range":{"start_line":81,"start_character":57,"end_line":81,"end_character":58},"updated":"2017-07-18 16:47:20.000000000","message":"If you reset the fake_notifier at L72 then you don\u0027t have to worry about the aggregate create notifications. Not having any notification to skip here would make the test a bit more stable","commit_id":"622762dc1f6d25a3b12b6bb740fb3116fff11c9b"}],"nova/tests/unit/notifications/objects/test_notification.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"92fe12328d4e833ff9e1d5dd4bcf3b6d547507f1","unresolved":false,"context_lines":[{"line_number":369,"context_line":"    \u0027AggregatePayload\u0027: \u00271.1-1eb9adcc4440d8627de6ec37c6398746\u0027,"},{"line_number":370,"context_line":"    \u0027AuditPeriodPayload\u0027: \u00271.0-2b429dd307b8374636703b843fa3f9cb\u0027,"},{"line_number":371,"context_line":"    \u0027BandwidthPayload\u0027: \u00271.0-ee2616a7690ab78406842a2b68e34130\u0027,"},{"line_number":372,"context_line":"    \u0027EventType\u0027: \u00271.5-a2b81d44dbc9a0b99e8874d4bfaac678\u0027,"},{"line_number":373,"context_line":"    \u0027ExceptionNotification\u0027: \u00271.0-a73147b93b520ff0061865849d3dfa56\u0027,"},{"line_number":374,"context_line":"    \u0027ExceptionPayload\u0027: \u00271.0-27db46ee34cd97e39f2643ed92ad0cc5\u0027,"},{"line_number":375,"context_line":"    \u0027FlavorNotification\u0027: \u00271.0-a73147b93b520ff0061865849d3dfa56\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f231b9d_5e0a7e1f","line":372,"updated":"2017-06-19 09:36:04.000000000","message":"You have to bump the version of EventType","commit_id":"b63bdef8eada8dcaa1e9fc675b554ae45d8653c7"}]}
