)]}'
{"neutron/agent/dhcp/agent.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9d2f1c51f9711a9bc23fa00c9afb8fd78d17a457","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            if (isinstance(e, oslo_messaging.RemoteError) and"},{"line_number":177,"context_line":"                    e.exc_type \u003d\u003d \u0027NetworkNotFound\u0027 or"},{"line_number":178,"context_line":"                    isinstance(e, exceptions.NetworkNotFound)):"},{"line_number":179,"context_line":"                LOG.debug(\"Network %s has been deleted or removed.\","},{"line_number":180,"context_line":"                          network.id)"},{"line_number":181,"context_line":"            else:"},{"line_number":182,"context_line":"                LOG.exception(\u0027Unable to %(action)s dhcp for %(net_id)s.\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"bfb3d3c7_76498089","line":179,"range":{"start_line":179,"start_character":55,"end_line":179,"end_character":66},"updated":"2019-05-21 15:29:45.000000000","message":"What\u0027s the different between ``deleted`` and ``removed``?","commit_id":"a779a53e39ac0387b17f45f7ee06b91853646769"}],"neutron/api/rpc/handlers/dhcp_rpc.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6e6a3d58efd2990685721d0481a50794db16f20b","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            if (old_port[\u0027device_id\u0027] !\u003d"},{"line_number":294,"context_line":"                    constants.DEVICE_ID_RESERVED_DHCP_PORT and"},{"line_number":295,"context_line":"                old_port[\u0027device_id\u0027] !\u003d"},{"line_number":296,"context_line":"                    utils.get_dhcp_agent_device_id(network_id, host)):"},{"line_number":297,"context_line":"                return"},{"line_number":298,"context_line":"             if not self._is_dhcp_agent_hosting_network(plugin, context, host,"},{"line_number":299,"context_line":"                                                        network_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_ab8ef5cd","line":296,"updated":"2019-05-16 19:30:09.000000000","message":"These two being true used to raise and now they don\u0027t, that doesn\u0027t look right.","commit_id":"da66dc3ec107b6e916f1998ffe27bd5e2e92b8f7"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"2175c973e550f3a9f47a5200b3f362ba2435b90b","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            if (old_port[\u0027device_id\u0027] !\u003d"},{"line_number":294,"context_line":"                    constants.DEVICE_ID_RESERVED_DHCP_PORT and"},{"line_number":295,"context_line":"                old_port[\u0027device_id\u0027] !\u003d"},{"line_number":296,"context_line":"                    utils.get_dhcp_agent_device_id(network_id, host)):"},{"line_number":297,"context_line":"                return"},{"line_number":298,"context_line":"             if not self._is_dhcp_agent_hosting_network(plugin, context, host,"},{"line_number":299,"context_line":"                                                        network_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_c4a9badf","line":296,"in_reply_to":"bfb3d3c7_ab8ef5cd","updated":"2019-05-20 01:45:04.000000000","message":"Yes, they did solve the race condition issue, but I think to raise DhcpPortInUse Exception is not necessary.","commit_id":"da66dc3ec107b6e916f1998ffe27bd5e2e92b8f7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6e6a3d58efd2990685721d0481a50794db16f20b","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                    constants.DEVICE_ID_RESERVED_DHCP_PORT and"},{"line_number":295,"context_line":"                old_port[\u0027device_id\u0027] !\u003d"},{"line_number":296,"context_line":"                    utils.get_dhcp_agent_device_id(network_id, host)):"},{"line_number":297,"context_line":"                return"},{"line_number":298,"context_line":"             if not self._is_dhcp_agent_hosting_network(plugin, context, host,"},{"line_number":299,"context_line":"                                                        network_id):"},{"line_number":300,"context_line":"                raise exceptions.NetworkNotHostingByHost(network_id\u003dnetwork_id, host\u003dhost)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_0b3aa1e6","line":297,"updated":"2019-05-16 19:30:09.000000000","message":"to be consistent this should be return None as L310 or it should change, although that looks like it can be removed completely anyways","commit_id":"da66dc3ec107b6e916f1998ffe27bd5e2e92b8f7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6e6a3d58efd2990685721d0481a50794db16f20b","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                return"},{"line_number":298,"context_line":"             if not self._is_dhcp_agent_hosting_network(plugin, context, host,"},{"line_number":299,"context_line":"                                                        network_id):"},{"line_number":300,"context_line":"                raise exceptions.NetworkNotHostingByHost(network_id\u003dnetwork_id, host\u003dhost)"},{"line_number":301,"context_line":"            LOG.debug(\u0027Update dhcp port %(port)s \u0027"},{"line_number":302,"context_line":"                      \u0027from %(host)s.\u0027,"},{"line_number":303,"context_line":"                      {\u0027port\u0027: port,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_aba7d54f","line":300,"updated":"2019-05-16 19:30:09.000000000","message":"You can\u0027t use this new exception without a new version of neutron-lib being required in neutron.","commit_id":"da66dc3ec107b6e916f1998ffe27bd5e2e92b8f7"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"2175c973e550f3a9f47a5200b3f362ba2435b90b","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                return"},{"line_number":298,"context_line":"             if not self._is_dhcp_agent_hosting_network(plugin, context, host,"},{"line_number":299,"context_line":"                                                        network_id):"},{"line_number":300,"context_line":"                raise exceptions.NetworkNotHostingByHost(network_id\u003dnetwork_id, host\u003dhost)"},{"line_number":301,"context_line":"            LOG.debug(\u0027Update dhcp port %(port)s \u0027"},{"line_number":302,"context_line":"                      \u0027from %(host)s.\u0027,"},{"line_number":303,"context_line":"                      {\u0027port\u0027: port,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_a47da66f","line":300,"in_reply_to":"bfb3d3c7_aba7d54f","updated":"2019-05-20 01:45:04.000000000","message":"Yes, I will go to find out if there is an already existing Exception that suit here.","commit_id":"da66dc3ec107b6e916f1998ffe27bd5e2e92b8f7"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9d2f1c51f9711a9bc23fa00c9afb8fd78d17a457","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                    constants.DEVICE_ID_RESERVED_DHCP_PORT and"},{"line_number":296,"context_line":"                old_port[\u0027device_id\u0027] !\u003d"},{"line_number":297,"context_line":"                    utils.get_dhcp_agent_device_id(network_id, host)):"},{"line_number":298,"context_line":"                return None"},{"line_number":299,"context_line":"            if not self._is_dhcp_agent_hosting_network(plugin, context, host,"},{"line_number":300,"context_line":"                                                       network_id):"},{"line_number":301,"context_line":"                LOG.warning(\"The DHCP agent %(host)s isn\u0027t hosting the \""}],"source_content_type":"text/x-python","patch_set":7,"id":"bfb3d3c7_f9ba4308","line":298,"range":{"start_line":298,"start_character":16,"end_line":298,"end_character":22},"updated":"2019-05-21 15:29:45.000000000","message":"Directly return is enough, maybe you can also remove ``None`` from Line 314.","commit_id":"a779a53e39ac0387b17f45f7ee06b91853646769"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"9d2f1c51f9711a9bc23fa00c9afb8fd78d17a457","unresolved":false,"context_lines":[{"line_number":298,"context_line":"                return None"},{"line_number":299,"context_line":"            if not self._is_dhcp_agent_hosting_network(plugin, context, host,"},{"line_number":300,"context_line":"                                                       network_id):"},{"line_number":301,"context_line":"                LOG.warning(\"The DHCP agent %(host)s isn\u0027t hosting the \""},{"line_number":302,"context_line":"                            \"network %(net_id)s.\", {\"host\": host,"},{"line_number":303,"context_line":"                                                    \"net_id\": network_id})"},{"line_number":304,"context_line":"                raise exceptions.NetworkNotFound(net_id\u003dnetwork_id)"},{"line_number":305,"context_line":"            LOG.debug(\u0027Update dhcp port %(port)s \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"bfb3d3c7_39469b23","line":302,"range":{"start_line":301,"start_character":29,"end_line":302,"end_character":48},"updated":"2019-05-21 15:29:45.000000000","message":"Maybe rephrase to the following or something similar:\n\"\nThe DHCP agent on %(host)s does not host the network %(net_id)s\n\"","commit_id":"a779a53e39ac0387b17f45f7ee06b91853646769"}]}
