)]}'
{"nova/compute/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e9685b4255e9f8e6de6b35e0dc3d1ff5859e6364","unresolved":false,"context_lines":[{"line_number":4259,"context_line":"    @wrap_exception()"},{"line_number":4260,"context_line":"    def delete_aggregate(self, context, aggregate_id):"},{"line_number":4261,"context_line":"        \"\"\"Deletes the aggregate.\"\"\""},{"line_number":4262,"context_line":"        aggregate_payload \u003d {\u0027aggregate_id\u0027: aggregate_id}"},{"line_number":4263,"context_line":"        compute_utils.notify_about_aggregate_update(context,"},{"line_number":4264,"context_line":"                                                    \"delete.start\","},{"line_number":4265,"context_line":"                                                    aggregate_payload)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_528d5030","line":4262,"updated":"2016-12-30 22:14:41.000000000","message":"I\u0027ll ask this here since I brought it up in the flavor delete notification patch, but the old notification for this used to just send the id, but new versioned notification sends the whole aggregate object. But with flavor delete, we aren\u0027t sending the whole flavor in the payload on delete, just the id:\n\nhttps://review.openstack.org/#/c/398171/16/doc/notification_samples/flavor-delete.json\n\nSo I\u0027m a bit confused about our lack of consistency and what we should be doing around delete notifications.","commit_id":"4d6a7b5b3016bf43a46c34cc920aaf65bf482199"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"df0da2395420b0415fffbb3a3b50d2366dd99c7f","unresolved":false,"context_lines":[{"line_number":4259,"context_line":"    @wrap_exception()"},{"line_number":4260,"context_line":"    def delete_aggregate(self, context, aggregate_id):"},{"line_number":4261,"context_line":"        \"\"\"Deletes the aggregate.\"\"\""},{"line_number":4262,"context_line":"        aggregate_payload \u003d {\u0027aggregate_id\u0027: aggregate_id}"},{"line_number":4263,"context_line":"        compute_utils.notify_about_aggregate_update(context,"},{"line_number":4264,"context_line":"                                                    \"delete.start\","},{"line_number":4265,"context_line":"                                                    aggregate_payload)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_816da406","line":4262,"in_reply_to":"ba5201f7_528d5030","updated":"2017-01-01 16:24:42.000000000","message":"The decision is to provide the full object payload on delete notifications as well:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2017-January/109508.html\n\nSo this patch is good.","commit_id":"4d6a7b5b3016bf43a46c34cc920aaf65bf482199"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"90df62d7150666216d66a103472fa8e9be2cbc6a","unresolved":false,"context_lines":[{"line_number":10632,"context_line":"        msg \u003d fake_notifier.NOTIFICATIONS[1]"},{"line_number":10633,"context_line":"        self.assertEqual(msg.event_type,"},{"line_number":10634,"context_line":"                         \u0027aggregate.create.end\u0027)"},{"line_number":10635,"context_line":"        mock_notify.assert_has_calls(["},{"line_number":10636,"context_line":"            mock.call(context\u003dself.context, aggregate\u003daggr,"},{"line_number":10637,"context_line":"                      action\u003d\u0027create\u0027, phase\u003d\u0027start\u0027),"},{"line_number":10638,"context_line":"            mock.call(context\u003dself.context, aggregate\u003daggr,"},{"line_number":10639,"context_line":"                      action\u003d\u0027create\u0027, phase\u003d\u0027end\u0027)])"},{"line_number":10640,"context_line":""},{"line_number":10641,"context_line":"        mock_notify.reset_mock()"},{"line_number":10642,"context_line":"        fake_notifier.NOTIFICATIONS \u003d []"},{"line_number":10643,"context_line":"        self.api.delete_aggregate(self.context, aggr.id)"},{"line_number":10644,"context_line":"        self.assertEqual(len(fake_notifier.NOTIFICATIONS), 2)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_af13795b","line":10641,"range":{"start_line":10635,"start_character":8,"end_line":10641,"end_character":32},"updated":"2016-12-30 18:16:03.000000000","message":"Shouldn\u0027t this be in the previous patch in the series?","commit_id":"4d6a7b5b3016bf43a46c34cc920aaf65bf482199"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ccb9168baf14bb26ee3d6c85bfa1b7169b95b757","unresolved":false,"context_lines":[{"line_number":10632,"context_line":"        msg \u003d fake_notifier.NOTIFICATIONS[1]"},{"line_number":10633,"context_line":"        self.assertEqual(msg.event_type,"},{"line_number":10634,"context_line":"                         \u0027aggregate.create.end\u0027)"},{"line_number":10635,"context_line":"        mock_notify.assert_has_calls(["},{"line_number":10636,"context_line":"            mock.call(context\u003dself.context, aggregate\u003daggr,"},{"line_number":10637,"context_line":"                      action\u003d\u0027create\u0027, phase\u003d\u0027start\u0027),"},{"line_number":10638,"context_line":"            mock.call(context\u003dself.context, aggregate\u003daggr,"},{"line_number":10639,"context_line":"                      action\u003d\u0027create\u0027, phase\u003d\u0027end\u0027)])"},{"line_number":10640,"context_line":""},{"line_number":10641,"context_line":"        mock_notify.reset_mock()"},{"line_number":10642,"context_line":"        fake_notifier.NOTIFICATIONS \u003d []"},{"line_number":10643,"context_line":"        self.api.delete_aggregate(self.context, aggr.id)"},{"line_number":10644,"context_line":"        self.assertEqual(len(fake_notifier.NOTIFICATIONS), 2)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_cfac3df0","line":10641,"range":{"start_line":10635,"start_character":8,"end_line":10641,"end_character":32},"in_reply_to":"ba5201f7_af13795b","updated":"2016-12-30 18:18:09.000000000","message":"Nevermind I guess the test method here is for deleting an aggregate. These assertions could live in that earlier patch, but I\u0027m OK with just doing it here too.","commit_id":"4d6a7b5b3016bf43a46c34cc920aaf65bf482199"}]}
