From bfaa56d4710748ec5f6db09bfd1d1e77de393a4e Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Tue, 9 Aug 2011 15:02:41 -0700 Subject: [PATCH] Catch domr creation exception --- .../VirtualNetworkApplianceManagerImpl.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 5c38b04a177..283e63212d6 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -940,6 +940,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian } txn.commit(); + } catch (InsufficientCapacityException ex) { + s_logger.error("Fail to create the virtual router!", ex); + throw ex; + } catch (Exception ex) { + s_logger.error("Fail to create the virtual router due to error: " + ex.getMessage()); } finally { if (network != null) { _networkDao.releaseFromLockTable(network.getId()); @@ -1018,10 +1023,10 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian assert guestNetwork.getTrafficType() == TrafficType.Guest; List routers = findOrCreateVirtualRouters(guestNetwork, dest, owner, isRedundant); - List runningRouters = null; + List runningRouters = new ArrayList(); - if (routers != null) { - runningRouters = new ArrayList(); + if (routers == null) { + return runningRouters; } for (DomainRouterVO router : routers) { @@ -1118,7 +1123,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian } txn.commit(); - + } catch (InsufficientCapacityException ex) { + s_logger.error("Fail to create the virtual router!", ex); + throw ex; + } catch (Exception ex) { + s_logger.error("Fail to create the virtual router due to error: " + ex.getMessage()); } finally { if (network != null) { _networkDao.releaseFromLockTable(network.getId());