diff --git a/api/src/main/java/com/cloud/offering/NetworkOffering.java b/api/src/main/java/com/cloud/offering/NetworkOffering.java index 0c8378908e6..33b165bfa29 100644 --- a/api/src/main/java/com/cloud/offering/NetworkOffering.java +++ b/api/src/main/java/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/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index 8f436467812..b5aca5d9f10 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 @@ -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/main/java/com/cloud/offerings/dao/NetworkOfferingDao.java b/engine/schema/src/main/java/com/cloud/offerings/dao/NetworkOfferingDao.java index 19beddd1001..238a191bd77 100644 --- a/engine/schema/src/main/java/com/cloud/offerings/dao/NetworkOfferingDao.java +++ b/engine/schema/src/main/java/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/main/java/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java b/engine/schema/src/main/java/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java index b0cf0fe320b..5c40795a56b 100644 --- a/engine/schema/src/main/java/com/cloud/offerings/dao/NetworkOfferingDaoImpl.java +++ b/engine/schema/src/main/java/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