)]}'
{"neutron/services/portforwarding/pf_plugin.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c83fcf3a25c403594a0b2112546ade81fedf0a91","unresolved":false,"context_lines":[{"line_number":48,"context_line":"from neutron.services.portforwarding import callbacks"},{"line_number":49,"context_line":"from neutron.services.portforwarding.common import exceptions as pf_exc"},{"line_number":50,"context_line":"from neutron.services.portforwarding.constants import PORT_FORWARDING"},{"line_number":51,"context_line":"from neutron.services.portforwarding.constants import PORT_FORWARDING_PLUGIN"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_3c58fb54","line":51,"updated":"2020-05-04 13:57:54.000000000","message":"nit: should just import constants (maybe import constants as pf_consts) and use pf_consts.* below.","commit_id":"142b822d6c978f86640c4d8817102d9778f51bdc"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"01152694a9a9f0cab79533ab7c14d6484cf369b4","unresolved":false,"context_lines":[{"line_number":48,"context_line":"from neutron.services.portforwarding import callbacks"},{"line_number":49,"context_line":"from neutron.services.portforwarding.common import exceptions as pf_exc"},{"line_number":50,"context_line":"from neutron.services.portforwarding.constants import PORT_FORWARDING"},{"line_number":51,"context_line":"from neutron.services.portforwarding.constants import PORT_FORWARDING_PLUGIN"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_b9fd380a","line":51,"in_reply_to":"1f493fa4_3c58fb54","updated":"2020-05-04 16:23:27.000000000","message":"Done","commit_id":"142b822d6c978f86640c4d8817102d9778f51bdc"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c83fcf3a25c403594a0b2112546ade81fedf0a91","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    if \u0027ovn-router\u0027 in cfg.CONF.service_plugins:"},{"line_number":68,"context_line":"        required_service_plugins \u003d [\u0027ovn-router\u0027]"},{"line_number":69,"context_line":"    else:"},{"line_number":70,"context_line":"        required_service_plugins \u003d [\u0027router\u0027]"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_27b46835","line":68,"updated":"2020-05-04 13:57:54.000000000","message":"Since this is a list should this be added to it?  Would we even support a case with both?","commit_id":"142b822d6c978f86640c4d8817102d9778f51bdc"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"01152694a9a9f0cab79533ab7c14d6484cf369b4","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    \"\"\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    if \u0027ovn-router\u0027 in cfg.CONF.service_plugins:"},{"line_number":68,"context_line":"        required_service_plugins \u003d [\u0027ovn-router\u0027]"},{"line_number":69,"context_line":"    else:"},{"line_number":70,"context_line":"        required_service_plugins \u003d [\u0027router\u0027]"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_d925a4ad","line":68,"in_reply_to":"1f493fa4_27b46835","updated":"2020-05-04 16:23:27.000000000","message":"I can\u0027t think of a case when both are supported at the same time, but agree that this logic should not care and build the list. Let me change that.","commit_id":"142b822d6c978f86640c4d8817102d9778f51bdc"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c83fcf3a25c403594a0b2112546ade81fedf0a91","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    if \u0027ovn-router\u0027 in cfg.CONF.service_plugins:"},{"line_number":68,"context_line":"        required_service_plugins \u003d [\u0027ovn-router\u0027]"},{"line_number":69,"context_line":"    else:"},{"line_number":70,"context_line":"        required_service_plugins \u003d [\u0027router\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    supported_extension_aliases \u003d [apidef.ALIAS,"},{"line_number":73,"context_line":"                                   expose_port_forwarding_in_fip.ALIAS,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_07684cb8","line":70,"range":{"start_line":70,"start_character":36,"end_line":70,"end_character":44},"updated":"2020-05-04 13:57:54.000000000","message":"nit: can be l3.ROUTER","commit_id":"142b822d6c978f86640c4d8817102d9778f51bdc"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"01152694a9a9f0cab79533ab7c14d6484cf369b4","unresolved":false,"context_lines":[{"line_number":67,"context_line":"    if \u0027ovn-router\u0027 in cfg.CONF.service_plugins:"},{"line_number":68,"context_line":"        required_service_plugins \u003d [\u0027ovn-router\u0027]"},{"line_number":69,"context_line":"    else:"},{"line_number":70,"context_line":"        required_service_plugins \u003d [\u0027router\u0027]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    supported_extension_aliases \u003d [apidef.ALIAS,"},{"line_number":73,"context_line":"                                   expose_port_forwarding_in_fip.ALIAS,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f493fa4_393ac8cc","line":70,"range":{"start_line":70,"start_character":36,"end_line":70,"end_character":44},"in_reply_to":"1f493fa4_07684cb8","updated":"2020-05-04 16:23:27.000000000","message":"Done","commit_id":"142b822d6c978f86640c4d8817102d9778f51bdc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6de629a39268cbe7585d0f50caa989d65f9e9c56","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    except cfg.NoSuchOptError:"},{"line_number":74,"context_line":"        pass"},{"line_number":75,"context_line":"    if not required_service_plugins:"},{"line_number":76,"context_line":"        required_service_plugins \u003d [l3.ROUTER]"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    supported_extension_aliases \u003d [apidef.ALIAS,"},{"line_number":79,"context_line":"                                   expose_port_forwarding_in_fip.ALIAS,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f493fa4_4bf88c7b","line":76,"updated":"2020-05-05 07:06:03.000000000","message":"maybe You could add some simple UT in neutron/tests/unit/services/portforwarding/test_pf_plugin.py to check if correct service plugins are choosen always.","commit_id":"eea521e0e1396ecc7263c9d572d17ef682a8a36b"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"40c7cc24971667ad9effaa5090e89f40c027d2bc","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    except cfg.NoSuchOptError:"},{"line_number":74,"context_line":"        pass"},{"line_number":75,"context_line":"    if not required_service_plugins:"},{"line_number":76,"context_line":"        required_service_plugins \u003d [l3.ROUTER]"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    supported_extension_aliases \u003d [apidef.ALIAS,"},{"line_number":79,"context_line":"                                   expose_port_forwarding_in_fip.ALIAS,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f493fa4_c12f5da5","line":76,"in_reply_to":"1f493fa4_4bf88c7b","updated":"2020-05-05 09:56:51.000000000","message":"Sounds good. Will do.","commit_id":"eea521e0e1396ecc7263c9d572d17ef682a8a36b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fe885c6735eb7f080079656dc3dd0dc90372fdcb","unresolved":false,"context_lines":[{"line_number":247,"context_line":"            registry.notify(pf_consts.PORT_FORWARDING, events.AFTER_DELETE,"},{"line_number":248,"context_line":"                            self,"},{"line_number":249,"context_line":"                            payload\u003dcallbacks.PortForwardingPayload(context,"},{"line_number":250,"context_line":"                                original_pf\u003dpf_obj))"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def _get_internal_ip_subnet(self, request_ip, fixed_ips):"},{"line_number":253,"context_line":"        request_ip \u003d netaddr.IPNetwork(request_ip)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_52f3fd9e","line":250,"updated":"2020-05-06 16:35:42.000000000","message":"A question on this - the push is sending a single message (a list), is it better to change this to also send a single message?  It would require all the receivers to handle it.","commit_id":"8b5fcdefcb3f51536263026ee91f2549f1db0686"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"b7a8016eec31be0fd4912f59382feb6820b15209","unresolved":false,"context_lines":[{"line_number":247,"context_line":"            registry.notify(pf_consts.PORT_FORWARDING, events.AFTER_DELETE,"},{"line_number":248,"context_line":"                            self,"},{"line_number":249,"context_line":"                            payload\u003dcallbacks.PortForwardingPayload(context,"},{"line_number":250,"context_line":"                                original_pf\u003dpf_obj))"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def _get_internal_ip_subnet(self, request_ip, fixed_ips):"},{"line_number":253,"context_line":"        request_ip \u003d netaddr.IPNetwork(request_ip)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_4bf691fb","line":250,"in_reply_to":"1f493fa4_52f3fd9e","updated":"2020-05-07 17:18:08.000000000","message":"Yes, we can modify it to send a list in all cases.","commit_id":"8b5fcdefcb3f51536263026ee91f2549f1db0686"}],"neutron/tests/unit/services/portforwarding/test_pf_plugin.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fe885c6735eb7f080079656dc3dd0dc90372fdcb","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        self.assertTrue(mock_update_objects.called)"},{"line_number":225,"context_line":"        self.assertTrue(pf_obj.create.called)"},{"line_number":226,"context_line":"        mock_push_api.assert_called_once_with("},{"line_number":227,"context_line":"            self.ctxt, mock.ANY, rpc_events.CREATED)"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        # Not update fip"},{"line_number":230,"context_line":"        pf_obj.reset_mock()"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_52c93d76","line":227,"updated":"2020-05-06 16:35:42.000000000","message":"So here we\u0027re verifying that the rpc event was pushed, I think we should add checks for the new registry messages we added as well.  Is that possible?","commit_id":"8b5fcdefcb3f51536263026ee91f2549f1db0686"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"b7a8016eec31be0fd4912f59382feb6820b15209","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        self.assertTrue(mock_update_objects.called)"},{"line_number":225,"context_line":"        self.assertTrue(pf_obj.create.called)"},{"line_number":226,"context_line":"        mock_push_api.assert_called_once_with("},{"line_number":227,"context_line":"            self.ctxt, mock.ANY, rpc_events.CREATED)"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        # Not update fip"},{"line_number":230,"context_line":"        pf_obj.reset_mock()"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_6ba54d04","line":227,"in_reply_to":"1f493fa4_52c93d76","updated":"2020-05-07 17:18:08.000000000","message":"yeah, I think so. Will do.","commit_id":"8b5fcdefcb3f51536263026ee91f2549f1db0686"}]}
