From 94f93a60c3688e8c36efa24eea0d9f81b9f70d40 Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Wed, 10 Aug 2011 15:02:08 -0700 Subject: [PATCH] Clean up restart Network --- .../src/com/cloud/network/NetworkManagerImpl.java | 14 ++++++++++++-- .../network/element/VirtualRouterElement.java | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index afda95deb47..67afcdbe2b8 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -2409,13 +2409,23 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag s_logger.debug("Restarting network elements for the network " + network); for (NetworkElement element : _networkElements) { // stop and start the network element - if (!element.restart(network, context)) { - s_logger.warn("Failed to restart network element(s) as a part of network id" + networkId + " restart"); + try { + boolean supported = element.restart(network, context); + if (!supported) { + s_logger.trace("Network element(s) " + element.getName() + " doesn't support network id" + networkId + " restart"); + } + } catch (Exception ex) { + s_logger.warn("Failed to restart network element" + element.getName() + " as a part of network id" + networkId + " restart", ex); success = false; } + } } + if (!success) { + return false; + } + // associate all ip addresses if (!applyIpAssociations(network, false)) { s_logger.warn("Failed to apply ip addresses as a part of network id" + networkId + " restart"); diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index f4520fd5c48..8d4e443ba9c 100644 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -152,7 +152,7 @@ public class VirtualRouterElement extends DhcpElement implements NetworkElement, long host_id = 0; for (DomainRouterVO router : routers) { host_id = router.getHostId(); - /* TODO it's not completely safe to ignore these failure, but we would try to push on now */ + /* FIXME it's not completely safe to ignore these failure, but we would try to push on now */ if (_routerMgr.stopRouter(router.getId(), false) == null) { s_logger.warn("Failed to stop virtual router element " + router + " as a part of network " + network + " restart"); }