)]}'
{"neutron/db/extraroute_db.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"081ef587bd6c6db994b13403a59288b843fc81a0","unresolved":true,"context_lines":[{"line_number":144,"context_line":"              self)._confirm_router_interface_not_in_use("},{"line_number":145,"context_line":"            context, router_id, subnet_id, subnet)"},{"line_number":146,"context_line":"        subnet \u003d subnet if subnet else \\"},{"line_number":147,"context_line":"            self._core_plugin.get_subnet(context, subnet_id)"},{"line_number":148,"context_line":"        subnet_cidr \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"},{"line_number":149,"context_line":"        extra_routes \u003d self._get_extra_routes_by_router_id(context, router_id)"},{"line_number":150,"context_line":"        for route in extra_routes:"}],"source_content_type":"text/x-python","patch_set":3,"id":"4d1e9f47_1c0ee759","line":147,"updated":"2020-12-03 18:08:11.000000000","message":"See my comment in the other file, I think this can all go away.","commit_id":"6011234ea4d791fc39a7628f952d424425d58aed"}],"neutron/db/l3_db.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"081ef587bd6c6db994b13403a59288b843fc81a0","unresolved":true,"context_lines":[{"line_number":898,"context_line":"                                           subnet\u003dNone):"},{"line_number":899,"context_line":"        context \u003d n_ctx.get_admin_context()"},{"line_number":900,"context_line":"        subnet \u003d subnet if subnet else \\"},{"line_number":901,"context_line":"            self._core_plugin.get_subnet(context, subnet_id)"},{"line_number":902,"context_line":"        subnet_cidr \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":"        fip_objs \u003d l3_obj.FloatingIP.get_objects(context, router_id\u003drouter_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"b7b771cc_b884909d","line":901,"updated":"2020-12-03 18:08:11.000000000","message":"This doesn\u0027t make sense to me.  The caller is doing a get_subnet() on L964 and would have thrown an exception before this if it was invalid.  See below.","commit_id":"6011234ea4d791fc39a7628f952d424425d58aed"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"7b64ca393436a8250d67367b08d1414956c5c817","unresolved":false,"context_lines":[{"line_number":898,"context_line":"                                           subnet\u003dNone):"},{"line_number":899,"context_line":"        context \u003d n_ctx.get_admin_context()"},{"line_number":900,"context_line":"        subnet \u003d subnet if subnet else \\"},{"line_number":901,"context_line":"            self._core_plugin.get_subnet(context, subnet_id)"},{"line_number":902,"context_line":"        subnet_cidr \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":"        fip_objs \u003d l3_obj.FloatingIP.get_objects(context, router_id\u003drouter_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"a0d43e2b_124c238b","line":901,"in_reply_to":"b7b771cc_b884909d","updated":"2020-12-10 14:11:35.000000000","message":"Done","commit_id":"6011234ea4d791fc39a7628f952d424425d58aed"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"081ef587bd6c6db994b13403a59288b843fc81a0","unresolved":true,"context_lines":[{"line_number":920,"context_line":"                    router_id\u003drouter_id, subnet_id\u003dsubnet_id)"},{"line_number":921,"context_line":""},{"line_number":922,"context_line":"    def _confirm_router_interface_not_in_use(self, context, router_id,"},{"line_number":923,"context_line":"                                             subnet_id, subnet\u003dNone):"},{"line_number":924,"context_line":"        try:"},{"line_number":925,"context_line":"            registry.publish("},{"line_number":926,"context_line":"                resources.ROUTER_INTERFACE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"e6ebf8a2_4352628b","line":923,"range":{"start_line":923,"start_character":56,"end_line":923,"end_character":67},"updated":"2020-12-03 18:08:11.000000000","message":"Shouldn\u0027t need a default value here","commit_id":"6011234ea4d791fc39a7628f952d424425d58aed"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"7b64ca393436a8250d67367b08d1414956c5c817","unresolved":false,"context_lines":[{"line_number":920,"context_line":"                    router_id\u003drouter_id, subnet_id\u003dsubnet_id)"},{"line_number":921,"context_line":""},{"line_number":922,"context_line":"    def _confirm_router_interface_not_in_use(self, context, router_id,"},{"line_number":923,"context_line":"                                             subnet_id, subnet\u003dNone):"},{"line_number":924,"context_line":"        try:"},{"line_number":925,"context_line":"            registry.publish("},{"line_number":926,"context_line":"                resources.ROUTER_INTERFACE,"}],"source_content_type":"text/x-python","patch_set":3,"id":"82272f00_38c3c115","line":923,"range":{"start_line":923,"start_character":56,"end_line":923,"end_character":67},"in_reply_to":"e6ebf8a2_4352628b","updated":"2020-12-10 14:11:35.000000000","message":"Done","commit_id":"6011234ea4d791fc39a7628f952d424425d58aed"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"081ef587bd6c6db994b13403a59288b843fc81a0","unresolved":true,"context_lines":[{"line_number":963,"context_line":"                                    router_id, subnet_id, owner):"},{"line_number":964,"context_line":"        subnet \u003d self._core_plugin.get_subnet(context, subnet_id)"},{"line_number":965,"context_line":"        ports \u003d port_obj.Port.get_ports_by_router_and_network("},{"line_number":966,"context_line":"            context, router_id, owner, subnet[\u0027network_id\u0027])"},{"line_number":967,"context_line":"        if ports:"},{"line_number":968,"context_line":"            self._confirm_router_interface_not_in_use("},{"line_number":969,"context_line":"                context, router_id, subnet_id, subnet)"}],"source_content_type":"text/x-python","patch_set":3,"id":"d2c463aa_1b9b63a4","line":966,"updated":"2020-12-03 18:08:11.000000000","message":"If subnet is None here this is going to throw an exception, so for the call below it must be valid.","commit_id":"6011234ea4d791fc39a7628f952d424425d58aed"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e256da7b14b6f4b3a9d20c3fa3eefa090e787f34","unresolved":true,"context_lines":[{"line_number":894,"context_line":"            context, port_id, {\u0027port\u0027: {\u0027device_id\u0027: router_id,"},{"line_number":895,"context_line":"                                        \u0027device_owner\u0027: device_owner}})"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"    def _check_router_interface_not_in_use(self, router_id, subnet_id,"},{"line_number":898,"context_line":"                                           subnet):"},{"line_number":899,"context_line":"        context \u003d n_ctx.get_admin_context()"},{"line_number":900,"context_line":"        subnet_cidr \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"fe3c7e63_3056bd6b","line":897,"range":{"start_line":897,"start_character":60,"end_line":897,"end_character":69},"updated":"2020-12-14 09:24:49.000000000","message":"so this isn\u0027t necessary anymore, right?","commit_id":"713b71999f345ee8f7919a7c82d74b5cf878c08c"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"c3fecea2118eb9a2368ed88fab608fd52a75ea09","unresolved":false,"context_lines":[{"line_number":894,"context_line":"            context, port_id, {\u0027port\u0027: {\u0027device_id\u0027: router_id,"},{"line_number":895,"context_line":"                                        \u0027device_owner\u0027: device_owner}})"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"    def _check_router_interface_not_in_use(self, router_id, subnet_id,"},{"line_number":898,"context_line":"                                           subnet):"},{"line_number":899,"context_line":"        context \u003d n_ctx.get_admin_context()"},{"line_number":900,"context_line":"        subnet_cidr \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"a60934b8_b9c1f119","line":897,"range":{"start_line":897,"start_character":60,"end_line":897,"end_character":69},"in_reply_to":"fe3c7e63_3056bd6b","updated":"2020-12-16 12:31:40.000000000","message":"Done","commit_id":"713b71999f345ee8f7919a7c82d74b5cf878c08c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e256da7b14b6f4b3a9d20c3fa3eefa090e787f34","unresolved":true,"context_lines":[{"line_number":949,"context_line":"            raise n_exc.SubnetMismatchForPort("},{"line_number":950,"context_line":"                port_id\u003dport_id, subnet_id\u003dsubnet_id)"},{"line_number":951,"context_line":"        subnets \u003d [self._core_plugin.get_subnet(context, port_subnet_id)"},{"line_number":952,"context_line":"                   for port_subnet_id in port_subnet_ids]"},{"line_number":953,"context_line":"        for subnet in subnets:"},{"line_number":954,"context_line":"            self._confirm_router_interface_not_in_use("},{"line_number":955,"context_line":"                    context, router_id, subnet[\u0027id\u0027], subnet)"}],"source_content_type":"text/x-python","patch_set":4,"id":"8f54b15f_650841ab","line":952,"updated":"2020-12-14 09:24:49.000000000","message":"maybe You could change also here to use get_objects() instead of get_object() to get all subnets from db in one call?","commit_id":"713b71999f345ee8f7919a7c82d74b5cf878c08c"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"c3fecea2118eb9a2368ed88fab608fd52a75ea09","unresolved":false,"context_lines":[{"line_number":949,"context_line":"            raise n_exc.SubnetMismatchForPort("},{"line_number":950,"context_line":"                port_id\u003dport_id, subnet_id\u003dsubnet_id)"},{"line_number":951,"context_line":"        subnets \u003d [self._core_plugin.get_subnet(context, port_subnet_id)"},{"line_number":952,"context_line":"                   for port_subnet_id in port_subnet_ids]"},{"line_number":953,"context_line":"        for subnet in subnets:"},{"line_number":954,"context_line":"            self._confirm_router_interface_not_in_use("},{"line_number":955,"context_line":"                    context, router_id, subnet[\u0027id\u0027], subnet)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f38d5ab_9b245195","line":952,"in_reply_to":"8f54b15f_650841ab","updated":"2020-12-16 12:31:40.000000000","message":"Done","commit_id":"713b71999f345ee8f7919a7c82d74b5cf878c08c"}]}
