From c49cc27b1c7adfda54beabc4bb45dfdcb481ed0d Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Fri, 6 Jul 2012 14:53:23 -0700 Subject: [PATCH] VPC: CS-15485 - dont' create a record for VPC VR private gateway nic in router_network_ref; do it for regular guest networks only --- server/src/com/cloud/network/NetworkManagerImpl.java | 4 ++-- server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 45a93103eb4..7b1ab94e1e0 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -2085,12 +2085,12 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag List providersToImplement = getNetworkProviders(network.getId()); for (NetworkElement element : _networkElements) { if (providersToImplement.contains(element.getProvider())) { - if (!isProviderEnabledInPhysicalNetwork(getPhysicalNetworkId(network), "VirtualRouter")) { + if (!isProviderEnabledInPhysicalNetwork(getPhysicalNetworkId(network), element.getProvider().getName())) { // The physicalNetworkId will not get translated into a uuid by the reponse serializer, // because the serializer would look up the NetworkVO class's table and retrieve the // network id instead of the physical network id. // So just throw this exception as is. We may need to TBD by changing the serializer. - throw new CloudRuntimeException("Service provider " + element.getProvider().getName() + "either doesn't exist or is not enabled in physical network id: " + network.getPhysicalNetworkId()); + throw new CloudRuntimeException("Service provider " + element.getProvider().getName() + " either doesn't exist or is not enabled in physical network id: " + network.getPhysicalNetworkId()); } if (s_logger.isDebugEnabled()) { s_logger.debug("Asking " + element.getName() + " to implemenet " + network); diff --git a/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java b/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java index 176f03a253b..8ef5b233fac 100755 --- a/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java +++ b/server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java @@ -19,9 +19,11 @@ import javax.ejb.Local; import com.cloud.host.HostVO; import com.cloud.host.dao.HostDaoImpl; import com.cloud.network.Network; +import com.cloud.network.Networks.TrafficType; import com.cloud.network.RouterNetworkDaoImpl; import com.cloud.network.RouterNetworkVO; import com.cloud.network.router.VirtualRouter.Role; +import com.cloud.offering.NetworkOffering; import com.cloud.user.UserStatisticsVO; import com.cloud.user.dao.UserStatisticsDaoImpl; import com.cloud.utils.component.ComponentLocator; @@ -265,7 +267,10 @@ public class DomainRouterDaoImpl extends GenericDaoBase im // 2) add router to the network for (Network guestNetwork : guestNetworks) { if (!isRouterPartOfGuestNetwork(router.getId(), guestNetwork.getId())) { - addRouterToGuestNetwork(router, guestNetwork); + //add only when network is not private network + if (!(guestNetwork.getName() != NetworkOffering.SystemPrivateGatewayNetworkOffering)) { + addRouterToGuestNetwork(router, guestNetwork); + } } } }