From 2a620fa5ed3557184d50495e998ae83e6102c2b7 Mon Sep 17 00:00:00 2001 From: kishan Date: Wed, 9 Nov 2011 15:02:05 +0530 Subject: [PATCH] bug 10286: When router API fails, throw error instead of returning null status 10286: resolved fixed --- .../router/VirtualNetworkApplianceManagerImpl.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 14b98711f72..b3197d88060 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -494,7 +494,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian UserVO user = _userDao.findById(UserContext.current().getCallerUserId()); - return stop(router, forced, user, account); + VirtualRouter virtualRouter = stop(router, forced, user, account); + if(virtualRouter == null){ + throw new CloudRuntimeException("Failed to stop router with id " + routerId); + } + return virtualRouter; } @DB @@ -2178,7 +2182,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian @Override @ActionEvent(eventType = EventTypes.EVENT_ROUTER_START, eventDescription = "starting router Vm", async = true) public VirtualRouter startRouter(long id) throws ResourceUnavailableException, InsufficientCapacityException, ConcurrentOperationException{ - return startRouter(id, true); + return startRouter(id, true); } @Override @@ -2221,7 +2225,11 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian } else { params.put(Param.RestartNetwork, false); } - return startVirtualRouter(router, user, caller, params); + VirtualRouter virtualRouter = startVirtualRouter(router, user, caller, params); + if(virtualRouter == null){ + throw new CloudRuntimeException("Failed to start router with id " + routerId); + } + return virtualRouter; } private void createAssociateIPCommands(final VirtualRouter router, final List ips, Commands cmds, long vmId) {