)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"8b2384e404cb02e2821176a0ee564b1141650dd1","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"The API test for revision numbers and ports was updated to"},{"line_number":26,"context_line":"expect the correct behavior."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Change-Id: I49d2d79a57d484fd98b8969f511895e607b7f128"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a8ec9b2_eed8dd81","line":27,"updated":"2016-09-21 06:49:34.000000000","message":"do we need file a bug to track it?","commit_id":"1c6afff4d0a02d9cb19e5bf97432d33e6cfc9a07"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"0764d81ed200608f86f49782b997d26c7e3449ab","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"The API test for revision numbers and ports was updated to"},{"line_number":26,"context_line":"expect the correct behavior."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Change-Id: I49d2d79a57d484fd98b8969f511895e607b7f128"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a8ec9b2_8fae7096","line":27,"in_reply_to":"7a8ec9b2_eed8dd81","updated":"2016-09-21 08:32:14.000000000","message":"Done","commit_id":"1c6afff4d0a02d9cb19e5bf97432d33e6cfc9a07"}],"neutron/db/allowedaddresspairs_db.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"b7de1765d55cd98325e95d15c92428e4d6407081","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # dict extend function after an update will screw this expectation"},{"line_number":81,"context_line":"        # up without this logic"},{"line_number":82,"context_line":"        existing \u003d port_res.get(addr_pair.ADDRESS_PAIRS) or []"},{"line_number":83,"context_line":"        if existing and sorted(allowed_address_pairs) \u003d\u003d sorted(existing):"},{"line_number":84,"context_line":"            return port_res"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        port_res[addr_pair.ADDRESS_PAIRS] \u003d allowed_address_pairs"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a8bc5a2_b4a3cd9d","line":83,"updated":"2016-09-22 18:26:21.000000000","message":"these don\u0027t work in py3","commit_id":"c2c9807fac9eed8c7d7fe9b78ff703df90c23706"}],"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f86162699d37179dc6e319da072f4f6d496bb211","unresolved":false,"context_lines":[{"line_number":1422,"context_line":"            need_port_update_notify |\u003d self._update_extra_dhcp_opts_on_port("},{"line_number":1423,"context_line":"                context, id, port, updated_port)"},{"line_number":1424,"context_line":"            levels \u003d db.get_binding_levels(session, id, binding.host)"},{"line_number":1425,"context_line":"            # one of the operations above may have altered the model call"},{"line_number":1426,"context_line":"            # _make_port_dict again to ensure latest state is reflected so mech"},{"line_number":1427,"context_line":"            # drivers, callback handlers, and the API caller see latest state."},{"line_number":1428,"context_line":"            # We expire here to reflect changed relationships on the obj."}],"source_content_type":"text/x-python","patch_set":10,"id":"5a8bc5a2_ace99d1c","line":1425,"range":{"start_line":1425,"start_character":68,"end_line":1425,"end_character":69},"updated":"2016-09-23 10:50:14.000000000","message":"there should have probably been some punctuation mark (semicolon?)","commit_id":"cb79d09e249a47d362706b2f4d64bd58c97c344f"}],"neutron/tests/unit/plugins/ml2/test_plugin.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f86162699d37179dc6e319da072f4f6d496bb211","unresolved":false,"context_lines":[{"line_number":1139,"context_line":"                               events.AFTER_UPDATE)"},{"line_number":1140,"context_line":"            plugin.update_port_status("},{"line_number":1141,"context_line":"                ctx, port[\u0027id\u0027],"},{"line_number":1142,"context_line":"                constants.PORT_STATUS_ACTIVE, host\u003dHOST)"},{"line_number":1143,"context_line":"            self.assertGreater(updated_ports[0][\u0027revision_number\u0027],"},{"line_number":1144,"context_line":"                               port[\u0027revision_number\u0027])"},{"line_number":1145,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a8bc5a2_8c19417c","line":1142,"range":{"start_line":1142,"start_character":46,"end_line":1142,"end_character":55},"updated":"2016-09-23 10:50:14.000000000","message":"nit: that argument seems to be unneeded, because the status update is the one that triggers the revision bump, while host does not seem to affect the test flow.","commit_id":"cb79d09e249a47d362706b2f4d64bd58c97c344f"}]}
