diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java index b627335d58a..076ebaf7492 100644 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java @@ -73,6 +73,8 @@ public interface VirtualNetworkApplianceManager extends Manager { boolean getRouterStatistics(long vmId, Map netStats, Map diskStats); boolean rebootRouter(long routerId); + + VirtualRouter startRouter(long routerId) throws ResourceUnavailableException, InsufficientCapacityException, ConcurrentOperationException; /** * @param hostId get all of the virtual machine routers on a host. diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 24106dfe0a8..a236c0b1027 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -2278,14 +2278,14 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag } else if(restart) { -// FIXME if(_routerMgr.startRouter(vmInstance.getId(), eventId)==null) -// { -// String errorMsg = "There was an error starting the domain router id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"; -// s_logger.warn(errorMsg); -// primaryStorage.setStatus(Status.ErrorInMaintenance); -// _storagePoolDao.persist(primaryStorage); -// throw new CloudRuntimeException(errorMsg); -// } + if(_routerMgr.startRouter(vmInstance.getId()) == null) + { + String errorMsg = "There was an error starting the domain router id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"; + s_logger.warn(errorMsg); + primaryStorage.setStatus(Status.ErrorInMaintenance); + _storagePoolDao.persist(primaryStorage); + throw new CloudRuntimeException(errorMsg); + } } } }