Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 09414F7E9 for ; Tue, 16 Apr 2013 18:34:22 +0000 (UTC) Received: (qmail 5006 invoked by uid 500); 16 Apr 2013 18:34:09 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 4901 invoked by uid 500); 16 Apr 2013 18:34:09 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 3102 invoked by uid 99); 16 Apr 2013 18:34:07 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Apr 2013 18:34:07 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 2B74C1FAC0; Tue, 16 Apr 2013 18:34:07 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: alena1108@apache.org To: commits@cloudstack.apache.org Date: Tue, 16 Apr 2013 18:34:35 -0000 Message-Id: In-Reply-To: <34ec31dfbac6410bb190d7586f5a30a1@git.apache.org> References: <34ec31dfbac6410bb190d7586f5a30a1@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [30/46] git commit: updated refs/heads/internallb to b7709b8 Internal LB: 1) Added network_offering_details DB table and corresponding VO/DAO objects. Change createNetworkOffering web services api to accept the map of key/value pairs as details. 2) Allow to have multiple providers for the same service for the network to support the case when LB service can have separate providers for Internal LB and Public LB Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a4fc1d7d Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a4fc1d7d Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a4fc1d7d Branch: refs/heads/internallb Commit: a4fc1d7d65191da6a49bce9fa0a64ce6e46ac85d Parents: 4530ceb Author: Alena Prokharchyk Authored: Mon Apr 15 13:45:25 2013 -0700 Committer: Alena Prokharchyk Committed: Mon Apr 15 14:42:20 2013 -0700 ---------------------------------------------------------------------- api/src/com/cloud/network/NetworkModel.java | 2 + api/src/com/cloud/offering/NetworkOffering.java | 9 ++ .../admin/network/CreateNetworkOfferingCmd.java | 15 +++ .../api/command/admin/router/ListRoutersCmd.java | 2 +- .../api/response/NetworkOfferingResponse.java | 9 ++ client/tomcatconf/applicationContext.xml.in | 1 + server/src/com/cloud/api/ApiResponseHelper.java | 6 + .../cloud/configuration/ConfigurationManager.java | 8 +- .../configuration/ConfigurationManagerImpl.java | 41 ++++++- .../src/com/cloud/network/NetworkManagerImpl.java | 16 ++-- server/src/com/cloud/network/NetworkModelImpl.java | 8 ++ .../cloud/offerings/NetworkOfferingDetailsVO.java | 84 +++++++++++++++ .../src/com/cloud/offerings/NetworkOfferingVO.java | 25 ++++- .../cloud/offerings/dao/NetworkOfferingDao.java | 3 + .../offerings/dao/NetworkOfferingDaoImpl.java | 22 ++++ .../offerings/dao/NetworkOfferingDetailsDao.java | 28 +++++ .../dao/NetworkOfferingDetailsDaoImpl.java | 54 +++++++++ .../com/cloud/network/MockNetworkModelImpl.java | 6 + .../cloud/vpc/MockConfigurationManagerImpl.java | 2 +- .../test/com/cloud/vpc/MockNetworkModelImpl.java | 6 + .../networkoffering/CreateNetworkOfferingTest.java | 17 ++-- setup/db/db/schema-410to420.sql | 20 ++++- 22 files changed, 352 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a4fc1d7d/api/src/com/cloud/network/NetworkModel.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/network/NetworkModel.java b/api/src/com/cloud/network/NetworkModel.java index 6260d37..3c11bfa 100644 --- a/api/src/com/cloud/network/NetworkModel.java +++ b/api/src/com/cloud/network/NetworkModel.java @@ -268,4 +268,6 @@ public interface NetworkModel { List getUsedIpsInNetwork(Network network); + Map getNtwkOffDetails(long offId); + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a4fc1d7d/api/src/com/cloud/offering/NetworkOffering.java ---------------------------------------------------------------------- diff --git a/api/src/com/cloud/offering/NetworkOffering.java b/api/src/com/cloud/offering/NetworkOffering.java index bd14acd..4174359 100644 --- a/api/src/com/cloud/offering/NetworkOffering.java +++ b/api/src/com/cloud/offering/NetworkOffering.java @@ -16,6 +16,8 @@ // under the License. package com.cloud.offering; +import java.util.Map; + import org.apache.cloudstack.acl.InfrastructureEntity; import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; @@ -38,6 +40,11 @@ public interface NetworkOffering extends InfrastructureEntity, InternalIdentity, Disabled, Enabled } + + public enum Details { + internalLbProvider, + publicLbProvider + } public final static String SystemPublicNetwork = "System-Public-Network"; public final static String SystemControlNetwork = "System-Control-Network"; @@ -114,5 +121,7 @@ public interface NetworkOffering extends InfrastructureEntity, InternalIdentity, boolean isInline(); boolean getIsPersistent(); + + Map getDetails(); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a4fc1d7d/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java b/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java index b48bf9e..d247234 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java @@ -29,6 +29,7 @@ import org.apache.cloudstack.api.ApiErrorCode; import org.apache.cloudstack.api.BaseCmd; import org.apache.cloudstack.api.Parameter; import org.apache.cloudstack.api.ServerApiException; +import org.apache.cloudstack.api.BaseCmd.CommandType; import org.apache.cloudstack.api.response.NetworkOfferingResponse; import org.apache.cloudstack.api.response.ServiceOfferingResponse; @@ -95,6 +96,10 @@ public class CreateNetworkOfferingCmd extends BaseCmd { @Parameter(name=ApiConstants.IS_PERSISTENT, type=CommandType.BOOLEAN, description="true if network offering supports persistent networks; defaulted to false if not specified") private Boolean isPersistent; + + @Parameter(name=ApiConstants.DETAILS, type=CommandType.MAP, since="4.2.0", description="Template details in key/value pairs." + + " Supported keys are internallbprovider/publiclbprovider with service provider as a value") + protected Map details; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// @@ -215,6 +220,16 @@ public class CreateNetworkOfferingCmd extends BaseCmd { return capabilityMap; } + + public Map getDetails() { + if (details == null || details.isEmpty()) { + return null; + } + + Collection paramsCollection = details.values(); + Map params = (Map) (paramsCollection.toArray())[0]; + return params; + } ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a4fc1d7d/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java b/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java index 8420612..296d95c 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/router/ListRoutersCmd.java @@ -75,7 +75,7 @@ public class ListRoutersCmd extends BaseListProjectAndAccountResourcesCmd { @Parameter(name=ApiConstants.FOR_VPC, type=CommandType.BOOLEAN, description="if true is passed for this parameter, list only VPC routers") private Boolean forVpc; - @Parameter(name=ApiConstants.ROLE, type=CommandType.STRING, description="list routers by role (Virtual_router or Internal_lb_vm)") + @Parameter(name=ApiConstants.ROLE, type=CommandType.STRING, description="list routers by role (Virtual_router or Internal_lb_vm)", since="4.2.0") private String role; ///////////////////////////////////////////////////// http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a4fc1d7d/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java b/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java index b1dcd42..7a7e371 100644 --- a/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java +++ b/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java @@ -18,6 +18,7 @@ package org.apache.cloudstack.api.response; import java.util.Date; import java.util.List; +import java.util.Map; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseResponse; @@ -83,6 +84,10 @@ public class NetworkOfferingResponse extends BaseResponse { @SerializedName(ApiConstants.IS_PERSISTENT) @Param(description="true if network offering supports persistent networks, false otherwise") private Boolean isPersistent; + + @SerializedName(ApiConstants.DETAILS) @Param(description="additional key/value details tied with network offering", since="4.2.0") + private Map details; + public void setId(String id) { this.id = id; @@ -156,5 +161,9 @@ public class NetworkOfferingResponse extends BaseResponse { public void setIsPersistent(Boolean isPersistent) { this.isPersistent = isPersistent; } + + public void setDetails(Map details) { + this.details = details; + } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a4fc1d7d/client/tomcatconf/applicationContext.xml.in ---------------------------------------------------------------------- diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index 7963071..c75e4dd 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -365,6 +365,7 @@ +