)]}'
{"neutron/db/db_base_plugin_v2.py":[{"author":{"_account_id":7183,"name":"Xu Han Peng","email":"xuhanp@linux.vnet.ibm.com","username":"xuhanp"},"change_message_id":"97f17e84f3f962244c193d0274d5c901fd83e646","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"            except n_exc.PortNotFound:"},{"line_number":1420,"context_line":"                # Don\u0027t raise if something else concurrently deleted the port"},{"line_number":1421,"context_line":"                LOG.debug(_(\"Ignoring PortNotFound when deleting port \u0027%s\u0027. \""},{"line_number":1422,"context_line":"                            \"The port has already been deleted.\"), id)"},{"line_number":1423,"context_line":""},{"line_number":1424,"context_line":"            if port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DHCP:"},{"line_number":1425,"context_line":"                # Raise port in use only if the port has IP addresses"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAWH%2F%2BEhs%3D","line":1422,"updated":"2014-03-31 05:44:22.000000000","message":"when the port is not found, the port should not be deleted again at line 1438. So at least should return here?","commit_id":"0f98bcede53e2064a4e62370c170759645c47e45"},{"author":{"_account_id":7183,"name":"Xu Han Peng","email":"xuhanp@linux.vnet.ibm.com","username":"xuhanp"},"change_message_id":"97f17e84f3f962244c193d0274d5c901fd83e646","unresolved":false,"context_lines":[{"line_number":1424,"context_line":"            if port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DHCP:"},{"line_number":1425,"context_line":"                # Raise port in use only if the port has IP addresses"},{"line_number":1426,"context_line":"                # Otherwise it\u0027s a stale port that can be removed"},{"line_number":1427,"context_line":"                fixed_ips \u003d port[\u0027fixed_ips\u0027]"},{"line_number":1428,"context_line":"                if fixed_ips:"},{"line_number":1429,"context_line":"                    raise n_exc.DhcpPortInUse("},{"line_number":1430,"context_line":"                        port_id\u003did, device_owner\u003dport[\u0027device_owner\u0027])"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAWH%2F%2BEhU%3D","line":1427,"updated":"2014-03-31 05:44:22.000000000","message":"fixed_ips can be list which is not None but has no elements. Maybe port[\u0027device_id\u0027] is better to be used to check in use?","commit_id":"0f98bcede53e2064a4e62370c170759645c47e45"}],"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":7183,"name":"Xu Han Peng","email":"xuhanp@linux.vnet.ibm.com","username":"xuhanp"},"change_message_id":"97f17e84f3f962244c193d0274d5c901fd83e646","unresolved":false,"context_lines":[{"line_number":694,"context_line":"        return updated_port"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    def delete_port(self, context, id, l3_port_check\u003dTrue,"},{"line_number":697,"context_line":"                    dhcp_port_check\u003dTrue):"},{"line_number":698,"context_line":"        LOG.debug(_(\"Deleting port %s\"), id)"},{"line_number":699,"context_line":"        l3plugin \u003d manager.NeutronManager.get_service_plugins().get("},{"line_number":700,"context_line":"            service_constants.L3_ROUTER_NAT)"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAAWH%2F%2BEhM%3D","line":697,"updated":"2014-03-31 05:44:22.000000000","message":"What about setting the default value of dhcp_port_check to False, so the change at line 596 and 497 can be avoided?","commit_id":"0f98bcede53e2064a4e62370c170759645c47e45"}],"neutron/tests/unit/test_db_plugin.py":[{"author":{"_account_id":7141,"name":"Sylvain Afchain","email":"safchain@redhat.com","username":"sylvainA"},"change_message_id":"696ae1099568c90929b4e2432e330db18dfde6fc","unresolved":false,"context_lines":[{"line_number":1678,"context_line":"                self._show(\u0027ports\u0027, p2[\u0027port\u0027][\u0027id\u0027],"},{"line_number":1679,"context_line":"                           expected_code\u003dwebob.exc.HTTPNotFound.code)"},{"line_number":1680,"context_line":"                self._show(\u0027ports\u0027, p3[\u0027port\u0027][\u0027id\u0027],"},{"line_number":1681,"context_line":"                           expected_code\u003dwebob.exc.HTTPOk.code)"},{"line_number":1682,"context_line":"                plugin.delete_ports_by_device_id(ctx, \u0027owner2\u0027,"},{"line_number":1683,"context_line":"                                                 network_id)"},{"line_number":1684,"context_line":"                self._show(\u0027ports\u0027, p3[\u0027port\u0027][\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAWH%2F%2B9h0%3D","line":1681,"updated":"2014-03-21 11:09:20.000000000","message":"This patch looks quite good, but I don\u0027t see any test that covers the fix ?","commit_id":"6f0fd766233d3f7083bd5eb7474b580c8039781c"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"7e03d00ddae9830bae8b788fcc65a6241fb2e874","unresolved":false,"context_lines":[{"line_number":1678,"context_line":"                self._show(\u0027ports\u0027, p2[\u0027port\u0027][\u0027id\u0027],"},{"line_number":1679,"context_line":"                           expected_code\u003dwebob.exc.HTTPNotFound.code)"},{"line_number":1680,"context_line":"                self._show(\u0027ports\u0027, p3[\u0027port\u0027][\u0027id\u0027],"},{"line_number":1681,"context_line":"                           expected_code\u003dwebob.exc.HTTPOk.code)"},{"line_number":1682,"context_line":"                plugin.delete_ports_by_device_id(ctx, \u0027owner2\u0027,"},{"line_number":1683,"context_line":"                                                 network_id)"},{"line_number":1684,"context_line":"                self._show(\u0027ports\u0027, p3[\u0027port\u0027][\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAWH%2F%2B8rc%3D","line":1681,"in_reply_to":"AAAAWH%2F%2B9h0%3D","updated":"2014-03-21 13:18:13.000000000","message":"Done","commit_id":"6f0fd766233d3f7083bd5eb7474b580c8039781c"}]}
