diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index 88caad3be9a..1979cb48e1b 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -469,7 +469,6 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra final Map> defaultSharedNetworkOfferingProviders = new HashMap>(); final Set defaultProviders = new HashSet(); final Set tungstenProvider = new HashSet<>(); - final Set nsxProvider = new HashSet<>(); defaultProviders.add(Network.Provider.VirtualRouter); defaultSharedNetworkOfferingProviders.put(Service.Dhcp, defaultProviders); @@ -503,13 +502,6 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra defaultTungstenSharedSGEnabledNetworkOfferingProviders.put(Service.UserData, tungstenProvider); defaultTungstenSharedSGEnabledNetworkOfferingProviders.put(Service.SecurityGroup, tungstenProvider); - nsxProvider.add(Provider.Nsx); - final Map> defaultNSXEnabledNetworkOfferingProviders = new HashMap<>(); - defaultNSXEnabledNetworkOfferingProviders.put(Service.Connectivity, nsxProvider); - defaultNSXEnabledNetworkOfferingProviders.put(Service.Dhcp, nsxProvider); - defaultNSXEnabledNetworkOfferingProviders.put(Service.Dns, nsxProvider); - defaultNSXEnabledNetworkOfferingProviders.put(Service.SourceNat, nsxProvider); - defaultNSXEnabledNetworkOfferingProviders.put(Service.UserData, defaultProviders); final Map> defaultIsolatedSourceNatEnabledNetworkOfferingProviders = new HashMap>(); defaultProviders.clear(); @@ -587,14 +579,6 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra defaultVPCOffProviders, true, Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, false, false, null, null, true, null); } - if (_networkOfferingDao.findByUniqueName(NetworkOffering.DEFAULT_NSX_OFFERING) == null) { - offering = _configMgr.createNetworkOffering(NetworkOffering.DEFAULT_NSX_OFFERING, "Offering for Nsx networks", - TrafficType.Guest, null, false, Availability.Optional, null, - defaultNSXEnabledNetworkOfferingProviders, true, Network.GuestType.Isolated, false, null, false, null, false, false, null, false, null, true, true, false, true, null, null, true, null); - offering.setState(NetworkOffering.State.Enabled); - _networkOfferingDao.update(offering.getId(), offering); - } - //#6 - default vpc offering with no LB service if (_networkOfferingDao.findByUniqueName(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworksNoLB) == null) { //remove LB service diff --git a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/resource/NsxResource.java b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/resource/NsxResource.java index f918b3f0e9f..f73348cfd3d 100644 --- a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/resource/NsxResource.java +++ b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/resource/NsxResource.java @@ -75,6 +75,8 @@ public class NsxResource implements ServerResource { private static final Logger LOGGER = Logger.getLogger(NsxResource.class); private static final String TIER_0_GATEWAY_PATH_PREFIX = "/infra/tier-0s/"; private static final String TIER_1_GATEWAY_PATH_PREFIX = "/infra/tier-1s/"; + + private static final String Tier_1_LOCALE_SERVICE_ID = "default"; private static final String TIER_1_RESOURCE_TYPE = "Tier1"; private static final String SEGMENT_RESOURCE_TYPE = "Segment"; @@ -258,15 +260,6 @@ public class NsxResource implements ServerResource { .setRouteAdvertisementTypes(List.of(TIER1_CONNECTED.name(), TIER1_IPSEC_LOCAL_ENDPOINT.name())) .setId(name) .setDisplayName(name) -// .setChildren( -// List.of(new ChildLocaleServices.Builder("ChildLocaleServices") -// .setLocaleServices( -// new com.vmware.nsx_policy.model.LocaleServices.Builder() -// .setEdgeClusterPath(localeServices.get(0).getEdgeClusterPath()) -// .setParentPath(TIER_1_GATEWAY_PATH_PREFIX + getTier1GatewayName(cmd)) -// .setResourceType("LocaleServices") -// .build() -// ).build())) .build(); try { tier1service.patch(name, tier1); @@ -288,7 +281,7 @@ public class NsxResource implements ServerResource { com.vmware.nsx_policy.infra.tier_1s.LocaleServices tier1LocalService = (com.vmware.nsx_policy.infra.tier_1s.LocaleServices) nsxService.apply(com.vmware.nsx_policy.infra.tier_1s.LocaleServices.class); com.vmware.nsx_policy.model.LocaleServices localeService = new com.vmware.nsx_policy.model.LocaleServices.Builder() .setEdgeClusterPath(localeServices.get(0).getEdgeClusterPath()).build(); - tier1LocalService.patch(tier1Id, "default", localeService); + tier1LocalService.patch(tier1Id, Tier_1_LOCALE_SERVICE_ID, localeService); return true; } catch (Error error) { throw new CloudRuntimeException(String.format("Failed to instantiate tier-1 gateway %s in edge cluster %s", tier1Id, edgeCluster)); @@ -297,8 +290,12 @@ public class NsxResource implements ServerResource { private Answer executeRequest(DeleteNsxTier1GatewayCommand cmd) { try { + String tier1Id = getTier1GatewayName(cmd); + com.vmware.nsx_policy.infra.tier_1s.LocaleServices localeService = (com.vmware.nsx_policy.infra.tier_1s.LocaleServices) + nsxService.apply(com.vmware.nsx_policy.infra.tier_1s.LocaleServices.class); + localeService.delete(tier1Id, Tier_1_LOCALE_SERVICE_ID); Tier1s tier1service = (Tier1s) nsxService.apply(Tier1s.class); - tier1service.delete(getTier1GatewayName(cmd)); + tier1service.delete(tier1Id); } catch (Exception e) { return new NsxAnswer(cmd, new CloudRuntimeException(e.getMessage())); } diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java index bd8e839cbea..49c08f5fc6b 100644 --- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java @@ -1000,9 +1000,10 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio defaultTungstenSharedSGNetworkOfferingProviders.put(Service.SecurityGroup, Provider.Tungsten); final Map defaultNSXNetworkOfferingProviders = new HashMap<>(); - //defaultNSXNetworkOfferingProviders.put(Service.Connectivity, Provider.Nsx); defaultNSXNetworkOfferingProviders.put(Service.Dhcp, Provider.Nsx); defaultNSXNetworkOfferingProviders.put(Service.Dns, Provider.Nsx); + defaultNSXNetworkOfferingProviders.put(Service.SourceNat, Provider.Nsx); + defaultNSXNetworkOfferingProviders.put(Service.UserData, Provider.VPCVirtualRouter); final Map defaultIsolatedSourceNatEnabledNetworkOfferingProviders = new HashMap(); defaultIsolatedSourceNatEnabledNetworkOfferingProviders.put(Service.Dhcp, Provider.VirtualRouter); @@ -1208,8 +1209,8 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio // Offering #9 - network offering for nsx provider NetworkOfferingVO defaultNSXNetworkOffering = new NetworkOfferingVO(NetworkOffering.DEFAULT_NSX_OFFERING, "Offering for NSX enabled networks", - TrafficType.Guest, false, true, null, null, true, Availability.Optional, null, GuestType.Isolated, true, true, false, false, false, false); - + TrafficType.Guest, false, false, null, null, true, Availability.Optional, null, GuestType.Isolated, false, true, false, false, false, true); + defaultNSXNetworkOffering.setForNsx(true); defaultNSXNetworkOffering.setState(NetworkOffering.State.Enabled); defaultNSXNetworkOffering = _networkOfferingDao.persistDefaultNetworkOffering(defaultNSXNetworkOffering);