From 76367db8fb1aef0f58a9359c193548985def3d92 Mon Sep 17 00:00:00 2001 From: Nicolas Vazquez Date: Thu, 7 Jun 2018 02:53:35 -0300 Subject: [PATCH] L2: add default L2 network offerings (#2683) Adds default L2 network offerings. Adds check for existing default L2 networks. --- .../com/cloud/offering/NetworkOffering.java | 4 ++ .../orchestration/NetworkOrchestrator.java | 2 + .../offerings/dao/NetworkOfferingDao.java | 5 ++ .../offerings/dao/NetworkOfferingDaoImpl.java | 48 +++++++++++++++++++ .../cloud/server/ConfigurationServerImpl.java | 2 + 5 files changed, 61 insertions(+) diff --git a/api/src/com/cloud/offering/NetworkOffering.java b/api/src/com/cloud/offering/NetworkOffering.java index 0c8378908e6..33b165bfa29 100644 --- a/api/src/com/cloud/offering/NetworkOffering.java +++ b/api/src/com/cloud/offering/NetworkOffering.java @@ -57,6 +57,10 @@ public interface NetworkOffering extends InfrastructureEntity, InternalIdentity, public final static String DefaultIsolatedNetworkOfferingForVpcNetworks = "DefaultIsolatedNetworkOfferingForVpcNetworks"; public final static String DefaultIsolatedNetworkOfferingForVpcNetworksNoLB = "DefaultIsolatedNetworkOfferingForVpcNetworksNoLB"; public final static String DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB = "DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB"; + public final static String DefaultL2NetworkOffering = "DefaultL2NetworkOffering"; + public final static String DefaultL2NetworkOfferingVlan = "DefaultL2NetworkOfferingVlan"; + public final static String DefaultL2NetworkOfferingConfigDrive = "DefaultL2NetworkOfferingConfigDrive"; + public final static String DefaultL2NetworkOfferingConfigDriveVlan = "DefaultL2NetworkOfferingConfigDriveVlan"; /** * @return name for the network offering. diff --git a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index 8f436467812..b5aca5d9f10 100644 --- a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -561,6 +561,8 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra offering.setDedicatedLB(false); _networkOfferingDao.update(offering.getId(), offering); } + + _networkOfferingDao.persistDefaultL2NetworkOfferings(); } }); diff --git a/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDao.java b/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDao.java index 19beddd1001..238a191bd77 100644 --- a/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDao.java +++ b/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDao.java @@ -64,4 +64,9 @@ public interface NetworkOfferingDao extends GenericDao List listNetworkOfferingID(); boolean isUsingServicePackage(String uuid); + + /** + * Create default L2 network offerings + */ + void persistDefaultL2NetworkOfferings(); } diff --git a/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java b/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java index b0cf0fe320b..5c40795a56b 100644 --- a/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java +++ b/engine/schema/src/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java @@ -23,6 +23,7 @@ import java.util.Map; import javax.inject.Inject; import javax.persistence.EntityExistsException; +import com.cloud.offerings.NetworkOfferingServiceMapVO; import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Component; @@ -52,6 +53,8 @@ public class NetworkOfferingDaoImpl extends GenericDaoBase UpgradeSearch; @Inject NetworkOfferingDetailsDao _detailsDao; + @Inject + private NetworkOfferingServiceMapDao networkOfferingServiceMapDao; protected NetworkOfferingDaoImpl() { super(); @@ -221,4 +224,49 @@ public class NetworkOfferingDaoImpl extends GenericDaoBase