mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
Bug 14536 - DB exception while trying to delete physical network
Reviewed-By: Sheng Yang Changes: Added proper cleanup for virtual router elements.
This commit is contained in:
parent
297ec02dea
commit
1b6e38f3d5
@ -4901,7 +4901,19 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
|
||||
_dcDao.deleteVnet(physicalNetworkId);
|
||||
|
||||
// delete service providers
|
||||
_pNSPDao.deleteProviders(physicalNetworkId);
|
||||
List<PhysicalNetworkServiceProviderVO> providers = _pNSPDao.listBy(physicalNetworkId);
|
||||
|
||||
for(PhysicalNetworkServiceProviderVO provider : providers){
|
||||
try {
|
||||
deleteNetworkServiceProvider(provider.getId());
|
||||
}catch (ResourceUnavailableException e) {
|
||||
s_logger.warn("Unable to complete destroy of the physical network provider: " + provider.getProviderName() + ", id: "+ provider.getId(), e);
|
||||
return false;
|
||||
} catch (ConcurrentOperationException e) {
|
||||
s_logger.warn("Unable to complete destroy of the physical network provider: " + provider.getProviderName() + ", id: "+ provider.getId(), e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// delete traffic types
|
||||
_pNTrafficTypeDao.deleteTrafficTypes(physicalNetworkId);
|
||||
|
||||
@ -59,7 +59,6 @@ import com.cloud.network.lb.LoadBalancingRule;
|
||||
import com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy;
|
||||
import com.cloud.network.lb.LoadBalancingRulesManager;
|
||||
import com.cloud.network.router.VirtualNetworkApplianceManager;
|
||||
import com.cloud.network.router.VirtualRouter;
|
||||
import com.cloud.network.router.VirtualRouter.Role;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
import com.cloud.network.rules.LbStickinessMethod;
|
||||
@ -672,6 +671,8 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
for (DomainRouterVO router : routers) {
|
||||
result = result && (_routerMgr.destroyRouter(router.getId()) != null);
|
||||
}
|
||||
_vrProviderDao.remove(elementId);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user