You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2015/05/18 06:24:50 UTC
[1/2] stratos git commit: fixing health statistics handling with
cluster instance as partition in CEP
Repository: stratos
Updated Branches:
refs/heads/master c3cbea15a -> cc0dbff6e
fixing health statistics handling with cluster instance as partition in CEP
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/0bd0538b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/0bd0538b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/0bd0538b
Branch: refs/heads/master
Commit: 0bd0538b51b3abcad5f70172cc684a430d6157fa
Parents: c3cbea1
Author: reka <rt...@gmail.com>
Authored: Fri May 15 15:58:07 2015 +0530
Committer: reka <rt...@gmail.com>
Committed: Mon May 18 09:53:35 2015 +0530
----------------------------------------------------------------------
extensions/cep/artifacts/executionplans/AverageHeathRequest.xml | 2 +-
.../cep/artifacts/executionplans/GradientOfHealthRequest.xml | 2 +-
.../artifacts/executionplans/SecondDerivativeOfHealthRequest.xml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/0bd0538b/extensions/cep/artifacts/executionplans/AverageHeathRequest.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/artifacts/executionplans/AverageHeathRequest.xml b/extensions/cep/artifacts/executionplans/AverageHeathRequest.xml
index 0326f05..b60a0bf 100644
--- a/extensions/cep/artifacts/executionplans/AverageHeathRequest.xml
+++ b/extensions/cep/artifacts/executionplans/AverageHeathRequest.xml
@@ -35,7 +35,7 @@
select cluster_id, cluster_instance_id, network_partition_id, member_id, partition_id insert into fault_message;
from health_avg_processsor
select cluster_id, cluster_instance_id, network_partition_id, member_id, partition_id, health_description, value,
- stratos:concat(cluster_id, '-' , network_partition_id) as health_grad_cluster_network
+ stratos:concat(cluster_id, '-' , cluster_instance_id) as health_grad_cluster_network
insert into health_avg_concatinator;
define partition health_avg_cluster_partition by health_avg_concatinator.health_grad_cluster_network;
define partition member_health_avg_cluster_partition by health_avg_processsor.member_id;
http://git-wip-us.apache.org/repos/asf/stratos/blob/0bd0538b/extensions/cep/artifacts/executionplans/GradientOfHealthRequest.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/artifacts/executionplans/GradientOfHealthRequest.xml b/extensions/cep/artifacts/executionplans/GradientOfHealthRequest.xml
index df6004c..fcbc24e 100644
--- a/extensions/cep/artifacts/executionplans/GradientOfHealthRequest.xml
+++ b/extensions/cep/artifacts/executionplans/GradientOfHealthRequest.xml
@@ -37,7 +37,7 @@
insert into fault_message;
from health_grad_processsor
select cluster_id, cluster_instance_id, network_partition_id, member_id, partition_id, health_description, value,
- stratos:concat(cluster_id, '-' , network_partition_id) as health_grad_cluster_network
+ stratos:concat(cluster_id, '-' , cluster_instance_id) as health_grad_cluster_network
insert into health_grad_concatinator;
define partition health_grad_cluster_partition by health_grad_concatinator.health_grad_cluster_network;
define partition member_health_grad_cluster_partition by health_grad_processsor.member_id;
http://git-wip-us.apache.org/repos/asf/stratos/blob/0bd0538b/extensions/cep/artifacts/executionplans/SecondDerivativeOfHealthRequest.xml
----------------------------------------------------------------------
diff --git a/extensions/cep/artifacts/executionplans/SecondDerivativeOfHealthRequest.xml b/extensions/cep/artifacts/executionplans/SecondDerivativeOfHealthRequest.xml
index b40b21e..0fa4a0a 100644
--- a/extensions/cep/artifacts/executionplans/SecondDerivativeOfHealthRequest.xml
+++ b/extensions/cep/artifacts/executionplans/SecondDerivativeOfHealthRequest.xml
@@ -33,7 +33,7 @@
<queryExpressions><![CDATA[
from health_second_der_request
select member_id, cluster_id, cluster_instance_id, network_partition_id, health_description, value,
- stratos:concat(cluster_id, '-' ,network_partition_id) as health_second_der_cluster_network
+ stratos:concat(cluster_id, '-' ,cluster_instance_id) as health_second_der_cluster_network
insert into health_second_der_concat;
define partition health_second_der_cluster_partition by health_second_der_concat.health_second_der_cluster_network;
from health_second_der_concat [health_description == 'memory_consumption']
[2/2] stratos git commit: adding retriving cartridge support for API
and fixing cartridge addition issue
Posted by re...@apache.org.
adding retriving cartridge support for API and fixing cartridge addition issue
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/cc0dbff6
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/cc0dbff6
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/cc0dbff6
Branch: refs/heads/master
Commit: cc0dbff6e13b180e60dac951512bebacaada7cba
Parents: 0bd0538
Author: reka <rt...@gmail.com>
Authored: Fri May 15 23:24:05 2015 +0530
Committer: reka <rt...@gmail.com>
Committed: Mon May 18 09:54:43 2015 +0530
----------------------------------------------------------------------
.../autoscaler/rule/RuleTasksDelegator.java | 32 ++-
.../impl/CloudControllerServiceImpl.java | 18 +-
.../controller/util/CloudControllerUtil.java | 54 +----
.../cartridge/CartridgeGroupReferenceBean.java | 9 -
.../NetworkPartitionReferenceBean.java | 9 -
.../forms/default/configure/cartridges.json | 6 +
.../forms/schema/configure/cartridges.json | 70 +++++-
.../rest/endpoint/api/StratosApiV41Utils.java | 69 +-----
.../util/converter/ObjectConverter.java | 214 +++++++++++++++++++
9 files changed, 315 insertions(+), 166 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
index 2626097..e4cf83b 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
@@ -185,7 +185,7 @@ public class RuleTasksDelegator {
// Calculate accumulation of minimum counts of all the partition of current network partition
int minimumCountOfNetworkPartition;
ClusterMonitor clusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
- ClusterContext clusterContext = (ClusterContext) clusterMonitor.getClusterContext();
+ ClusterContext clusterContext = clusterMonitor.getClusterContext();
ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext =
clusterContext.getNetworkPartitionCtxt(nwPartitionId);
ClusterInstanceContext clusterInstanceContext =
@@ -229,13 +229,10 @@ public class RuleTasksDelegator {
log.debug("Scaling dependent notification is going to the [parentInstance] " + instanceId);
}
//Notify parent for checking scaling dependencies
- ClusterMonitor abstractClusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
+ ClusterMonitor clusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
float fMinimumInstanceCount = minimumInstanceCount;
float factor = requiredInstanceCount / fMinimumInstanceCount;
- if (abstractClusterMonitor instanceof ClusterMonitor) {
- ClusterMonitor clusterMonitor = (ClusterMonitor) abstractClusterMonitor;
- clusterMonitor.sendClusterScalingEvent(networkPartitionId, instanceId, factor);
- }
+ clusterMonitor.sendClusterScalingEvent(networkPartitionId, instanceId, factor);
}
public void delegateScalingOverMaxNotification(String clusterId, String networkPartitionId, String instanceId) {
@@ -243,12 +240,8 @@ public class RuleTasksDelegator {
log.debug("Scaling max out notification is going to the [parentInstance] " + instanceId);
}
//Notify parent for checking scaling dependencies
- ClusterMonitor abstractClusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
- if (abstractClusterMonitor instanceof ClusterMonitor) {
-
- ClusterMonitor clusterMonitor = (ClusterMonitor) abstractClusterMonitor;
- clusterMonitor.sendScalingOverMaxEvent(networkPartitionId, instanceId);
- }
+ ClusterMonitor clusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
+ clusterMonitor.sendScalingOverMaxEvent(networkPartitionId, instanceId);
}
public void delegateScalingDownBeyondMinNotification(String clusterId, String networkPartitionId, String instanceId) {
@@ -256,12 +249,8 @@ public class RuleTasksDelegator {
log.debug("Scaling down lower min notification is going to the [parentInstance] " + instanceId);
}
//Notify parent for checking scaling dependencies
- ClusterMonitor abstractClusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
- if (abstractClusterMonitor instanceof ClusterMonitor) {
-
- ClusterMonitor clusterMonitor = (ClusterMonitor) abstractClusterMonitor;
- clusterMonitor.sendScalingDownBeyondMinEvent(networkPartitionId, instanceId);
- }
+ ClusterMonitor clusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
+ clusterMonitor.sendScalingDownBeyondMinEvent(networkPartitionId, instanceId);
}
public void delegateTerminate(ClusterLevelPartitionContext clusterMonitorPartitionContext, String memberId) {
@@ -349,7 +338,9 @@ public class RuleTasksDelegator {
memberGredientLoadAverage, memberSecondDerivativeLoadAverage, 1);
if (log.isDebugEnabled()) {
- log.debug(String.format("[member-id] %s [predicted load average] %s ", memberStatsContext.getMemberId()
+ log.debug(String.format("[cluster-instance-id] %s [member-id] %s " +
+ "[predicted load average] %s "
+ , clusterInstanceContext.getId(), memberStatsContext.getMemberId()
, memberPredictedLoadAverage));
}
loadAveragePredicted += memberPredictedLoadAverage;
@@ -379,7 +370,8 @@ public class RuleTasksDelegator {
memberMemoryConsumptionGredient, memberMemoryConsumptionSecondDerivative, 1);
if (log.isDebugEnabled()) {
- log.debug(String.format("[member-id] %s [predicted memory consumption] %s ", memberStatsContext.getMemberId()
+ log.debug(String.format("[member-id] %s [predicted memory consumption] %s ",
+ memberStatsContext.getMemberId()
, memberPredictedMemoryConsumption));
}
memoryConsumptionPredicted += memberPredictedMemoryConsumption;
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index 8df0919..6846177 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -80,16 +80,15 @@ public class CloudControllerServiceImpl implements CloudControllerService {
log.debug("Cartridge definition: " + cartridgeConfig.toString());
}
- Cartridge cartridge = null;
try {
- cartridge = CloudControllerUtil.toCartridge(cartridgeConfig);
+ CloudControllerUtil.extractIaaSProvidersFromCartridge(cartridgeConfig);
} catch (Exception e) {
String message = "Invalid cartridge definition: [cartridge-type] " + cartridgeConfig.getType();
log.error(message, e);
throw new InvalidCartridgeDefinitionException(message, e);
}
- String cartridgeType = cartridge.getType();
+ String cartridgeType = cartridgeConfig.getType();
if (cloudControllerContext.getCartridge(cartridgeType) != null) {
String message = "Cartridge already exists: [cartridge-type] " + cartridgeType;
log.error(message);
@@ -97,11 +96,11 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
// Add cartridge to the cloud controller context and persist
- CloudControllerContext.getInstance().addCartridge(cartridge);
+ CloudControllerContext.getInstance().addCartridge(cartridgeConfig);
CloudControllerContext.getInstance().persist();
List<Cartridge> cartridgeList = new ArrayList<Cartridge>();
- cartridgeList.add(cartridge);
+ cartridgeList.add(cartridgeConfig);
TopologyBuilder.handleServiceCreated(cartridgeList);
@@ -125,29 +124,28 @@ public class CloudControllerServiceImpl implements CloudControllerService {
log.debug("Cartridge definition: " + cartridgeConfig.toString());
}
- Cartridge cartridge = null;
try {
- cartridge = CloudControllerUtil.toCartridge(cartridgeConfig);
+ CloudControllerUtil.extractIaaSProvidersFromCartridge(cartridgeConfig);
} catch (Exception e) {
String msg = "Invalid cartridge definition: [cartridge-type] " + cartridgeConfig.getType();
log.error(msg, e);
throw new InvalidCartridgeDefinitionException(msg, e);
}
- String cartridgeType = cartridge.getType();
+ String cartridgeType = cartridgeConfig.getType();
if (cloudControllerContext.getCartridge(cartridgeType) != null) {
Cartridge cartridgeToBeRemoved = cloudControllerContext.getCartridge(cartridgeType);
try {
removeCartridgeFromCC(cartridgeToBeRemoved.getType());
} catch (InvalidCartridgeTypeException ignore) {
}
- copyIaasProviders(cartridge, cartridgeToBeRemoved);
+ copyIaasProviders(cartridgeConfig, cartridgeToBeRemoved);
} else {
throw new CartridgeDefinitionNotExistsException("This cartridge definition not exists");
}
// Add cartridge to the cloud controller context and persist
- CloudControllerContext.getInstance().addCartridge(cartridge);
+ CloudControllerContext.getInstance().addCartridge(cartridgeConfig);
CloudControllerContext.getInstance().persist();
// transaction ends
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
index d1c21eb..212ebeb 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/util/CloudControllerUtil.java
@@ -70,51 +70,9 @@ public class CloudControllerUtil {
}
}
- public static Cartridge toCartridge(Cartridge config) {
+ public static void extractIaaSProvidersFromCartridge(Cartridge config) {
if (config == null) {
- return null;
- }
- Cartridge cartridge = new Cartridge();
-
- // populate cartridge
- cartridge.setType(config.getType());
- cartridge.setDisplayName(config.getDisplayName());
- cartridge.setDescription(config.getDescription());
- cartridge.setHostName(config.getHostName());
- String[] deploymentDirs = config.getDeploymentDirs();
- cartridge.setDeploymentDirs(deploymentDirs);
- cartridge.setProvider(config.getProvider());
- cartridge.setCategory(config.getCategory());
- cartridge.setVersion(config.getVersion());
- cartridge.setBaseDir(config.getBaseDir());
-
- if (config.getPortMappings() != null) {
- cartridge.setPortMappings(config.getPortMappings());
- }
-
- if (config.getPersistence() != null) {
- cartridge.setPersistence(config.getPersistence());
- }
- cartridge.setMultiTenant(config.isMultiTenant());
- cartridge.setTenantPartitions(config.getTenantPartitions());
- cartridge.setLoadBalancingIPType(getLoadBalancingIPTypeStringFromEnum(LoadBalancingIPType.Private));
- if (StringUtils.isNotBlank(config.getLoadBalancingIPType())) {
- if (config.getLoadBalancingIPType().equals("public")) {
- cartridge.setLoadBalancingIPType(getLoadBalancingIPTypeStringFromEnum(LoadBalancingIPType.Public));
- }
- }
-
- if (config.getMetadataKeys() == null) {
- cartridge.setMetadataKeys(new String[0]);
- } else {
- cartridge.setMetadataKeys(config.getMetadataKeys());
- }
-
- org.apache.stratos.common.Properties props = config.getProperties();
- if (props != null) {
- for (Property prop : props.getProperties()) {
- cartridge.addProperty(prop.getName(), String.valueOf(prop.getValue()));
- }
+ return;
}
List<IaasProvider> iaases = CloudControllerConfig.getInstance().getIaasProviders();
@@ -186,16 +144,10 @@ public class CloudControllerUtil {
iaasProvider.setNetworkInterfaces(networkInterfaces.getNetworkInterfaces());
}
- CloudControllerContext.getInstance().addIaasProvider(cartridge.getType(), iaasProvider);
+ CloudControllerContext.getInstance().addIaasProvider(config.getType(), iaasProvider);
}
}
}
-
- if (config.getExportingProperties() != null) {
- cartridge.setExportingProperties(config.getExportingProperties());
- }
-
- return cartridge;
}
public static void sleep(long time) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupReferenceBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupReferenceBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupReferenceBean.java
index 6918b11..128fc05 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupReferenceBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupReferenceBean.java
@@ -32,7 +32,6 @@ public class CartridgeGroupReferenceBean implements Serializable {
private String alias;
private int groupMinInstances;
private int groupMaxInstances;
- private boolean isGroupScalingEnabled;
private String deploymentPolicy;
private List<CartridgeReferenceBean> cartridges;
private List<CartridgeGroupReferenceBean> groups;
@@ -69,14 +68,6 @@ public class CartridgeGroupReferenceBean implements Serializable {
this.groupMaxInstances = groupMaxInstances;
}
- public boolean isGroupScalingEnabled() {
- return isGroupScalingEnabled;
- }
-
- public void setGroupScalingEnabled(boolean isGroupScalingEnabled) {
- this.isGroupScalingEnabled = isGroupScalingEnabled;
- }
-
public List<CartridgeReferenceBean> getCartridges() {
return cartridges;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java
index ae04853..52b9e68 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionReferenceBean.java
@@ -31,7 +31,6 @@ public class NetworkPartitionReferenceBean {
private String provider;
private List<PartitionReferenceBean> partitions;
private String partitionAlgo;
- private List<PropertyBean> properties;
public String getId() {
return id;
@@ -64,12 +63,4 @@ public class NetworkPartitionReferenceBean {
public void setPartitionAlgo(String partitionAlgo) {
this.partitionAlgo = partitionAlgo;
}
-
- public List<PropertyBean> getProperties() {
- return properties;
- }
-
- public void setProperties(List<PropertyBean> properties) {
- this.properties = properties;
- }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/cartridges.json
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/cartridges.json b/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/cartridges.json
index d79fc1d..cefb303 100644
--- a/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/cartridges.json
+++ b/components/org.apache.stratos.manager.console/console/controllers/forms/default/configure/cartridges.json
@@ -7,6 +7,7 @@
"description":"PHP Cartridge",
"version":"7",
"multiTenant":"false",
+ "tenantPartitions": "[1-100]",
"loadBalancingIPType": "private",
"portMapping":[
{
@@ -55,5 +56,10 @@
}
]
+ },
+ "property": [
+ ],
+ "deployment": {
}
+
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/cartridges.json
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/cartridges.json b/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/cartridges.json
index d55c8d8..5c01565 100644
--- a/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/cartridges.json
+++ b/components/org.apache.stratos.manager.console/console/controllers/forms/schema/configure/cartridges.json
@@ -14,13 +14,13 @@
"type": "string",
"id": "root/type",
"title": "Type",
- "description": "You need to enter chartridge type without space",
+ "description": "You need to enter cartridge type without space",
"name": "Type",
"minLength":2,
"default": "php",
"propertyOrder": 1,
"maxItems": 1,
- "pattern": "^[a-zA-Z0-9-_]+$",
+ "pattern": "^[a-zA-Z0-9-_]+$"
},
"category": {
"type": "string",
@@ -100,6 +100,16 @@
"maxItems": 1,
"enum": ["private","public"]
},
+ "tenantPartitions": {
+ "type": "string",
+ "id": "root/tenantPartitions",
+ "title": "Tenant Partitions",
+ "name": "Tenant Partitions",
+ "minLength":2,
+ "default": "[1-10][11-100]",
+ "propertyOrder": 1,
+ "maxItems": 1
+ },
"portMapping": {
"type": "array",
"id": "root/portMapping",
@@ -418,8 +428,6 @@
},
}
}
-
-
},
"persistence": {
"type": "object",
@@ -485,5 +493,59 @@
}
}
},
+ "deployment": {
+ "type": "object",
+ "id": "root/deployment",
+ "title": "Deployment",
+ "name": "Deployment",
+ "required": ["baseDir", "dir"],
+ "options": {
+ "collapsed": true
+ },
+ "properties": {
+ "baseDir": {
+ "type": "string",
+ "id": "root/deployment/baseDir",
+ "title": "Base Directory",
+ "name": "Base Directory"
+ },
+ "dir": {
+ "id": "root/deployment/dir",
+ "type": "array",
+ "title": "Directories ",
+ "name": "Directories",
+ "format": "tabs",
+ "items": {
+ "id": "root/deployment/dir",
+ "type": "string",
+ "title": "Directories ",
+ "name": "Directories"
+ }
+ }
+ }
+ },
+ "property": {
+ "id": "root/property",
+ "type": "array",
+ "title":"Property",
+ "format":"tabs",
+ "items": {
+ "id": "root/property/0",
+ "type": "object",
+ "title":"Property",
+ "properties": {
+ "name": {
+ "id": "root/property/0/name",
+ "title":"Name",
+ "type": "string"
+ },
+ "value": {
+ "id": "root/property/0/value",
+ "title":"Value",
+ "type": "string"
+ }
+ }
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index 71af68e..705aec5 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -368,7 +368,8 @@ public class StratosApiV41Utils {
continue;
}
- CartridgeBean cartridge = convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
+ CartridgeBean cartridge = ObjectConverter.
+ convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
cartridges.add(cartridge);
}
} else {
@@ -443,7 +444,8 @@ public class StratosApiV41Utils {
continue;
}
- CartridgeBean cartridge = convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
+ CartridgeBean cartridge = ObjectConverter.
+ convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
cartridges.add(cartridge);
@@ -481,7 +483,7 @@ public class StratosApiV41Utils {
if (cartridgeInfo == null) {
return null;
}
- return convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
+ return ObjectConverter.convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
} catch (RemoteException e) {
String message = e.getMessage();
log.error(message);
@@ -506,7 +508,7 @@ public class StratosApiV41Utils {
if (cartridgeInfo == null) {
return null;
}
- return convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
+ return ObjectConverter.convertCartridgeToCartridgeDefinitionBean(cartridgeInfo);
} catch (CloudControllerServiceCartridgeNotFoundExceptionException e) {
return null;
} catch (RemoteException e) {
@@ -518,65 +520,6 @@ public class StratosApiV41Utils {
}
/**
- * Converts Cartridge to CartridgeDefinitionBean
- *
- * @param cartridgeInfo cartridge Info
- * @return CartridgeBean
- */
- private static CartridgeBean convertCartridgeToCartridgeDefinitionBean(Cartridge cartridgeInfo) {
- CartridgeBean cartridge = new CartridgeBean();
- cartridge.setType(cartridgeInfo.getType());
- cartridge.setProvider(cartridgeInfo.getProvider());
- cartridge.setCategory(cartridgeInfo.getCategory());
- cartridge.setHost(cartridgeInfo.getHostName());
- cartridge.setDisplayName(cartridgeInfo.getDisplayName());
- cartridge.setDescription(cartridgeInfo.getDescription());
- cartridge.setVersion(cartridgeInfo.getVersion());
- cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
- cartridge.setPersistence(convertPersistenceToPersistenceBean(cartridgeInfo.getPersistence()));
- cartridge.setLoadBalancingIPType(cartridgeInfo.getLoadBalancingIPType());
- cartridge.setMetadataKeys(cartridgeInfo.getMetadataKeys());
- return cartridge;
- }
-
- /**
- * Convert Persistence To PersistenceBean
- *
- * @param persistence persistence
- * @return PersistenceBean
- */
- private static PersistenceBean convertPersistenceToPersistenceBean(Persistence persistence) {
- if (persistence == null) {
- return null;
- }
-
- PersistenceBean persistenceBean = new PersistenceBean();
- persistenceBean.setRequired(persistence.isPersistenceRequiredSpecified());
- persistenceBean.setVolume(convertVolumesToVolumeBeans(persistence.getVolumes()));
- return persistenceBean;
- }
-
- /**
- * Convert Volumes To VolumeBeans
- *
- * @param volumes Volumes
- * @return VolumeBeans
- */
- private static List<VolumeBean> convertVolumesToVolumeBeans(Volume[] volumes) {
- List<VolumeBean> list = new ArrayList<VolumeBean>();
- for (Volume volume : volumes) {
- VolumeBean volumeBean = new VolumeBean();
- volumeBean.setId(volume.getId());
- volumeBean.setDevice(volume.getDevice());
- volumeBean.setSize(String.valueOf(volume.getSize()));
- volumeBean.setSnapshotId(volume.getSnapshotId());
- list.add(volumeBean);
- }
- return list;
- }
-
-
- /**
* Convert SearchString to Pattern
*
* @param searchString SearchString
http://git-wip-us.apache.org/repos/asf/stratos/blob/cc0dbff6/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index c82cd8e..6f54d94 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -134,6 +134,64 @@ public class ObjectConverter {
return portMappingArray;
}
+ private static List<PortMappingBean> convertPortMappingsToStubPortMappingBeans(
+ PortMapping[] portMappingps) {
+
+ if (portMappingps == null || portMappingps[0] == null ) {
+ return null;
+ }
+ List<PortMappingBean> portMappingBeans = new ArrayList<PortMappingBean>();
+
+ for (PortMapping portMapping : portMappingps) {
+ PortMappingBean portMappingBean = new PortMappingBean();
+ portMappingBean.setProtocol(portMapping.getProtocol());
+ portMappingBean.setPort(portMapping.getPort());
+ portMappingBean.setProxyPort(portMapping.getProxyPort());
+ portMappingBeans.add(portMappingBean);
+ }
+ return portMappingBeans;
+ }
+
+ /**
+ * Convert Persistence To PersistenceBean
+ *
+ * @param iaasConfigs iaasConfigs
+ * @return PersistenceBean
+ */
+ private static List<IaasProviderBean> convertIaaSProviderToIaaSProviderBean(IaasConfig[] iaasConfigs) {
+ if (iaasConfigs == null || iaasConfigs[0] == null) {
+ return null;
+ }
+
+ List<IaasProviderBean> iaasProviderBeans = new ArrayList<IaasProviderBean>();
+ for(IaasConfig iaasConfig : iaasConfigs) {
+ IaasProviderBean iaasProviderBean = new IaasProviderBean();
+ iaasProviderBean.setType(iaasConfig.getType());
+ iaasProviderBean.setImageId(iaasConfig.getImageId());
+ iaasProviderBean.setName(iaasConfig.getName());
+ iaasProviderBean.setClassName(iaasConfig.getClassName());
+ iaasProviderBean.setCredential(iaasConfig.getCredential());
+ iaasProviderBean.setIdentity(iaasConfig.getIdentity());
+ iaasProviderBean.setProvider(iaasConfig.getProvider());
+
+ if (iaasConfig.getProperties() != null) {
+ //set the Properties instance to IaasConfig instance
+ iaasProviderBean.setProperty(convertCCStubPropertiesToPropertyBeanList(
+ iaasConfig.getProperties()));
+ }
+
+ if (iaasConfig.getNetworkInterfaces() != null) {
+ iaasProviderBean.setNetworkInterfaces(ObjectConverter.
+ convertNetworkInterfacesToNetworkInterfaceBeans(
+ iaasConfig.getNetworkInterfaces()));
+ }
+
+ iaasProviderBeans.add(iaasProviderBean);
+ }
+
+ return iaasProviderBeans;
+ }
+
private static IaasConfig[] convertIaasProviderBeansToStubIaasConfig(List<IaasProviderBean> iaasProviderBeans) {
if (iaasProviderBeans == null) {
@@ -258,6 +316,33 @@ public class ObjectConverter {
return networkInterfaces;
}
+ private static List<NetworkInterfaceBean> convertNetworkInterfacesToNetworkInterfaceBeans(
+ NetworkInterfaces networkInterfaces) {
+
+ if (networkInterfaces == null || networkInterfaces.getNetworkInterfaces() == null ||
+ networkInterfaces.getNetworkInterfaces()[0] == null) {
+ return null;
+ }
+
+ List<NetworkInterfaceBean> networkInterfaceBeans = new ArrayList<NetworkInterfaceBean>();
+
+ for(NetworkInterface networkInterface : networkInterfaces.getNetworkInterfaces()) {
+ NetworkInterfaceBean networkInterfaceBean = new NetworkInterfaceBean();
+ networkInterfaceBean.setNetworkUuid(networkInterface.getNetworkUuid());
+ networkInterfaceBean.setFixedIp(networkInterface.getFixedIp());
+ networkInterfaceBean.setPortUuid(networkInterface.getPortUuid());
+ if (networkInterface.getFloatingNetworks() != null &&
+ networkInterface.getFloatingNetworks().getFloatingNetworks() != null &&
+ networkInterface.getFloatingNetworks().getFloatingNetworks()[0] != null) {
+ networkInterfaceBean.setFloatingNetworks(
+ ObjectConverter.convertFloatingNetworksToFloatingNetworkBeans(
+ networkInterface.getFloatingNetworks()));
+ }
+ networkInterfaceBeans.add(networkInterfaceBean);
+ }
+ return networkInterfaceBeans;
+ }
+
private static FloatingNetworks convertFloatingNetworkBeansToFloatingNetworks(
List<FloatingNetworkBean> floatingNetworkBeans) {
@@ -281,6 +366,20 @@ public class ObjectConverter {
return floatingNetworks;
}
+ private static List<FloatingNetworkBean> convertFloatingNetworksToFloatingNetworkBeans(
+ FloatingNetworks floatingNetworks) {
+ List<FloatingNetworkBean> floatingNetworkBeans = new ArrayList<FloatingNetworkBean>();
+
+ for (FloatingNetwork floatingNetwork : floatingNetworks.getFloatingNetworks()) {
+ FloatingNetworkBean floatingNetworkBean = new FloatingNetworkBean();
+ floatingNetworkBean.setName(floatingNetwork.getName());
+ floatingNetworkBean.setNetworkUuid(floatingNetwork.getNetworkUuid());
+ floatingNetworkBean.setFloatingIP(floatingNetwork.getFloatingIP());
+ floatingNetworkBeans.add(floatingNetworkBean);
+ }
+ return floatingNetworkBeans;
+ }
+
private static org.apache.stratos.cloud.controller.stub.domain.Partition convertPartitionToStubPartition
(PartitionBean partition) {
@@ -1231,6 +1330,25 @@ public class ObjectConverter {
return propertyBeanList;
}
+ private static List<org.apache.stratos.common.beans.PropertyBean>
+ convertCCStubPropertiesToPropertyBeanList(org.apache.stratos.cloud.controller.stub.Properties properties) {
+
+ List<org.apache.stratos.common.beans.PropertyBean> propertyBeanList =
+ new ArrayList<org.apache.stratos.common.beans.PropertyBean>();
+ if ((properties != null) && (properties.getProperties() != null)) {
+ for (org.apache.stratos.cloud.controller.stub.Property property : properties.getProperties()) {
+ if ((property != null)) {
+ org.apache.stratos.common.beans.PropertyBean propertyBean =
+ new org.apache.stratos.common.beans.PropertyBean();
+ propertyBean.setName(property.getName());
+ propertyBean.setValue(String.valueOf(property.getValue()));
+ propertyBeanList.add(propertyBean);
+ }
+ }
+ }
+ return propertyBeanList;
+ }
+
private static CartridgeContext[] convertCartridgeReferenceBeansToStubCartridgeContexts(
List<CartridgeReferenceBean> cartridges) {
@@ -1401,6 +1519,102 @@ public class ObjectConverter {
return groupContexts;
}
+ /**
+ * Convert Persistence To PersistenceBean
+ *
+ * @param baseDir base directory
+ * @param directories directories
+ * @return DeploymentBean
+ */
+ private static DeploymentBean convertDeploymentToDeploymentBean(String[] directories,
+ String baseDir) {
+ if (baseDir == null || directories == null || directories[0] == null) {
+ return null;
+ }
+
+ DeploymentBean deploymentBean = new DeploymentBean();
+ deploymentBean.setBaseDir(baseDir);
+ deploymentBean.setDir(Arrays.asList(baseDir));
+ return deploymentBean;
+ }
+
+ /**
+ * Convert Persistence To PersistenceBean
+ *
+ * @param persistence persistence
+ * @return PersistenceBean
+ */
+ private static PersistenceBean convertPersistenceToPersistenceBean(Persistence persistence) {
+ if (persistence == null) {
+ return null;
+ }
+
+ PersistenceBean persistenceBean = new PersistenceBean();
+ persistenceBean.setRequired(persistence.isPersistenceRequiredSpecified());
+ persistenceBean.setVolume(convertVolumesToVolumeBeans(persistence.getVolumes()));
+ return persistenceBean;
+ }
+
+ /**
+ * Convert Volumes To VolumeBeans
+ *
+ * @param volumes Volumes
+ * @return VolumeBeans
+ */
+ private static List<VolumeBean> convertVolumesToVolumeBeans(Volume[] volumes) {
+ List<VolumeBean> list = new ArrayList<VolumeBean>();
+ for (Volume volume : volumes) {
+ VolumeBean volumeBean = new VolumeBean();
+ volumeBean.setId(volume.getId());
+ volumeBean.setDevice(volume.getDevice());
+ volumeBean.setSize(String.valueOf(volume.getSize()));
+ volumeBean.setSnapshotId(volume.getSnapshotId());
+ list.add(volumeBean);
+ }
+ return list;
+ }
+
+ /**
+ * Converts Cartridge to CartridgeDefinitionBean
+ *
+ * @param cartridgeInfo cartridge Info
+ * @return CartridgeBean
+ */
+ public static CartridgeBean convertCartridgeToCartridgeDefinitionBean(Cartridge cartridgeInfo) {
+ CartridgeBean cartridge = new CartridgeBean();
+ cartridge.setType(cartridgeInfo.getType());
+ cartridge.setProvider(cartridgeInfo.getProvider());
+ cartridge.setCategory(cartridgeInfo.getCategory());
+ cartridge.setHost(cartridgeInfo.getHostName());
+ cartridge.setDisplayName(cartridgeInfo.getDisplayName());
+ cartridge.setDescription(cartridgeInfo.getDescription());
+ cartridge.setVersion(cartridgeInfo.getVersion());
+ cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
+ cartridge.setDescription(cartridgeInfo.getDescription());
+ cartridge.setLoadBalancingIPType(cartridgeInfo.getLoadBalancingIPType());
+ cartridge.setMetadataKeys(cartridgeInfo.getMetadataKeys());
+ cartridge.setTenantPartitions(cartridgeInfo.getTenantPartitions());
+
+ //convert persistence
+ cartridge.setPersistence(convertPersistenceToPersistenceBean(cartridgeInfo.getPersistence()));
+
+ //convert deployment
+ cartridge.setDeployment(convertDeploymentToDeploymentBean(cartridgeInfo.getDeploymentDirs(),
+ cartridgeInfo.getBaseDir()));
+
+ //convert IaaSProvider
+ cartridge.setIaasProvider(convertIaaSProviderToIaaSProviderBean(
+ cartridgeInfo.getIaasConfigs()));
+
+ //Convert Port-mappings
+ cartridge.setPortMapping(convertPortMappingsToStubPortMappingBeans(
+ cartridgeInfo.getPortMappings()));
+
+ //convert properties
+ cartridge.setProperty(convertCCStubPropertiesToPropertyBeans(cartridgeInfo.getProperties()));
+
+ return cartridge;
+ }
public static ApplicationInfoBean convertApplicationToApplicationBean(Application application) {