)]}'
{"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"88e8661d62c0a22841c906d877b5154cc6a4e68e","unresolved":false,"context_lines":[{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"    @utils.transaction_guard"},{"line_number":1557,"context_line":"    @db_api.retry_if_session_inactive(context_var_name\u003d\u0027plugin_context\u0027)"},{"line_number":1558,"context_line":"    def get_bound_port_contexts(self, plugin_context, dev_ids, host\u003dNone):"},{"line_number":1559,"context_line":"        result \u003d {}"},{"line_number":1560,"context_line":"        with db_api.context_manager.reader.using(plugin_context):"},{"line_number":1561,"context_line":"            dev_to_full_pids \u003d db.partial_port_ids_to_full_ids("}],"source_content_type":"text/x-python","patch_set":11,"id":"7ffa3b31_1a512e0f","line":1558,"updated":"2017-04-19 01:03:52.000000000","message":"Makes sense. The current name does sound kinda like multiple contexts for one port.","commit_id":"87bce8f8649b51135aca3b6ced2ccb6376a05465"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"a20001b9a7b01831d30be42f6758def47277753e","unresolved":false,"context_lines":[{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"    @utils.transaction_guard"},{"line_number":1557,"context_line":"    @db_api.retry_if_session_inactive(context_var_name\u003d\u0027plugin_context\u0027)"},{"line_number":1558,"context_line":"    def get_bound_port_contexts(self, plugin_context, dev_ids, host\u003dNone):"},{"line_number":1559,"context_line":"        result \u003d {}"},{"line_number":1560,"context_line":"        with db_api.context_manager.reader.using(plugin_context):"},{"line_number":1561,"context_line":"            dev_to_full_pids \u003d db.partial_port_ids_to_full_ids("}],"source_content_type":"text/x-python","patch_set":11,"id":"7ffa3b31_e45f0770","line":1558,"range":{"start_line":1558,"start_character":8,"end_line":1558,"end_character":31},"updated":"2017-04-18 22:56:36.000000000","message":"Nit: I would call it get_bound_ports_contexts. It reflects better what the method does: it applies to several ports, which is the whole point of the patch. But maybe it is because English is my second language ;-)","commit_id":"87bce8f8649b51135aca3b6ced2ccb6376a05465"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b0f3fd8c4875ae9666a6c421cf91c58691184369","unresolved":false,"context_lines":[{"line_number":893,"context_line":"                                                  filters\u003dnet_filters)"},{"line_number":894,"context_line":"        }"},{"line_number":895,"context_line":"        segments_by_netid \u003d segments_db.get_networks_segments("},{"line_number":896,"context_line":"            context, list(nets_by_netid.keys()))"},{"line_number":897,"context_line":"        netctxs_by_netid \u003d {"},{"line_number":898,"context_line":"            net_id: driver_context.NetworkContext("},{"line_number":899,"context_line":"                self, context, nets_by_netid[net_id],"}],"source_content_type":"text/x-python","patch_set":14,"id":"7ffa3b31_129b1566","line":896,"updated":"2017-04-20 16:05:02.000000000","message":"Ahh, this was the culprit","commit_id":"529da4e583aefe7640d8559987282f223f3ad06b"}],"neutron/plugins/ml2/rpc.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"e50c911c3fa0c4154db881f585bdf91a1cdaaf1b","unresolved":false,"context_lines":[{"line_number":339,"context_line":"class AgentNotifierApi(dvr_rpc.DVRAgentRpcApiMixin,"},{"line_number":340,"context_line":"                       sg_rpc.SecurityGroupAgentRpcApiMixin,"},{"line_number":341,"context_line":"                       type_tunnel.TunnelAgentRpcApiMixin):"},{"line_number":342,"context_line":"    \"\"\"Agent side of the openvswitch rpc API."},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    API version history:"},{"line_number":345,"context_line":"        1.0 - Initial version."}],"source_content_type":"text/x-python","patch_set":12,"id":"7ffa3b31_57df5d0c","line":342,"updated":"2017-04-20 09:40:05.000000000","message":"Depends on how generous you are with the interpretation. :P\nIt\u0027s definitely misleading because this is used in the server to send messages to the agents. Can you file a patch to update the comments separate from this one? This patch doesn\u0027t really change the RPC interface itself, just some internals.","commit_id":"a42549f111495493ee8eb3ec88ed8a54b9092c55"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"41a95dfbd902e3314e62141f9bb2c92478a3660e","unresolved":false,"context_lines":[{"line_number":339,"context_line":"class AgentNotifierApi(dvr_rpc.DVRAgentRpcApiMixin,"},{"line_number":340,"context_line":"                       sg_rpc.SecurityGroupAgentRpcApiMixin,"},{"line_number":341,"context_line":"                       type_tunnel.TunnelAgentRpcApiMixin):"},{"line_number":342,"context_line":"    \"\"\"Agent side of the openvswitch rpc API."},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    API version history:"},{"line_number":345,"context_line":"        1.0 - Initial version."}],"source_content_type":"text/x-python","patch_set":12,"id":"7ffa3b31_aeb41cd2","line":342,"range":{"start_line":342,"start_character":7,"end_line":342,"end_character":45},"updated":"2017-04-19 19:50:39.000000000","message":"Is this comment correct?\n\n1) AFAIK, this is how the plugin notifies the agent\n2) Doing a code search, I can see port_update, network_update, etc methods processing messages in the ovs, linuxbridge, sr-iov, etc agents\n\nAnd maybe we should also improve the comment in L45 above","commit_id":"a42549f111495493ee8eb3ec88ed8a54b9092c55"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"2558ff45d284b56f9850a02b093f8ffb47a8b1ae","unresolved":false,"context_lines":[{"line_number":339,"context_line":"class AgentNotifierApi(dvr_rpc.DVRAgentRpcApiMixin,"},{"line_number":340,"context_line":"                       sg_rpc.SecurityGroupAgentRpcApiMixin,"},{"line_number":341,"context_line":"                       type_tunnel.TunnelAgentRpcApiMixin):"},{"line_number":342,"context_line":"    \"\"\"Agent side of the openvswitch rpc API."},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    API version history:"},{"line_number":345,"context_line":"        1.0 - Initial version."}],"source_content_type":"text/x-python","patch_set":12,"id":"7ffa3b31_87a128fb","line":342,"in_reply_to":"7ffa3b31_57df5d0c","updated":"2017-04-20 14:26:01.000000000","message":"I didn\u0027t mean for you to change the docstring in this patchset. In reviewing it, I came across the docstring and just used this as a vehicle to ask your opinion. I will file a patch. Thanks :-)","commit_id":"a42549f111495493ee8eb3ec88ed8a54b9092c55"}],"neutron/tests/unit/plugins/ml2/test_port_binding.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"ad7eda0c96753fe4c20384cf07880e615b8cb216","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                                               cached_networks\u003dcached_networks)"},{"line_number":133,"context_line":"            self.assertFalse(self.plugin.get_network.called)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def test_get_bound_port_context_cache_miss(self):"},{"line_number":136,"context_line":"        ctx \u003d context.get_admin_context()"},{"line_number":137,"context_line":"        with self.port(name\u003d\u0027name\u0027) as port:"},{"line_number":138,"context_line":"            some_network \u003d {\u0027id\u0027: u\u00272ac23560-7638-44e2-9875-c1888b02af72\u0027}"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f044301_3ccee22c","side":"PARENT","line":135,"updated":"2017-05-12 03:35:28.000000000","message":"Yeah, as a follow-up that would be good. I wanted to make this as small as possible for backports.","commit_id":"55be865d9afd6fd56cdbb56458dd416428f59b0b"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"2b79fee8271f1c78e7de85ac7df07b98ae2d0685","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                                               cached_networks\u003dcached_networks)"},{"line_number":133,"context_line":"            self.assertFalse(self.plugin.get_network.called)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def test_get_bound_port_context_cache_miss(self):"},{"line_number":136,"context_line":"        ctx \u003d context.get_admin_context()"},{"line_number":137,"context_line":"        with self.port(name\u003d\u0027name\u0027) as port:"},{"line_number":138,"context_line":"            some_network \u003d {\u0027id\u0027: u\u00272ac23560-7638-44e2-9875-c1888b02af72\u0027}"}],"source_content_type":"text/x-python","patch_set":14,"id":"5ff73747_7c92d04d","side":"PARENT","line":135,"range":{"start_line":135,"start_character":8,"end_line":135,"end_character":46},"updated":"2017-05-02 15:49:57.000000000","message":"should we then delete cache logic from get_device_details() as well?","commit_id":"55be865d9afd6fd56cdbb56458dd416428f59b0b"}]}
