@Override public boolean removePort(String uuid) { if (!portExists(uuid)) { return false; } NeutronPort port = getPort(uuid); portDB.remove(uuid); INeutronNetworkCRUD networkCRUD = NeutronCRUDInterfaces.getINeutronNetworkCRUD(this); INeutronSubnetCRUD systemCRUD = NeutronCRUDInterfaces.getINeutronSubnetCRUD(this); NeutronNetwork network = networkCRUD.getNetwork(port.getNetworkUUID()); network.removePort(port); Iterator<Neutron_IPs> fixedIPIterator = port.getFixedIPs().iterator(); while (fixedIPIterator.hasNext()) { Neutron_IPs ip = fixedIPIterator.next(); NeutronSubnet subnet = systemCRUD.getSubnet(ip.getSubnetUUID()); if (!ip.getIpAddress().equals(subnet.getGatewayIP())) { subnet.releaseIP(ip.getIpAddress()); } else { subnet.resetGatewayIPAllocated(); } subnet.removePort(port); } return true; }