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/07/08 18:52:32 UTC
[3/3] stratos git commit: Update the cartridge group with uuid
Update the cartridge group with uuid
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/e0f6286e
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/e0f6286e
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/e0f6286e
Branch: refs/heads/tenant-isolation
Commit: e0f6286ec3646177e4ac3378467aebe469b040f2
Parents: 5bad93f
Author: Gayan Gunarathne <ga...@wso2.com>
Authored: Wed Jul 8 22:20:09 2015 +0530
Committer: Gayan Gunarathne <ga...@wso2.com>
Committed: Wed Jul 8 22:20:09 2015 +0530
----------------------------------------------------------------------
.../autoscaler/registry/RegistryManager.java | 17 +-
.../autoscaler/services/AutoscalerService.java | 8 +
.../services/impl/AutoscalerServiceImpl.java | 16 +-
.../beans/cartridge/CartridgeGroupBean.java | 8 +
.../common/client/AutoscalerServiceClient.java | 4 +
.../rest/endpoint/api/StratosApiV41.java | 10 +-
.../rest/endpoint/api/StratosApiV41Utils.java | 19 +-
.../util/converter/ObjectConverter.java | 2 +-
.../src/main/resources/AutoscalerService.wsdl | 542 ++++++++++---------
9 files changed, 362 insertions(+), 264 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 4dd7c86..1577adb 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
@@ -373,8 +373,8 @@ public class RegistryManager {
}
}
- public boolean serviceGroupExist(String serviceGroupName) {
- String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + serviceGroupName;
+ public boolean serviceGroupExist(String serviceGroupUuid) {
+ String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + serviceGroupUuid;
return resourceExist(resourcePath);
}
@@ -537,10 +537,10 @@ public class RegistryManager {
}
}
- public ServiceGroup getServiceGroup(String name) throws Exception {
+ public ServiceGroup getServiceGroup(String uuid) throws Exception {
try {
startTenantFlow();
- String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + name;
+ String resourcePath = AutoscalerConstants.AUTOSCALER_RESOURCE + AutoscalerConstants.SERVICE_GROUP + "/" + uuid;
Object serializedObj = instance.retrieve(resourcePath);
ServiceGroup group = null;
if (serializedObj != null) {
@@ -561,6 +561,15 @@ public class RegistryManager {
}
}
+ public ServiceGroup getServiceGroup(String name,int tenantId) throws Exception {
+ ServiceGroup[] serviceGroups=getServiceGroups();
+ for(ServiceGroup serviceGroup:serviceGroups){
+ if(serviceGroup.getName().equals(name)&&(serviceGroup.getTenantId()==tenantId)){
+ return serviceGroup;
+ }
+ }
+ return null;
+ }
public ServiceGroup[] getServiceGroups() {
try {
startTenantFlow();
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
index e703e39..c7e2264 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/AutoscalerService.java
@@ -239,6 +239,14 @@ public interface AutoscalerService {
*/
public ServiceGroup getServiceGroup(String name);
+ /**
+ * Get cartridge group by tenant
+ * @param name
+ * @param tenantId
+ * @return
+ */
+ public ServiceGroup getServiceGroupByTenant(String name, int tenantId);
+
/**
* Find cluster id of an application by subscription alias.
*
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
index 2967368..b6cd3c8 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java
@@ -836,17 +836,27 @@ public class AutoscalerServiceImpl implements AutoscalerService {
return true;
}
- public ServiceGroup getServiceGroup(String name) {
- if (StringUtils.isEmpty(name)) {
+ public ServiceGroup getServiceGroup(String uuid) {
+ if (StringUtils.isEmpty(uuid)) {
return null;
}
try {
- return RegistryManager.getInstance().getServiceGroup(name);
+ return RegistryManager.getInstance().getServiceGroup(uuid);
} catch (Exception e) {
throw new AutoScalerException("Error occurred while retrieving cartridge group", e);
}
}
+ public ServiceGroup getServiceGroupByTenant(String name,int tenantId) {
+ if (StringUtils.isEmpty(name)) {
+ return null;
+ }
+ try {
+ return RegistryManager.getInstance().getServiceGroup(name,tenantId);
+ } catch (Exception e) {
+ throw new AutoScalerException("Error occurred while retrieving cartridge group", e);
+ }
+ }
@Override
public String findClusterId(String applicationId, String alias) {
try {
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 b884e90..90d1f6e 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
@@ -76,4 +76,12 @@ public class CartridgeGroupBean implements Serializable {
public void setTenantId(int tenantId) {
this.tenantId = tenantId;
}
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
index 8dc2420..4911fd4 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/AutoscalerServiceClient.java
@@ -184,6 +184,10 @@ public class AutoscalerServiceClient {
return stub.getServiceGroup(serviceGroupDefinitionName);
}
+ public ServiceGroup getServiceGroupByTenant(String serviceGroupDefinitionName,int tenantId) throws RemoteException {
+ return stub.getServiceGroupByTenant(serviceGroupDefinitionName,tenantId);
+ }
+
public ServiceGroup[] getServiceGroups() throws RemoteException, AutoscalerServiceAutoScalerExceptionException {
return stub.getServiceGroups();
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 7690818..f54c35c 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
@@ -533,7 +533,8 @@ public class StratosApiV41 extends AbstractApi {
CartridgeGroupBean cartridgeGroupBean) throws RestAPIException {
try {
- StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean);
+ PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+ StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean,carbonContext.getTenantId());
URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getUuid()).build();
return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS,
@@ -564,7 +565,9 @@ public class StratosApiV41 extends AbstractApi {
@AuthorizationAction("/permission/admin/stratos/cartridgeGroups/view")
public Response getCartridgeGroup(
@PathParam("name") String name) throws RestAPIException {
- CartridgeGroupBean serviceGroupDefinition = StratosApiV41Utils.getServiceGroupDefinition(name);
+
+ PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+ CartridgeGroupBean serviceGroupDefinition = StratosApiV41Utils.getServiceGroupDefinition(name,carbonContext.getTenantId());
if (serviceGroupDefinition != null) {
return Response.ok().entity(serviceGroupDefinition).build();
@@ -613,7 +616,8 @@ public class StratosApiV41 extends AbstractApi {
public Response removeServiceGroup(
@PathParam("name") String name) throws RestAPIException {
try {
- StratosApiV41Utils.removeServiceGroup(name);
+ PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
+ StratosApiV41Utils.removeServiceGroup(name,carbonContext.getTenantId());
} catch (AutoscalerServiceCartridgeGroupNotFoundExceptionException e) {
return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean(
ResponseMessageBean.ERROR, "Cartridge group not found")).build();
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 f117247..c014466 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
@@ -1121,12 +1121,15 @@ public class StratosApiV41Utils {
* @param cartridgeGroup
* @throws RestAPIException
*/
- public static void updateServiceGroup(CartridgeGroupBean cartridgeGroup) throws RestAPIException,
+ public static void updateServiceGroup(CartridgeGroupBean cartridgeGroup,int tenantId) throws RestAPIException,
InvalidCartridgeGroupDefinitionException {
try {
+ AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
+ cartridgeGroup.setUuid(autoscalerServiceClient.getServiceGroupByTenant(cartridgeGroup.getName(),tenantId).getUuid());
+ cartridgeGroup.setTenantId(tenantId);
ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup(
cartridgeGroup);
- AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance();
+
StratosManagerServiceClient smServiceClient = getStratosManagerServiceClient();
@@ -1249,7 +1252,7 @@ public class StratosApiV41Utils {
* @return GroupBean
* @throws RestAPIException
*/
- public static CartridgeGroupBean getServiceGroupDefinition(String name) throws RestAPIException {
+ public static CartridgeGroupBean getServiceGroupDefinition(String name,int tenantId) throws RestAPIException {
if (log.isDebugEnabled()) {
log.debug("Reading cartridge group: [group-name] " + name);
@@ -1257,7 +1260,7 @@ public class StratosApiV41Utils {
try {
AutoscalerServiceClient asServiceClient = AutoscalerServiceClient.getInstance();
- ServiceGroup serviceGroup = asServiceClient.getServiceGroup(name);
+ ServiceGroup serviceGroup = asServiceClient.getServiceGroupByTenant(name,tenantId);
if (serviceGroup == null) {
return null;
}
@@ -1310,7 +1313,7 @@ public class StratosApiV41Utils {
* @param name Group Name
* @throws RestAPIException
*/
- public static void removeServiceGroup(String name) throws RestAPIException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
+ public static void removeServiceGroup(String name,int tenantId) throws RestAPIException, AutoscalerServiceCartridgeGroupNotFoundExceptionException {
if (log.isDebugEnabled()) {
log.debug("Removing cartridge group: [name] " + name);
@@ -1321,7 +1324,7 @@ public class StratosApiV41Utils {
// Check whether cartridge group exists
try {
- if (asServiceClient.getServiceGroup(name) == null) {
+ if (asServiceClient.getServiceGroupByTenant(name,tenantId) == null) {
String message = "Cartridge group: [group-name] " + name + " cannot be removed since it does not exist";
log.error(message);
throw new RestAPIException(message);
@@ -1334,9 +1337,9 @@ public class StratosApiV41Utils {
throw new RestAPIException(message);
}
- ServiceGroup serviceGroup = asServiceClient.getServiceGroup(name);
+ ServiceGroup serviceGroup = asServiceClient.getServiceGroupByTenant(name,tenantId);
- asServiceClient.undeployServiceGroupDefinition(name);
+ asServiceClient.undeployServiceGroupDefinition(serviceGroup.getUuid());
// Remove the dependent cartridges and cartridge groups from Stratos Manager cache
// - done after service group has been removed
http://git-wip-us.apache.org/repos/asf/stratos/blob/e0f6286e/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 341c346..10a0757 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
@@ -1800,7 +1800,7 @@ public class ObjectConverter {
List<CartridgeGroupBean> groupsDefinitions = groupBean.getGroups();
List<String> cartridgesDefinitions = groupBean.getCartridges();
- servicegroup.setName(groupBean.getUuid());
+ servicegroup.setName(groupBean.getName());
servicegroup.setUuid(groupBean.getUuid());
servicegroup.setTenantId(groupBean.getTenantId());