)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"f97f24204c6c0be7d523d631e868cb4bb3f8cedc","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Maintaining the context is important for keeping the request ID"},{"line_number":10,"context_line":"and subsequently santity while debugging. The resource_type is"},{"line_number":11,"context_line":"also helpful to have since a function could be subscribed for"},{"line_number":12,"context_line":"multiple resources."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I06c8302951c99039b532acd9f2a68d5b989fdab5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a71b18c_fec8eeaa","line":11,"updated":"2016-12-07 14:48:54.000000000","message":"I did that intentionally to avoid people having functions that subscribe multiple resources %) -evil me-","commit_id":"f92e1efa23f9741d2e79a353eb9f54fa8376bc54"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c7ad03e9c3092e6cefb642baf472e2869a0f3019","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Pass context and resource_type in RPC callback"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Maintaining the context is important for keeping the request ID"},{"line_number":10,"context_line":"and subsequently santity while debugging. The resource_type is"},{"line_number":11,"context_line":"also helpful to have since a function could be subscribed for"},{"line_number":12,"context_line":"multiple resources."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a71b18c_f4ae4d80","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":24},"updated":"2016-12-07 15:37:43.000000000","message":"sanity?","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"23274363fce8450adfc1a6936284ae55286bac22","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Pass context and resource_type in RPC callback"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Maintaining the context is important for keeping the request ID"},{"line_number":10,"context_line":"and subsequently santity while debugging. The resource_type is"},{"line_number":11,"context_line":"also helpful to have since a function could be subscribed for"},{"line_number":12,"context_line":"multiple resources."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a71b18c_6f218ab4","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":24},"in_reply_to":"3a71b18c_cfdb7e20","updated":"2016-12-07 15:54:29.000000000","message":"I get it. But is it \u0027santity\u0027? Or is there a pun I miss?","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8f70f8bf308b52762b671ba378a7700ae29e4402","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Pass context and resource_type in RPC callback"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Maintaining the context is important for keeping the request ID"},{"line_number":10,"context_line":"and subsequently santity while debugging. The resource_type is"},{"line_number":11,"context_line":"also helpful to have since a function could be subscribed for"},{"line_number":12,"context_line":"multiple resources."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a71b18c_cfdb7e20","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":24},"in_reply_to":"3a71b18c_f4ae4d80","updated":"2016-12-07 15:51:36.000000000","message":"without request_ids, it\u0027s hard to root cause why certain things arrived at the agents, which drives me insane :)","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"b1b0c1e543a3854dc4b5ccff0a390883db17e7ed","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Pass context and resource_type in RPC callback"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Maintaining the context is important for keeping the request ID"},{"line_number":10,"context_line":"and subsequently santity while debugging. The resource_type is"},{"line_number":11,"context_line":"also helpful to have since a function could be subscribed for"},{"line_number":12,"context_line":"multiple resources."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a71b18c_5a12c359","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":24},"updated":"2016-12-07 17:58:43.000000000","message":"am I dumb, or there is indeed no such word?","commit_id":"05d6f9a007f41e1d7e2ec910ffecc876030b0ff1"}],"neutron/api/rpc/callbacks/consumer/registry.py":[{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"c4386c4d6d11c8c31db10b6d3359bafd7c7d6578","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    _get_manager().unregister(callback, resource_type)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def push(context, resource_type, resource_list, event_type):"},{"line_number":31,"context_line":"    \"\"\"Push resource list into all registered callbacks for the event type.\"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    callbacks \u003d _get_manager().get_callbacks(resource_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_3ee6e616","line":30,"updated":"2016-12-07 14:52:17.000000000","message":"It\u0027s ok to change this here, and you don\u0027t need to provide bw compat for this if that\u0027s what you meant on IRC, since this is only called by the RPC layer as we receive a fanout.","commit_id":"f92e1efa23f9741d2e79a353eb9f54fa8376bc54"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"c4386c4d6d11c8c31db10b6d3359bafd7c7d6578","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        try:"},{"line_number":36,"context_line":"            callback(context, resource_type, resource_list, event_type)"},{"line_number":37,"context_line":"        except TypeError:"},{"line_number":38,"context_line":"            # backwards compat for callback listeners that don\u0027t take"},{"line_number":39,"context_line":"            # context and resource_type"},{"line_number":40,"context_line":"            callback(resource_list, event_type)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_beb836ea","line":38,"updated":"2016-12-07 14:52:17.000000000","message":"shall we may be log a warning ?","commit_id":"f92e1efa23f9741d2e79a353eb9f54fa8376bc54"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c7ad03e9c3092e6cefb642baf472e2869a0f3019","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    message\u003d\"This will be removed in the future. Please register callbacks \""},{"line_number":26,"context_line":"            \"using the \u0027register\u0027 method in this model and adjust the \""},{"line_number":27,"context_line":"            \"callback to accept the context and resource type as arguments.\","},{"line_number":28,"context_line":"    version\u003d\"ocata\""},{"line_number":29,"context_line":")"},{"line_number":30,"context_line":"def subscribe(callback, resource_type):"},{"line_number":31,"context_line":"    # temporary hack to differentiate between callback types until the"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_343e052a","line":28,"range":{"start_line":28,"start_character":13,"end_line":28,"end_character":14},"updated":"2016-12-07 15:37:43.000000000","message":"don\u0027t we usually use upper case?","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8f70f8bf308b52762b671ba378a7700ae29e4402","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    message\u003d\"This will be removed in the future. Please register callbacks \""},{"line_number":26,"context_line":"            \"using the \u0027register\u0027 method in this model and adjust the \""},{"line_number":27,"context_line":"            \"callback to accept the context and resource type as arguments.\","},{"line_number":28,"context_line":"    version\u003d\"ocata\""},{"line_number":29,"context_line":")"},{"line_number":30,"context_line":"def subscribe(callback, resource_type):"},{"line_number":31,"context_line":"    # temporary hack to differentiate between callback types until the"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_6fcd0a5d","line":28,"range":{"start_line":28,"start_character":13,"end_line":28,"end_character":14},"in_reply_to":"3a71b18c_343e052a","updated":"2016-12-07 15:51:36.000000000","message":"Done","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"970c3938ae05827856408c8e42f1fc522f83734f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"def subscribe(callback, resource_type):"},{"line_number":31,"context_line":"    # temporary hack to differentiate between callback types until the"},{"line_number":32,"context_line":"    # \u0027subscribe\u0027 method is removed"},{"line_number":33,"context_line":"    setattr(callback, \u0027_ACCEPTS_CONTEXT\u0027, False)"},{"line_number":34,"context_line":"    _get_manager().register(callback, resource_type)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_4af75c8c","line":33,"updated":"2016-12-07 16:05:52.000000000","message":"neat! :)","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"}],"neutron/api/rpc/handlers/resources_rpc.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"7365bcc2d948965c44dfc27f324bdcb2a539e751","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    @oslo_messaging.expected_exceptions(rpc_exc.CallbackNotFound)"},{"line_number":256,"context_line":"    def push(self, context, **kwargs):"},{"line_number":257,"context_line":"        \"\"\"Push receiver, will always receive resources of the same type.\"\"\""},{"line_number":258,"context_line":"        # TODO(mangelajo): accept single \u0027resource\u0027 parameter for backwards"},{"line_number":259,"context_line":"        #                  compatibility during Newton, remove in Ocata"},{"line_number":260,"context_line":"        resource_list \u003d ([kwargs[\u0027resource\u0027]] if \u0027resource\u0027 in kwargs else"},{"line_number":261,"context_line":"                         kwargs[\u0027resource_list\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_8a5414cb","line":258,"updated":"2016-12-07 15:58:08.000000000","message":"that\u0027s the code to kill if you want to get rid of the failing test case.","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"970c3938ae05827856408c8e42f1fc522f83734f","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    @oslo_messaging.expected_exceptions(rpc_exc.CallbackNotFound)"},{"line_number":256,"context_line":"    def push(self, context, **kwargs):"},{"line_number":257,"context_line":"        \"\"\"Push receiver, will always receive resources of the same type.\"\"\""},{"line_number":258,"context_line":"        # TODO(mangelajo): accept single \u0027resource\u0027 parameter for backwards"},{"line_number":259,"context_line":"        #                  compatibility during Newton, remove in Ocata"},{"line_number":260,"context_line":"        resource_list \u003d ([kwargs[\u0027resource\u0027]] if \u0027resource\u0027 in kwargs else"},{"line_number":261,"context_line":"                         kwargs[\u0027resource_list\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_8ae414ad","line":258,"in_reply_to":"3a71b18c_8a5414cb","updated":"2016-12-07 16:05:52.000000000","message":"Oh, Adding me a task item to kill this (if you don\u0027t now).","commit_id":"db3d055a8264a4ba33f6014e97c95ade52d4710e"}],"neutron/services/trunk/drivers/linuxbridge/agent/driver.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"5b016af7c76eb407781de765b375fe053a018296","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def handle_subports(self, context, resource_type, subports, event_type):"},{"line_number":69,"context_line":"        \"\"\"Subport data model change from the server.\"\"\""},{"line_number":70,"context_line":"        context \u003d n_ctx.get_admin_context()"},{"line_number":71,"context_line":"        affected_trunks \u003d set()"},{"line_number":72,"context_line":"        if event_type \u003d\u003d events.DELETED:"},{"line_number":73,"context_line":"            method \u003d self._tapi.delete_trunk_subport"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_1b4be3b1","line":70,"updated":"2016-12-08 00:35:00.000000000","message":"is this needed?","commit_id":"2aedfd1abe042fdf6e3125a98f691864236345f9"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"c1488be11eadb5d2b2f5445e9b62e422d82ccd28","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def handle_subports(self, context, resource_type, subports, event_type):"},{"line_number":69,"context_line":"        \"\"\"Subport data model change from the server.\"\"\""},{"line_number":70,"context_line":"        context \u003d n_ctx.get_admin_context()"},{"line_number":71,"context_line":"        affected_trunks \u003d set()"},{"line_number":72,"context_line":"        if event_type \u003d\u003d events.DELETED:"},{"line_number":73,"context_line":"            method \u003d self._tapi.delete_trunk_subport"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_0048b52c","line":70,"in_reply_to":"3a71b18c_1b4be3b1","updated":"2016-12-08 14:03:52.000000000","message":"Done","commit_id":"2aedfd1abe042fdf6e3125a98f691864236345f9"}],"neutron/tests/unit/api/rpc/handlers/test_resources_rpc.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c7ad03e9c3092e6cefb642baf472e2869a0f3019","unresolved":false,"context_lines":[{"line_number":290,"context_line":"                                              self.resource_objs,"},{"line_number":291,"context_line":"                                              TEST_EVENT)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    @mock.patch.object(resources_rpc.cons_registry, \u0027push\u0027)"},{"line_number":294,"context_line":"    def test_push_mitaka_backwardscompat(self, reg_push_mock):"},{"line_number":295,"context_line":"        #TODO(mangelajo) remove in Ocata, since the \u0027resource\u0027 parameter"},{"line_number":296,"context_line":"        #                is just for backwards compatibility with Mitaka"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_f4e64daf","side":"PARENT","line":293,"updated":"2016-12-07 15:37:43.000000000","message":"hm, the code that the test targets (in rpc handler) is still in place, so why do you kill it?","commit_id":"f448cccabb4a71bed884c163eb7d6e9e6ed0cc08"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"970c3938ae05827856408c8e42f1fc522f83734f","unresolved":false,"context_lines":[{"line_number":290,"context_line":"                                              self.resource_objs,"},{"line_number":291,"context_line":"                                              TEST_EVENT)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    @mock.patch.object(resources_rpc.cons_registry, \u0027push\u0027)"},{"line_number":294,"context_line":"    def test_push_mitaka_backwardscompat(self, reg_push_mock):"},{"line_number":295,"context_line":"        #TODO(mangelajo) remove in Ocata, since the \u0027resource\u0027 parameter"},{"line_number":296,"context_line":"        #                is just for backwards compatibility with Mitaka"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_2aba206f","side":"PARENT","line":293,"in_reply_to":"3a71b18c_af02c209","updated":"2016-12-07 16:05:52.000000000","message":"exterminaaaaaaaate ;)","commit_id":"f448cccabb4a71bed884c163eb7d6e9e6ed0cc08"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"23274363fce8450adfc1a6936284ae55286bac22","unresolved":false,"context_lines":[{"line_number":290,"context_line":"                                              self.resource_objs,"},{"line_number":291,"context_line":"                                              TEST_EVENT)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    @mock.patch.object(resources_rpc.cons_registry, \u0027push\u0027)"},{"line_number":294,"context_line":"    def test_push_mitaka_backwardscompat(self, reg_push_mock):"},{"line_number":295,"context_line":"        #TODO(mangelajo) remove in Ocata, since the \u0027resource\u0027 parameter"},{"line_number":296,"context_line":"        #                is just for backwards compatibility with Mitaka"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_af02c209","side":"PARENT","line":293,"in_reply_to":"3a71b18c_af4562b4","updated":"2016-12-07 15:54:29.000000000","message":"You could first remove the code under test (with the test), then have your patch on top. :)","commit_id":"f448cccabb4a71bed884c163eb7d6e9e6ed0cc08"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8f70f8bf308b52762b671ba378a7700ae29e4402","unresolved":false,"context_lines":[{"line_number":290,"context_line":"                                              self.resource_objs,"},{"line_number":291,"context_line":"                                              TEST_EVENT)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    @mock.patch.object(resources_rpc.cons_registry, \u0027push\u0027)"},{"line_number":294,"context_line":"    def test_push_mitaka_backwardscompat(self, reg_push_mock):"},{"line_number":295,"context_line":"        #TODO(mangelajo) remove in Ocata, since the \u0027resource\u0027 parameter"},{"line_number":296,"context_line":"        #                is just for backwards compatibility with Mitaka"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a71b18c_af4562b4","side":"PARENT","line":293,"in_reply_to":"3a71b18c_f4e64daf","updated":"2016-12-07 15:51:36.000000000","message":"was just following the TODO since that was a test that needed to be updated. I\u0027ll leave it and fix it.","commit_id":"f448cccabb4a71bed884c163eb7d6e9e6ed0cc08"}]}
