You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ga...@apache.org on 2015/08/06 16:05:05 UTC
[2/4] stratos git commit: Remove UUID and TenantId from
CartridgeGroupBean
Remove UUID and TenantId from CartridgeGroupBean
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/203d8933
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/203d8933
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/203d8933
Branch: refs/heads/tenant-isolation
Commit: 203d8933d6189d18ba8404e3a959493e1469a270
Parents: 5a0a5f6
Author: Dinithi <di...@wso2.com>
Authored: Thu Aug 6 14:14:41 2015 +0530
Committer: Dinithi <di...@wso2.com>
Committed: Thu Aug 6 14:14:41 2015 +0530
----------------------------------------------------------------------
.../autoscaler/registry/RegistryManager.java | 2 +-
.../stratos/cli/RestCommandLineService.java | 2 +-
.../beans/cartridge/CartridgeGroupBean.java | 18 -
.../rest/endpoint/api/StratosApiV41.java | 22 +-
.../rest/endpoint/api/StratosApiV41Utils.java | 78 +-
.../util/converter/ObjectConverter.java | 10 +-
.../src/main/resources/AutoscalerService.wsdl | 838 +++++++++----------
7 files changed, 482 insertions(+), 488 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/203d8933/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
index 4ccdb05..b7e659e 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
@@ -645,7 +645,7 @@ public class RegistryManager {
policyID;
delete(resourcePath);
if (log.isDebugEnabled()) {
- log.debug(String.format("Autoscaler policy deleted from registry: [id]", policyID));
+ log.debug(String.format("Autoscaler policy deleted from registry: %s [id]", policyID));
}
} finally {
endTenantFlow();
http://git-wip-us.apache.org/repos/asf/stratos/blob/203d8933/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
index 03abca1..140959b 100644
--- a/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
+++ b/components/org.apache.stratos.cli/src/main/java/org/apache/stratos/cli/RestCommandLineService.java
@@ -387,7 +387,7 @@ public class RestCommandLineService {
RowMapper<CartridgeGroupBean> cartridgeGroupMapper = new RowMapper<CartridgeGroupBean>() {
public String[] getData(CartridgeGroupBean cartridgeGroup) {
String[] data = new String[3];
- data[0] = cartridgeGroup.getUuid();
+ data[0] = cartridgeGroup.getName();
data[1] = cartridgeGroup.getCartridges() == null ? "" : String.valueOf(cartridgeGroup.getCartridges().size());
data[2] = cartridgeGroup.getGroups() == null ? "0" : String.valueOf(cartridgeGroup.getGroups().size());
return data;
http://git-wip-us.apache.org/repos/asf/stratos/blob/203d8933/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
index 90d1f6e..d14fd53 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/CartridgeGroupBean.java
@@ -30,20 +30,10 @@ public class CartridgeGroupBean implements Serializable {
private static final long serialVersionUID = 4696832597498594267L;
- private String uuid;
private String name;
private List<CartridgeGroupBean> groups;
private List<String> cartridges;
private DependencyBean dependencies;
- private int tenantId;
-
- public String getUuid() {
- return uuid;
- }
-
- public void setUuid(String uuid) {
- this.uuid = uuid;
- }
public List<String> getCartridges() {
return cartridges;
@@ -69,14 +59,6 @@ public class CartridgeGroupBean implements Serializable {
this.groups = groups;
}
- public int getTenantId() {
- return tenantId;
- }
-
- public void setTenantId(int tenantId) {
- this.tenantId = tenantId;
- }
-
public String getName() {
return name;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/203d8933/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
index 37ff9fb..baa06c6 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java
@@ -495,15 +495,15 @@ public class StratosApiV41 extends AbstractApi {
CartridgeGroupBean cartridgeGroupBean) throws RestAPIException {
PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
- cartridgeGroupBean.setUuid(UUID.randomUUID().toString());
- cartridgeGroupBean.setTenantId(carbonContext.getTenantId());
+ String cartrideGroupUuid= UUID.randomUUID().toString();
+ int tenantId = carbonContext.getTenantId();
try {
- StratosApiV41Utils.addCartridgeGroup(cartridgeGroupBean);
- URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getUuid()).build();
-
+ StratosApiV41Utils.addCartridgeGroup(cartridgeGroupBean, cartrideGroupUuid, tenantId);
+ URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getName()).build();
return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
- String.format("Cartridge Group added successfully: [cartridge-group-uuid] %s [cartridge-group-name] %s [tenant-id] %d",
- cartridgeGroupBean.getUuid(),cartridgeGroupBean.getName(),cartridgeGroupBean.getTenantId()))).build();
+ String.format("Cartridge Group added successfully: [cartridge-group-uuid] %s " +
+ "[cartridge-group-name] %s [tenant-id] %d", cartrideGroupUuid,
+ cartridgeGroupBean.getName(), tenantId))).build();
} catch (InvalidCartridgeGroupDefinitionException e) {
return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
ResponseMessageBean.ERROR, e.getMessage())).build();
@@ -536,12 +536,12 @@ public class StratosApiV41 extends AbstractApi {
try {
PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
- StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean,carbonContext.getTenantId());
- URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getUuid()).build();
+ StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean, carbonContext.getTenantId());
+ URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getName()).build();
return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
- String.format("Cartridge group updated successfully: [cartridge-group-uuid] %s [cartridge-group-name] %s [tenant-id] %d",
- cartridgeGroupBean.getUuid(),cartridgeGroupBean.getName(),cartridgeGroupBean.getTenantId()))).build();
+ String.format("Cartridge group updated successfully: [cartridge-group-uuid] %s",
+ cartridgeGroupBean.getName()))).build();
} catch (InvalidCartridgeGroupDefinitionException e) {
return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean(
http://git-wip-us.apache.org/repos/asf/stratos/blob/203d8933/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 a183d26..b825d14 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
@@ -1006,7 +1006,8 @@ public class StratosApiV41Utils {
* @throws InvalidCartridgeGroupDefinitionException
* @throws RestAPIException
*/
- public static void addCartridgeGroup(CartridgeGroupBean serviceGroupDefinition)
+ public static void addCartridgeGroup(CartridgeGroupBean serviceGroupDefinition, String cartridgeGroupUuid,
+ int tenantId)
throws InvalidCartridgeGroupDefinitionException, ServiceGroupDefinitionException, RestAPIException,
CloudControllerServiceCartridgeNotFoundExceptionException,
AutoscalerServiceInvalidServiceGroupExceptionException {
@@ -1021,7 +1022,7 @@ public class StratosApiV41Utils {
String[] cartridgeGroupNames;
if (log.isDebugEnabled()) {
- log.debug("Checking cartridges in cartridge group " + serviceGroupDefinition.getUuid());
+ log.debug("Checking cartridges in cartridge group " + cartridgeGroupUuid);
}
findCartridgesInGroupBean(serviceGroupDefinition, cartridgeTypes);
@@ -1031,7 +1032,15 @@ public class StratosApiV41Utils {
//validate the group definition to check if groups duplicate in any groups and
//validate the group definition to check for cyclic group behaviour
- validateGroupDuplicationInGroupDefinition(serviceGroupDefinition);
+
+ try {
+ validateGroupDuplicationInGroupDefinition(serviceGroupDefinition);
+ } catch (RemoteException e) {
+ String message = "Error while validating group duplications in cartridge group: " + cartridgeGroupUuid;
+ log.error(message, e);
+ throw new RestAPIException(message, e);
+ }
+
CloudControllerServiceClient ccServiceClient = getCloudControllerServiceClient();
@@ -1039,7 +1048,7 @@ public class StratosApiV41Utils {
int j = 0;
for (String cartridgeType : cartridgeTypes) {
try {
- Cartridge cartridge = ccServiceClient.getCartridgeByTenant(cartridgeType,serviceGroupDefinition.getTenantId());
+ Cartridge cartridge = ccServiceClient.getCartridgeByTenant(cartridgeType, tenantId);
if (cartridge == null) {
// cartridge is not deployed, can't continue
log.error("Invalid cartridge found in cartridge group " + cartridgeType);
@@ -1049,7 +1058,7 @@ public class StratosApiV41Utils {
j++;
}
} catch (RemoteException e) {
- String message = "Could not add the cartridge group: " + serviceGroupDefinition.getUuid();
+ String message = "Could not add the cartridge group: " + cartridgeGroupUuid;
log.error(message, e);
throw new RestAPIException(message, e);
}
@@ -1059,7 +1068,7 @@ public class StratosApiV41Utils {
// if any sub groups are specified in the group, they should be already deployed
if (serviceGroupDefinition.getGroups() != null) {
if (log.isDebugEnabled()) {
- log.debug("checking subGroups in cartridge group " + serviceGroupDefinition.getUuid());
+ log.debug("checking subGroups in cartridge group " + cartridgeGroupUuid);
}
List<CartridgeGroupBean> groupDefinitions = serviceGroupDefinition.getGroups();
@@ -1067,8 +1076,8 @@ public class StratosApiV41Utils {
cartridgeGroupNames = new String[groupDefinitions.size()];
int i = 0;
for (CartridgeGroupBean groupList : groupDefinitions) {
- groupNames.add(groupList.getUuid());
- cartridgeGroupNames[i] = groupList.getUuid();
+ groupNames.add(groupList.getName());
+ cartridgeGroupNames[i] = groupList.getName();
i++;
}
@@ -1088,7 +1097,7 @@ public class StratosApiV41Utils {
}
ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(
- serviceGroupDefinition);
+ serviceGroupDefinition, tenantId);
AutoscalerServiceClient asServiceClient = getAutoscalerServiceClient();
try {
@@ -1099,7 +1108,7 @@ public class StratosApiV41Utils {
} catch (RemoteException e) {
String message = String.format("Could not add the cartridge group: [cartridge-group-id] %s " +
- "[cartridge-group-name] %s ", serviceGroupDefinition.getUuid(), serviceGroupDefinition.getName());
+ "[cartridge-group-name] %s ", serviceGroup.getUuid(), serviceGroupDefinition.getName());
log.error(message, e);
throw new RestAPIException(message, e);
}
@@ -1116,19 +1125,17 @@ public class StratosApiV41Utils {
try {
AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
ServiceGroup existingServiceGroup =autoscalerServiceClient.getServiceGroupByTenant(cartridgeGroup.getName(), tenantId);
- cartridgeGroup.setUuid(existingServiceGroup.getUuid());
- cartridgeGroup.setTenantId(tenantId);
ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(
- cartridgeGroup);
+ cartridgeGroup, tenantId);
StratosManagerServiceClient smServiceClient = getStratosManagerServiceClient();
// Validate whether cartridge group can be updated
- if (!smServiceClient.canCartirdgeGroupBeRemoved(cartridgeGroup.getUuid())) {
+ if (!smServiceClient.canCartirdgeGroupBeRemoved(existingServiceGroup.getUuid())) {
String message = String.format("Cannot update cartridge group: [cartridge-group-uuid] %s " +
"[cartridge-group-name] %s since it is used in another cartridge group or an application",
- cartridgeGroup.getUuid(), cartridgeGroup.getName());
+ existingServiceGroup.getUuid(), cartridgeGroup.getName());
log.error(message);
throw new RestAPIException(message);
@@ -1143,12 +1150,12 @@ public class StratosApiV41Utils {
if (serviceGroup != null) {
autoscalerServiceClient.updateServiceGroup(
- ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(cartridgeGroup));
+ ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(cartridgeGroup, tenantId));
List<String> cartridgesBeforeUpdating = new ArrayList<String>();
List<String> cartridgesAfterUpdating = new ArrayList<String>();
- ServiceGroup serviceGroupToBeUpdated = autoscalerServiceClient.getServiceGroup(cartridgeGroup.getUuid());
+ ServiceGroup serviceGroupToBeUpdated = autoscalerServiceClient.getServiceGroup(serviceGroup.getUuid());
findCartridgesInServiceGroup(serviceGroupToBeUpdated, cartridgesBeforeUpdating);
findCartridgesInGroupBean(cartridgeGroup, cartridgesAfterUpdating);
@@ -1188,7 +1195,7 @@ public class StratosApiV41Utils {
if (cartridgesToAdd != null) {
if (!cartridgesToAdd.isEmpty()) {
{
- smServiceClient.addUsedCartridgesInCartridgeGroups(cartridgeGroup.getUuid(),
+ smServiceClient.addUsedCartridgesInCartridgeGroups(existingServiceGroup.getUuid(),
cartridgesToAdd.toArray(new String[cartridgesToRemove.size()]));
}
}
@@ -1197,7 +1204,7 @@ public class StratosApiV41Utils {
// Remove cartridge group elements from SM cache - done after cartridge group has been updated
if (cartridgesToRemove != null) {
if (!cartridgesToRemove.isEmpty()) {
- smServiceClient.removeUsedCartridgesInCartridgeGroups(cartridgeGroup.getUuid(),
+ smServiceClient.removeUsedCartridgesInCartridgeGroups(existingServiceGroup.getUuid(),
cartridgesToRemove.toArray(new String[cartridgesToRemove.size()]));
}
}
@@ -3745,37 +3752,42 @@ public class StratosApiV41Utils {
* @throws InvalidCartridgeGroupDefinitionException
*/
private static void validateGroupDuplicationInGroupDefinition(CartridgeGroupBean groupBean)
- throws InvalidCartridgeGroupDefinitionException {
- validateGroupDuplicationInGroupDefinition(groupBean, new ArrayList<String>());
+ throws InvalidCartridgeGroupDefinitionException, RemoteException {
+ AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
+ PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+ ServiceGroup serviceGroup = autoscalerServiceClient.getServiceGroupByTenant(groupBean.getName(),
+ + carbonContext.getTenantId());
+ validateGroupDuplicationInGroupDefinition(serviceGroup, new ArrayList<String>());
}
/**
* This is to validate the group duplication in the group definition recursively for group within groups
*
- * @param groupBean - cartridge group definition
+ * @param serviceGroup - cartridge group definition
* @param parentGroups - list of string which holds the parent group names (all parents in the hierarchy)
* @throws InvalidCartridgeGroupDefinitionException - throws when the group definition is invalid
*/
- private static void validateGroupDuplicationInGroupDefinition(CartridgeGroupBean groupBean, List<String> parentGroups)
+ private static void validateGroupDuplicationInGroupDefinition(ServiceGroup serviceGroup, List<String> parentGroups)
throws InvalidCartridgeGroupDefinitionException {
- if (groupBean == null) {
+ if (serviceGroup == null) {
return;
}
List<String> groups = new ArrayList<String>();
- parentGroups.add(groupBean.getUuid());
- if (groupBean.getGroups() != null) {
- if (!groupBean.getGroups().isEmpty()) {
- for (CartridgeGroupBean g : groupBean.getGroups()) {
- groups.add(g.getName());
+ parentGroups.add(serviceGroup.getUuid());
+
+ if (serviceGroup.getGroups() != null) {
+ for (ServiceGroup group : serviceGroup.getGroups()) {
+ if (group != null) {
+ groups.add(group.getUuid());
}
- validateGroupDuplicationInGroup(groups, parentGroups);
}
+ validateGroupDuplicationInGroup(groups, parentGroups);
}
- if (groupBean.getGroups() != null) {
+ if (serviceGroup.getGroups() != null) {
//Recursive because to check groups inside groups
- for (CartridgeGroupBean group : groupBean.getGroups()) {
+ for (ServiceGroup group : serviceGroup.getGroups()) {
validateGroupDuplicationInGroupDefinition(group, parentGroups);
- parentGroups.remove(group.getName());
+ parentGroups.remove(serviceGroup.getUuid());
}
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/203d8933/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 b730d1b..2fce76b 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
@@ -1847,7 +1847,8 @@ public class ObjectConverter {
return carbonTenantInfoBean;
}
- public static ServiceGroup convertServiceGroupDefinitionToASStubServiceGroup(CartridgeGroupBean groupBean)
+ public static ServiceGroup convertServiceGroupDefinitionToASStubServiceGroup(CartridgeGroupBean groupBean,
+ int tenantId)
throws ServiceGroupDefinitionException {
if (groupBean == null) {
@@ -1860,7 +1861,7 @@ public class ObjectConverter {
servicegroup.setName(groupBean.getName());
servicegroup.setUuid(UUID.randomUUID().toString());
- servicegroup.setTenantId(groupBean.getTenantId());
+ servicegroup.setTenantId(tenantId);
if (groupsDefinitions == null) {
groupsDefinitions = new ArrayList<CartridgeGroupBean>(0);
@@ -1875,7 +1876,7 @@ public class ObjectConverter {
int i = 0;
for (CartridgeGroupBean groupDefinition : groupsDefinitions) {
- subGroups[i] = convertServiceGroupDefinitionToASStubServiceGroup(groupDefinition);
+ subGroups[i] = convertServiceGroupDefinitionToASStubServiceGroup(groupDefinition, tenantId);
++i;
}
@@ -1927,7 +1928,6 @@ public class ObjectConverter {
}
CartridgeGroupBean serviceGroupDefinition = new CartridgeGroupBean();
- serviceGroupDefinition.setUuid(serviceGroup.getUuid());
serviceGroupDefinition.setName(serviceGroup.getName());
String[] cartridges = serviceGroup.getCartridges();
ServiceGroup[] groups = serviceGroup.getGroups();
@@ -2235,4 +2235,4 @@ public class ObjectConverter {
return iaasProviderInfoBean;
}
-}
+}
\ No newline at end of file