Remove UUID and tenantId from NetworkPartition Bean
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/169ae460 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/169ae460 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/169ae460 Branch: refs/heads/tenant-isolation Commit: 169ae46022bd8b0966c70a0203ed68d44dbc3f1d Parents: 1958abd Author: Dinithi <[email protected]> Authored: Wed Jul 29 21:24:33 2015 +0530 Committer: Dinithi <[email protected]> Committed: Wed Jul 29 21:24:33 2015 +0530 ---------------------------------------------------------------------- .../services/CloudControllerService.java | 50 ++- .../impl/CloudControllerServiceImpl.java | 166 ++++---- .../beans/partition/NetworkPartitionBean.java | 19 - .../client/CloudControllerServiceClient.java | 35 +- .../rest/endpoint/api/StratosApiV41.java | 91 ++-- .../rest/endpoint/api/StratosApiV41Utils.java | 272 ++++++------ .../util/converter/ObjectConverter.java | 126 +++--- .../main/resources/CloudControllerService.wsdl | 414 +++++++++++-------- 8 files changed, 618 insertions(+), 555 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/169ae460/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java index 1474ae5..9992795 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java @@ -203,17 +203,17 @@ public interface CloudControllerService { */ public boolean unregisterService(String clusterId) throws UnregisteredClusterException; - /** - * This method will return the information regarding the given cartridge, if present. - * Else this will return <code>null</code>. - * - * @param cartridgeType type of the cartridge. - * @return {@link org.apache.stratos.cloud.controller.domain.Cartridge} of the given cartridge type or - * <code>null</code>. - * @throws org.apache.stratos.cloud.controller.exception.CartridgeNotFoundException if there is no registered - * cartridge with this type. - */ - public Cartridge getCartridge(String cartridgeType) throws CartridgeNotFoundException; + /** + * This method will return the information regarding the given cartridge, if present. + * Else this will return <code>null</code>. + * + * @param cartridgeType type of the cartridge. + * @return {@link org.apache.stratos.cloud.controller.domain.Cartridge} of the given cartridge type or + * <code>null</code>. + * @throws org.apache.stratos.cloud.controller.exception.CartridgeNotFoundException if there is no registered + * cartridge with this type. + */ + public Cartridge getCartridge(String cartridgeType) throws CartridgeNotFoundException; /** * This method will return the information regarding the given cartridge, if present. * Else this will return <code>null</code>. @@ -282,15 +282,15 @@ public interface CloudControllerService { public KubernetesCluster getKubernetesCluster(String kubernetesClusterUuid) throws NonExistingKubernetesClusterException; - /** - * Retrieves Kubernetes cluster for given Kubernetes cluster ID and tenant id - * @param kubernetesClusterId - * @param tenantId - * @return - * @throws NonExistingKubernetesClusterException - */ - public KubernetesCluster getKubernetesClusterByTenant(String kubernetesClusterId, int tenantId) throws - NonExistingKubernetesClusterException; + /** + * Retrieves Kubernetes cluster for given Kubernetes cluster ID and tenant id + * @param kubernetesClusterId + * @param tenantId + * @return + * @throws NonExistingKubernetesClusterException + */ + public KubernetesCluster getKubernetesClusterByTenant(String kubernetesClusterId, int tenantId) throws + NonExistingKubernetesClusterException; /** * Retrieves Kubernetes Master for given Kubernetes cluster ID. @@ -434,8 +434,16 @@ public interface CloudControllerService { /** * Get cartridges for tenant * - * @param cartridgeType Type of the cartridge * @param tenantId tenant id */ public Cartridge[] getCartridgesByTenant(int tenantId); + + /** + * Get cartridges for tenant + * + * @param networkPartitionUuid network partition uuid + * @param tenantId tenant id + */ + public NetworkPartition getNetworkPartitionByTenant(String networkPartitionUuid, int tenantId); + } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/169ae460/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 5727689..0cd124d 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 @@ -69,57 +69,57 @@ public class CloudControllerServiceImpl implements CloudControllerService { } - public boolean addCartridge(Cartridge cartridgeConfig) throws InvalidCartridgeDefinitionException, - InvalidIaasProviderException, - CartridgeAlreadyExistsException { - - handleNullObject(cartridgeConfig, "Cartridge definition is null"); - handleNullObject(cartridgeConfig.getUuid(), "Cartridge definition UUID is null"); - - if (log.isInfoEnabled()) { - log.info(String.format("Adding cartridge: [cartridge-uuid] %s [cartridge-type] %s [tenant id] %d ", - cartridgeConfig.getUuid(), cartridgeConfig.getType(), - cartridgeConfig.getTenantId())); - } - if (log.isDebugEnabled()) { - log.debug("Cartridge definition: " + cartridgeConfig.toString()); - } - - try { - CloudControllerUtil.extractIaaSProvidersFromCartridge(cartridgeConfig); - } catch (Exception e) { - String message = String.format("Invalid cartridge definition: [cartridge-uuid] %s [cartridge-type] %s", - " [tenant-id] ", cartridgeConfig.getUuid(), cartridgeConfig.getType(), - cartridgeConfig.getTenantId()); - log.error(message, e); - throw new InvalidCartridgeDefinitionException(message, e); - } - - String cartridgeUuid = cartridgeConfig.getUuid(); - Cartridge existingCartridge = cloudControllerContext.getCartridge(cartridgeUuid); - if (existingCartridge != null) { - String message = String.format( - "Cartridge already exists: [cartridge-uuid] %s [cartridge-type] %s [tenant id] %d ", cartridgeUuid, - existingCartridge.getType(), existingCartridge.getTenantId()); - log.error(message); - throw new CartridgeAlreadyExistsException(message); - } - - // Add cartridge to the cloud controller context and persist - CloudControllerContext.getInstance().addCartridge(cartridgeConfig); - CloudControllerContext.getInstance().persist(); - - List<Cartridge> cartridgeList = new ArrayList<Cartridge>(); - cartridgeList.add(cartridgeConfig); - - TopologyBuilder.handleServiceCreated(cartridgeList); - - if (log.isInfoEnabled()) { - log.info(String.format("Successfully added cartridge: [cartridge-uuid] %s [cartridge-type] %s [tenant-id] %d ", + public boolean addCartridge(Cartridge cartridgeConfig) throws InvalidCartridgeDefinitionException, + InvalidIaasProviderException, + CartridgeAlreadyExistsException { + + handleNullObject(cartridgeConfig, "Cartridge definition is null"); + handleNullObject(cartridgeConfig.getUuid(), "Cartridge definition UUID is null"); + + if (log.isInfoEnabled()) { + log.info(String.format("Adding cartridge: [cartridge-uuid] %s [cartridge-type] %s [tenant id] %d ", + cartridgeConfig.getUuid(), cartridgeConfig.getType(), + cartridgeConfig.getTenantId())); + } + if (log.isDebugEnabled()) { + log.debug("Cartridge definition: " + cartridgeConfig.toString()); + } + + try { + CloudControllerUtil.extractIaaSProvidersFromCartridge(cartridgeConfig); + } catch (Exception e) { + String message = String.format("Invalid cartridge definition: [cartridge-uuid] %s [cartridge-type] %s", + " [tenant-id] ", cartridgeConfig.getUuid(), cartridgeConfig.getType(), + cartridgeConfig.getTenantId()); + log.error(message, e); + throw new InvalidCartridgeDefinitionException(message, e); + } + + String cartridgeUuid = cartridgeConfig.getUuid(); + Cartridge existingCartridge = cloudControllerContext.getCartridge(cartridgeUuid); + if (existingCartridge != null) { + String message = String.format( + "Cartridge already exists: [cartridge-uuid] %s [cartridge-type] %s [tenant id] %d ", cartridgeUuid, + existingCartridge.getType(), existingCartridge.getTenantId()); + log.error(message); + throw new CartridgeAlreadyExistsException(message); + } + + // Add cartridge to the cloud controller context and persist + CloudControllerContext.getInstance().addCartridge(cartridgeConfig); + CloudControllerContext.getInstance().persist(); + + List<Cartridge> cartridgeList = new ArrayList<Cartridge>(); + cartridgeList.add(cartridgeConfig); + + TopologyBuilder.handleServiceCreated(cartridgeList); + + if (log.isInfoEnabled()) { + log.info(String.format("Successfully added cartridge: [cartridge-uuid] %s [cartridge-type] %s [tenant-id] %d ", cartridgeUuid, cartridgeConfig.getType(), cartridgeConfig.getTenantId())); - } - return true; - } + } + return true; + } @Override public boolean updateCartridge(Cartridge cartridge) throws InvalidCartridgeDefinitionException, @@ -762,16 +762,16 @@ public class CloudControllerServiceImpl implements CloudControllerService { return cartridgeTypes; } - @Override - public Cartridge getCartridge(String cartridgeUuid) throws CartridgeNotFoundException { - Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeUuid); - if (cartridge != null) { - return cartridge; - } + @Override + public Cartridge getCartridge(String cartridgeUuid) throws CartridgeNotFoundException { + Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeUuid); + if (cartridge != null) { + return cartridge; + } - String msg = "Could not find cartridge: [cartridge-uuid] " + cartridgeUuid; - throw new CartridgeNotFoundException(msg); - } + String msg = "Could not find cartridge: [cartridge-uuid] " + cartridgeUuid; + throw new CartridgeNotFoundException(msg); + } @Override public Cartridge getCartridgeByTenant(String cartridgeType, int tenantId) throws CartridgeNotFoundException { @@ -1142,7 +1142,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { for (ApplicationClusterContext appClusterCtxt : appClustersContexts) { ClusterContext clusterContext = new ClusterContext( - appUuid, appClusterCtxt.getCartridgeType(), appClusterCtxt.getClusterId(), + appUuid, appClusterCtxt.getCartridgeType(), appClusterCtxt.getClusterId(), appClusterCtxt.getTextPayload(), appClusterCtxt.getHostName(), appClusterCtxt.isLbCluster(), appClusterCtxt.getProperties()); @@ -1206,16 +1206,16 @@ public class CloudControllerServiceImpl implements CloudControllerService { return CloudControllerContext.getInstance().getKubernetesCluster(kubernetesClusterUuid); } - @Override - public KubernetesCluster getKubernetesClusterByTenant(String kubernetesClusterId,int tenantId) throws - NonExistingKubernetesClusterException { - for(KubernetesCluster kubernetesCluster:getKubernetesClusters()){ - if(kubernetesCluster.getClusterId().equals(kubernetesClusterId)&&kubernetesCluster.getTenantId()==tenantId){ - return kubernetesCluster; - } - } - return null; - } + @Override + public KubernetesCluster getKubernetesClusterByTenant(String kubernetesClusterId,int tenantId) throws + NonExistingKubernetesClusterException { + for(KubernetesCluster kubernetesCluster:getKubernetesClusters()){ + if(kubernetesCluster.getClusterId().equals(kubernetesClusterId)&&kubernetesCluster.getTenantId()==tenantId){ + return kubernetesCluster; + } + } + return null; + } @Override public KubernetesMaster getMasterForKubernetesCluster(String kubernetesClusterId) throws @@ -1566,7 +1566,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { } if (log.isInfoEnabled()) { log.info(String.format("Partition validated successfully: [network-partition-uuid] %s " + - "[network-partition-id] %s [partition-id] %s", networkPartition.getUuid(), + "[network-partition-id] %s [partition-id] %s", networkPartition.getUuid(), networkPartition.getId(), partition.getUuid())); } } @@ -1574,7 +1574,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { } else { //Following message is shown to the end user in all the the API clients(GUI/CLI/Rest API) throw new InvalidNetworkPartitionException(String.format("Network partition [network-partition-uuid] %s " + - "[network-partition-id] %s, doesn't not have any partitions ", networkPartition.getUuid(), + "[network-partition-id] %s, doesn't not have any partitions ", networkPartition.getUuid(), networkPartition.getId())); } @@ -1584,7 +1584,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { CloudControllerContext.getInstance().persist(); if (log.isInfoEnabled()) { log.info(String.format("Network partition added successfully: [network-partition-uuid] %s " + - "[network-partition-id] %s", networkPartition.getUuid(),networkPartition.getId())); + "[network-partition-id] %s", networkPartition.getUuid(),networkPartition.getId())); } return true; } @@ -1669,7 +1669,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { validatePartition(partition); if (log.isInfoEnabled()) { log.info(String.format("Partition validated successfully: [network-partition-uuid] %s " + - "[network-partition-uuid] %s [partition-id] %s", networkPartitionUuid, + "[network-partition-uuid] %s [partition-id] %s", networkPartitionUuid, networkPartitionId, partition.getUuid())); } } @@ -1682,7 +1682,7 @@ public class CloudControllerServiceImpl implements CloudControllerService { CloudControllerContext.getInstance().persist(); if (log.isInfoEnabled()) { log.info(String.format("Network partition updated successfully: [network-partition-uuid] %s " + - "[network-partition-id] %s", networkPartitionUuid, networkPartitionId)); + "[network-partition-id] %s", networkPartitionUuid, networkPartitionId)); } return true; } catch (Exception e) { @@ -1720,6 +1720,22 @@ public class CloudControllerServiceImpl implements CloudControllerService { } @Override + public NetworkPartition getNetworkPartitionByTenant(String networkPartitionId, int tenantId) { + NetworkPartition[] allNetworkPartitions = getNetworkPartitions(); + NetworkPartition networkPartition = null; + + if (allNetworkPartitions != null) { + for (NetworkPartition networkPartition1 : allNetworkPartitions) { + if (networkPartition1.getTenantId() == tenantId && networkPartition1.getId().equals + (networkPartitionId)) { + networkPartition = networkPartition1; + } + } + } + return networkPartition; + } + + @Override public NetworkPartition getNetworkPartition(String networkPartitionUuid) { try { return CloudControllerContext.getInstance().getNetworkPartition(networkPartitionUuid); http://git-wip-us.apache.org/repos/asf/stratos/blob/169ae460/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java index fe9305d..05e1beb 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/partition/NetworkPartitionBean.java @@ -26,30 +26,11 @@ import java.util.List; @XmlRootElement public class NetworkPartitionBean { - - private String uuid; - private int tenantId; private String id; private String provider; private List<PartitionBean> partitions; private List<PropertyBean> properties; - public int getTenantId() { - return tenantId; - } - - public void setTenantId(int tenantId) { - this.tenantId = tenantId; - } - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - public String getId() { return id; } http://git-wip-us.apache.org/repos/asf/stratos/blob/169ae460/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java index 72ae7cc..0bd9272 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/client/CloudControllerServiceClient.java @@ -125,12 +125,12 @@ public class CloudControllerServiceClient { return stub.getCartridge(cartridgeType); } - public Cartridge getCartridgeByTenant(String cartridgeType,int tenantId) throws RemoteException, - CloudControllerServiceCartridgeNotFoundExceptionException { - return stub.getCartridgeByTenant(cartridgeType,tenantId); - } + public Cartridge getCartridgeByTenant(String cartridgeType,int tenantId) throws RemoteException, + CloudControllerServiceCartridgeNotFoundExceptionException { + return stub.getCartridgeByTenant(cartridgeType,tenantId); + } - public ClusterContext getClusterContext(String clusterId) throws RemoteException { + public ClusterContext getClusterContext(String clusterId) throws RemoteException { return stub.getClusterContext(clusterId); } @@ -226,6 +226,11 @@ public class CloudControllerServiceClient { return stub.getNetworkPartitionsByTenant(tenantId); } + public NetworkPartition getNetworkPartitionByTenant(String networkPartitionId, int tenantId) throws + RemoteException { + return stub.getNetworkPartitionByTenant(networkPartitionId, tenantId); + } + public NetworkPartition getNetworkPartition(String networkPartitionId) throws RemoteException { return stub.getNetworkPartition(networkPartitionId); } @@ -248,14 +253,14 @@ public class CloudControllerServiceClient { return stub.getIaasProviders(); } - public KubernetesCluster getKubernetesClusterByTenantId(String clusterId, int tenantId) - throws RemoteException { - try { - return stub.getKubernetesClusterByTenant(clusterId,tenantId); - } catch (CloudControllerServiceNonExistingKubernetesClusterExceptionException e) { - String msg = e.getFaultMessage().getNonExistingKubernetesClusterException().getMessage(); - log.error(msg, e); - throw new RuntimeException(msg, e); - } - } + public KubernetesCluster getKubernetesClusterByTenantId(String clusterId, int tenantId) + throws RemoteException { + try { + return stub.getKubernetesClusterByTenant(clusterId,tenantId); + } catch (CloudControllerServiceNonExistingKubernetesClusterExceptionException e) { + String msg = e.getFaultMessage().getNonExistingKubernetesClusterException().getMessage(); + log.error(msg, e); + throw new RuntimeException(msg, e); + } + } } http://git-wip-us.apache.org/repos/asf/stratos/blob/169ae460/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 2de856a..6b8f4a0 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 @@ -139,6 +139,7 @@ public class StratosApiV41 extends AbstractApi { PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); deploymentPolicyDefinitionBean.setTenantId(carbonContext.getTenantId()); + int tenantId = carbonContext.getTenantId(); List<NetworkPartitionReferenceBean> networkPartitionReferenceBeans = deploymentPolicyDefinitionBean .getNetworkPartitions(); @@ -147,7 +148,7 @@ public class StratosApiV41 extends AbstractApi { } try { - StratosApiV41Utils.addDeploymentPolicy(deploymentPolicyDefinitionBean); + StratosApiV41Utils.addDeploymentPolicy(deploymentPolicyDefinitionBean, deploymentPolicyUuid, tenantId); } catch (AutoscalerServiceInvalidDeploymentPolicyExceptionException e) { String backendErrorMessage = e.getFaultMessage().getInvalidDeploymentPolicyException().getMessage(); return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean( @@ -159,7 +160,7 @@ public class StratosApiV41 extends AbstractApi { URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicyId).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format("Deployment policy added successfully: [deployment-policy-uuid] %s " + - "[deployment-policy-uuid] %s", deploymentPolicyUuid, deploymentPolicyId))).build(); + "[deployment-policy-uuid] %s", deploymentPolicyUuid, deploymentPolicyId))).build(); } /** @@ -243,7 +244,7 @@ public class StratosApiV41 extends AbstractApi { URI url = uriInfo.getAbsolutePathBuilder().path(deploymentPolicyId).build(); return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format("Deployment policy updated successfully: [deployment-policy-uuid] %s " + - "[deployment-policy-id] %s", deploymentPolicyUuid, deploymentPolicyId))).build(); + "[deployment-policy-id] %s", deploymentPolicyUuid, deploymentPolicyId))).build(); } /** @@ -291,10 +292,10 @@ public class StratosApiV41 extends AbstractApi { CartridgeBean cartridgeDefinitionBean) throws RestAPIException { String cartridgeType = cartridgeDefinitionBean.getType(); - cartridgeDefinitionBean.setUuid(UUID.randomUUID().toString()); + cartridgeDefinitionBean.setUuid(UUID.randomUUID().toString()); - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - cartridgeDefinitionBean.setTenantId(carbonContext.getTenantId()); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + cartridgeDefinitionBean.setTenantId(carbonContext.getTenantId()); CartridgeBean cartridgeBean = null; try { @@ -304,7 +305,7 @@ public class StratosApiV41 extends AbstractApi { } if (cartridgeBean != null) { String msg = String.format("Cartridge already exists: [cartridge-type] %s [cartridge-uuid] %s [tenant-id] %d", - cartridgeType,cartridgeDefinitionBean.getUuid(),cartridgeDefinitionBean.getTenantId()); + cartridgeType,cartridgeDefinitionBean.getUuid(),cartridgeDefinitionBean.getTenantId()); log.warn(msg); return Response.status(Response.Status.CONFLICT) .entity(new ResponseMessageBean(ResponseMessageBean.ERROR, msg)).build(); @@ -314,7 +315,7 @@ public class StratosApiV41 extends AbstractApi { URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeType).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format("Cartridge added successfully: [cartridge-type] %s [cartridge-uuid] %s [tenant-id] %d", - cartridgeType,cartridgeDefinitionBean.getUuid(),cartridgeDefinitionBean.getTenantId()))).build(); + cartridgeType,cartridgeDefinitionBean.getUuid(),cartridgeDefinitionBean.getTenantId()))).build(); } /** @@ -332,8 +333,8 @@ public class StratosApiV41 extends AbstractApi { public Response updateCartridge( CartridgeBean cartridgeDefinitionBean) throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - cartridgeDefinitionBean.setTenantId(carbonContext.getTenantId()); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + cartridgeDefinitionBean.setTenantId(carbonContext.getTenantId()); StratosApiV41Utils.updateCartridge(cartridgeDefinitionBean); URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeDefinitionBean.getType()).build(); return Response.ok(url) @@ -356,10 +357,10 @@ public class StratosApiV41 extends AbstractApi { public Response getCartridges() throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); //We pass null to searching string and multi-tenant parameter since we do not need to do any filtering List<CartridgeBean> cartridges = StratosApiV41Utils.getAvailableCartridges(null, null, getConfigContext(), - carbonContext.getTenantId()); + carbonContext.getTenantId()); if (cartridges == null || cartridges.isEmpty()) { return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean( ResponseMessageBean.ERROR, "No cartridges found")).build(); @@ -383,7 +384,7 @@ public class StratosApiV41 extends AbstractApi { public Response getCartridge( @PathParam("cartridgeType") String cartridgeType) throws RestAPIException { CartridgeBean cartridge; - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); try { cartridge = StratosApiV41Utils.getCartridge(cartridgeType,carbonContext.getTenantId()); return Response.ok().entity(cartridge).build(); @@ -409,7 +410,7 @@ public class StratosApiV41 extends AbstractApi { public Response getCartridgesByFilter( @DefaultValue("") @PathParam("filter") String filter, @QueryParam("criteria") String criteria) throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); List<CartridgeBean> cartridges = StratosApiV41Utils. getCartridgesByFilter(filter, criteria, getConfigContext(),carbonContext.getTenantId()); if (cartridges == null || cartridges.isEmpty()) { @@ -438,7 +439,7 @@ public class StratosApiV41 extends AbstractApi { @PathParam("cartridgeType") String cartridgeType, @DefaultValue("") @PathParam("filter") String filter) throws RestAPIException { CartridgeBean cartridge; - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); cartridge = StratosApiV41Utils.getCartridgeByFilter(filter, cartridgeType, getConfigContext(),carbonContext.getTenantId()); if (cartridge == null) { return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean( @@ -462,7 +463,7 @@ public class StratosApiV41 extends AbstractApi { @AuthorizationAction("/permission/admin/stratos/cartridges/manage") public Response removeCartridge( @PathParam("cartridgeType") String cartridgeType) throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); try { StratosApiV41Utils.removeCartridge(cartridgeType,carbonContext.getTenantId()); return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, @@ -496,9 +497,9 @@ public class StratosApiV41 extends AbstractApi { public Response addCartridgeGroup( CartridgeGroupBean cartridgeGroupBean) throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - cartridgeGroupBean.setUuid(UUID.randomUUID().toString()); - cartridgeGroupBean.setTenantId(carbonContext.getTenantId()); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + cartridgeGroupBean.setUuid(UUID.randomUUID().toString()); + cartridgeGroupBean.setTenantId(carbonContext.getTenantId()); try { StratosApiV41Utils.addCartridgeGroup(cartridgeGroupBean); URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getUuid()).build(); @@ -537,7 +538,7 @@ public class StratosApiV41 extends AbstractApi { CartridgeGroupBean cartridgeGroupBean) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); StratosApiV41Utils.updateServiceGroup(cartridgeGroupBean,carbonContext.getTenantId()); URI url = uriInfo.getAbsolutePathBuilder().path(cartridgeGroupBean.getUuid()).build(); @@ -573,7 +574,7 @@ public class StratosApiV41 extends AbstractApi { public Response getCartridgeGroup( @PathParam("name") String name) throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); CartridgeGroupBean serviceGroupDefinition = StratosApiV41Utils.getServiceGroupDefinition(name,carbonContext.getTenantId()); if (serviceGroupDefinition != null) { @@ -622,7 +623,7 @@ public class StratosApiV41 extends AbstractApi { public Response removeServiceGroup( @PathParam("name") String name) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); StratosApiV41Utils.removeServiceGroup(name, carbonContext.getTenantId()); } catch (AutoscalerServiceCartridgeGroupNotFoundExceptionException e) { return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean( @@ -653,18 +654,17 @@ public class StratosApiV41 extends AbstractApi { public Response addNetworkPartition( NetworkPartitionBean networkPartitionBean) throws RestAPIException { String networkPartitionId = networkPartitionBean.getId(); - networkPartitionBean.setUuid(UUID.randomUUID().toString()); + String networkPartitionUuid = UUID.randomUUID().toString(); PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - networkPartitionBean.setTenantId(carbonContext.getTenantId()); + int tenantId = carbonContext.getTenantId(); try { - StratosApiV41Utils.addNetworkPartition(networkPartitionBean); + StratosApiV41Utils.addNetworkPartition(networkPartitionBean, networkPartitionUuid, tenantId); } catch (CloudControllerServiceNetworkPartitionAlreadyExistsExceptionException e) { String backendErrorMessage = e.getFaultMessage().getNetworkPartitionAlreadyExistsException().getMessage(); return Response.status(Response.Status.CONFLICT) - .entity(new ResponseMessageBean(ResponseMessageBean.ERROR, backendErrorMessage)) - .build(); + .entity(new ResponseMessageBean(ResponseMessageBean.ERROR, backendErrorMessage)).build(); } catch (CloudControllerServiceInvalidNetworkPartitionExceptionException e) { String backendErrorMessage = e.getFaultMessage().getInvalidNetworkPartitionException().getMessage(); @@ -674,8 +674,8 @@ public class StratosApiV41 extends AbstractApi { } URI url = uriInfo.getAbsolutePathBuilder().path(networkPartitionId).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, - String.format("Network partition added successfully: [network-partition-uuid] %s " + - "[network-partition-id] %s", networkPartitionBean.getUuid(), networkPartitionId))).build(); + String.format("Network partition added successfully: [network-partition-id] %s", + networkPartitionId))).build(); } /** @@ -743,8 +743,7 @@ public class StratosApiV41 extends AbstractApi { ResponseMessageBean.ERROR, "Network partition not found")).build(); } return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, - String.format("Network Partition updated successfully: [network-partition-uuid] %s " + - "[network-partition-id] %s", networkPartition.getUuid(), + String.format("Network Partition updated successfully: [network-partition-id] %s", networkPartition.getId()))).build(); } @@ -769,7 +768,7 @@ public class StratosApiV41 extends AbstractApi { } return Response.ok().entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format("Network partition deleted successfully: [network-partition-id] %s " + - "[tenant-domain] %s", networkPartitionId, carbonContext.getTenantDomain()))).build(); + "[tenant-domain] %s", networkPartitionId, carbonContext.getTenantDomain()))).build(); } // API methods for applications @@ -788,9 +787,9 @@ public class StratosApiV41 extends AbstractApi { @AuthorizationAction("/permission/admin/stratos/applications/manage") public Response addApplication(ApplicationBean applicationDefinition) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - applicationDefinition.setTenantId(carbonContext.getTenantId()); - applicationDefinition.setApplicationUuid(UUID.randomUUID().toString()); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + applicationDefinition.setTenantId(carbonContext.getTenantId()); + applicationDefinition.setApplicationUuid(UUID.randomUUID().toString()); StratosApiV41Utils.addApplication(applicationDefinition, getConfigContext(), getUsername(), getTenantDomain()); @@ -956,7 +955,7 @@ public class StratosApiV41 extends AbstractApi { URI url = uriInfo.getAbsolutePathBuilder().path(applicationPolicy.getId()).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format("Application policy added successfully: [application-policy-uuid] %s " + - "[application-policy-id] %s", applicationPolicyUuid, applicationPolicyId))).build(); + "[application-policy-id] %s", applicationPolicyUuid, applicationPolicyId))).build(); } catch (AutoscalerServiceInvalidApplicationPolicyExceptionException e) { String backendErrorMessage = e.getFaultMessage().getInvalidApplicationPolicyException().getMessage(); return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean( @@ -1331,7 +1330,7 @@ public class StratosApiV41 extends AbstractApi { public Response getApplicationRuntime( @PathParam("applicationId") String applicationId) throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); ApplicationInfoBean applicationRuntime = StratosApiV41Utils.getApplicationRuntime(applicationId,carbonContext.getTenantId()); if (applicationRuntime == null) { return Response.status(Response.Status.NOT_FOUND).entity(new ResponseMessageBean( @@ -1443,7 +1442,7 @@ public class StratosApiV41 extends AbstractApi { URI url = uriInfo.getAbsolutePathBuilder().path(autoscalePolicy.getId()).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, String.format("Autoscaling policy added successfully: [autoscale-policy-uuid] %s " + - "[autoscale-policy-id] %s", autoscalingPolicyUuid, autoscalingPolicyId))).build(); + "[autoscale-policy-id] %s", autoscalingPolicyUuid, autoscalingPolicyId))).build(); } catch (AutoscalerServiceInvalidPolicyExceptionException e) { return Response.status(Response.Status.BAD_REQUEST).entity(new ResponseMessageBean( ResponseMessageBean.ERROR, "Provided Autoscaling policy is invalid")).build(); @@ -1911,9 +1910,9 @@ public class StratosApiV41 extends AbstractApi { KubernetesClusterBean kubernetesCluster) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - kubernetesCluster.setTenantId(carbonContext.getTenantId()); - kubernetesCluster.setClusterUuid(UUID.randomUUID().toString()); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + kubernetesCluster.setTenantId(carbonContext.getTenantId()); + kubernetesCluster.setClusterUuid(UUID.randomUUID().toString()); StratosApiV41Utils.addKubernetesCluster(kubernetesCluster); URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesCluster.getClusterUuid()).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, @@ -1946,8 +1945,8 @@ public class StratosApiV41 extends AbstractApi { KubernetesClusterBean kubernetesCluster) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - kubernetesCluster.setTenantId(carbonContext.getTenantId()); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + kubernetesCluster.setTenantId(carbonContext.getTenantId()); StratosApiV41Utils.updateKubernetesCluster(kubernetesCluster); URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesCluster.getClusterUuid()).build(); return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, @@ -1978,7 +1977,7 @@ public class StratosApiV41 extends AbstractApi { @PathParam("kubernetesClusterId") String kubernetesClusterId, KubernetesHostBean kubernetesHost) throws RestAPIException { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); StratosApiV41Utils.addKubernetesHost(kubernetesClusterId,kubernetesHost,carbonContext.getTenantId()); URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesHost.getHostId()).build(); return Response.created(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, @@ -2000,7 +1999,7 @@ public class StratosApiV41 extends AbstractApi { public Response updateKubernetesMaster( KubernetesMasterBean kubernetesMaster) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); StratosApiV41Utils.updateKubernetesMaster(kubernetesMaster,carbonContext.getTenantId()); URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesMaster.getHostId()).build(); return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, @@ -2020,7 +2019,7 @@ public class StratosApiV41 extends AbstractApi { public Response updateKubernetesHost( KubernetesHostBean kubernetesHost) throws RestAPIException { try { - PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); StratosApiV41Utils.updateKubernetesHost(kubernetesHost,carbonContext.getTenantId()); URI url = uriInfo.getAbsolutePathBuilder().path(kubernetesHost.getHostId()).build(); return Response.ok(url).entity(new ResponseMessageBean(ResponseMessageBean.SUCCESS, http://git-wip-us.apache.org/repos/asf/stratos/blob/169ae460/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 13aee9e..c2d7365 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 @@ -113,64 +113,64 @@ public class StratosApiV41Utils { private static final Log log = LogFactory.getLog(StratosApiV41Utils.class); - /** - * Add new cartridge util method - * - * @param cartridgeBean Cartridge definition - * @throws RestAPIException - */ - public static void addCartridge(CartridgeBean cartridgeBean) throws RestAPIException { - - try { - if (log.isDebugEnabled()) { - log.debug(String.format("Adding cartridge: [cartridge-uuid] %s[cartridge-type] %s ", + /** + * Add new cartridge util method + * + * @param cartridgeBean Cartridge definition + * @throws RestAPIException + */ + public static void addCartridge(CartridgeBean cartridgeBean) throws RestAPIException { + + try { + if (log.isDebugEnabled()) { + log.debug(String.format("Adding cartridge: [cartridge-uuid] %s[cartridge-type] %s ", cartridgeBean.getUuid(), cartridgeBean.getType())); - } - - List<IaasProviderBean> iaasProviders = cartridgeBean.getIaasProvider(); - if ((iaasProviders == null) || iaasProviders.size() == 0) { - throw new RestAPIException(String.format("IaaS providers not found in cartridge: %s", - cartridgeBean.getType())); - } - - for (PortMappingBean portMapping : cartridgeBean.getPortMapping()) { - if (StringUtils.isBlank(portMapping.getName())) { - portMapping.setName(portMapping.getProtocol() + "-" + portMapping.getPort()); - if (log.isInfoEnabled()) { - log.info(String.format("Port mapping name not found, default value generated: " + + } + + List<IaasProviderBean> iaasProviders = cartridgeBean.getIaasProvider(); + if ((iaasProviders == null) || iaasProviders.size() == 0) { + throw new RestAPIException(String.format("IaaS providers not found in cartridge: %s", + cartridgeBean.getType())); + } + + for (PortMappingBean portMapping : cartridgeBean.getPortMapping()) { + if (StringUtils.isBlank(portMapping.getName())) { + portMapping.setName(portMapping.getProtocol() + "-" + portMapping.getPort()); + if (log.isInfoEnabled()) { + log.info(String.format("Port mapping name not found, default value generated: " + "[cartridge-uuid] %s [cartridge-type] %s [port-mapping-name] %s", cartridgeBean.getUuid(), cartridgeBean.getType(), portMapping.getName())); - } - } - } + } + } + } - Cartridge cartridgeConfig = createCartridgeConfig(cartridgeBean); - CloudControllerServiceClient cloudControllerServiceClient = CloudControllerServiceClient.getInstance(); - cloudControllerServiceClient.addCartridge(cartridgeConfig); + Cartridge cartridgeConfig = createCartridgeConfig(cartridgeBean); + CloudControllerServiceClient cloudControllerServiceClient = CloudControllerServiceClient.getInstance(); + cloudControllerServiceClient.addCartridge(cartridgeConfig); - if (log.isDebugEnabled()) { - log.debug(String.format( - "Successfully added cartridge: [cartridge-uuid] %s [cartridge-type] %s ", + if (log.isDebugEnabled()) { + log.debug(String.format( + "Successfully added cartridge: [cartridge-uuid] %s [cartridge-type] %s ", cartridgeBean.getUuid(), cartridgeBean.getType())); - } - } catch (CloudControllerServiceCartridgeAlreadyExistsExceptionException e) { - String msg = "Could not add cartridge as it is already exits"; - log.error(msg, e); - throw new RestAPIException(msg); - } catch (CloudControllerServiceInvalidCartridgeDefinitionExceptionException e) { - String msg = "Could not add cartridge as invalid cartridge definition"; - log.error(msg, e); - throw new RestAPIException(msg); - } catch (RemoteException e) { - String msg = "Could not add cartridge"; - log.error(msg, e); - throw new RestAPIException(msg); - } catch (CloudControllerServiceInvalidIaasProviderExceptionException e) { - String msg = "Could not add cartridge as invalid iaas provider"; - log.error(msg, e); - throw new RestAPIException(msg); - } - } + } + } catch (CloudControllerServiceCartridgeAlreadyExistsExceptionException e) { + String msg = "Could not add cartridge as it is already exits"; + log.error(msg, e); + throw new RestAPIException(msg); + } catch (CloudControllerServiceInvalidCartridgeDefinitionExceptionException e) { + String msg = "Could not add cartridge as invalid cartridge definition"; + log.error(msg, e); + throw new RestAPIException(msg); + } catch (RemoteException e) { + String msg = "Could not add cartridge"; + log.error(msg, e); + throw new RestAPIException(msg); + } catch (CloudControllerServiceInvalidIaasProviderExceptionException e) { + String msg = "Could not add cartridge as invalid iaas provider"; + log.error(msg, e); + throw new RestAPIException(msg); + } + } @@ -191,15 +191,15 @@ public class StratosApiV41Utils { List<IaasProviderBean> iaasProviders = cartridgeBean.getIaasProvider(); if ((iaasProviders == null) || iaasProviders.size() == 0) { throw new RestAPIException(String.format("IaaS providers not found in cartridge: [cartridge-uuid] %s [tenant-id] %d" + - "[cartridge-type] %s", cartridgeBean.getUuid(), cartridgeBean.getType(),cartridgeBean.getTenantId())); + "[cartridge-type] %s", cartridgeBean.getUuid(), cartridgeBean.getType(),cartridgeBean.getTenantId())); } Cartridge cartridgeConfig = createCartridgeConfig(cartridgeBean); CloudControllerServiceClient cloudControllerServiceClient = CloudControllerServiceClient.getInstance(); - Cartridge existingCartridge=cloudControllerServiceClient.getCartridgeByTenant(cartridgeBean.getType(), - cartridgeBean.getTenantId()); - cartridgeConfig.setUuid(existingCartridge.getUuid()); - cloudControllerServiceClient.updateCartridge(cartridgeConfig); + Cartridge existingCartridge=cloudControllerServiceClient.getCartridgeByTenant(cartridgeBean.getType(), + cartridgeBean.getTenantId()); + cartridgeConfig.setUuid(existingCartridge.getUuid()); + cloudControllerServiceClient.updateCartridge(cartridgeConfig); if (log.isDebugEnabled()) { log.debug(String.format("Successfully updated cartridge: [cartridge-uuid] %s [cartridge-type] %s [tenant-id]", @@ -222,9 +222,9 @@ public class StratosApiV41Utils { log.error(msg, e); throw new RestAPIException(msg); } catch (CloudControllerServiceCartridgeNotFoundExceptionException e) { - String msg = "Could not find existing cartridge"; - log.error(msg, e); - e.printStackTrace(); + String msg = "Could not find existing cartridge"; + log.error(msg, e); + e.printStackTrace(); } } @@ -244,7 +244,7 @@ public class StratosApiV41Utils { } if (StringUtils.isEmpty(cartridgeConfig.getCategory())) { throw new RestAPIException(String.format("Category is not specified in cartridge: [cartridge-uuid] %s " + - "[cartridge-type] %s [tenant-id] %d", cartridgeConfig.getUuid(), cartridgeConfig.getType(),cartridgeConfig.getTenantId())); + "[cartridge-type] %s [tenant-id] %d", cartridgeConfig.getUuid(), cartridgeConfig.getType(),cartridgeConfig.getTenantId())); } return cartridgeConfig; } @@ -268,7 +268,7 @@ public class StratosApiV41Utils { } - if (cartridge== null) { + if (cartridge== null) { throw new RuntimeException(String.format("Cartridge not found: [cartridge-type] %s in tenant: " + "[tenant-id] %s", cartridgeType, tenantId)); } @@ -454,7 +454,7 @@ public class StratosApiV41Utils { Cartridge cartridgeInfo = null; try { //cartridgeInfo = CloudControllerServiceClient.getInstance().getCartridgeByTenant - // (cartridgeType,tenantId); + // (cartridgeType,tenantId); cartridgeInfo = cartridgeDefinition; } catch (Exception e) { if (log.isWarnEnabled()) { @@ -481,10 +481,10 @@ public class StratosApiV41Utils { if (!StratosApiV41Utils.cartridgeMatches(cartridgeInfo, searchPattern)) { continue; } - if(cartridgeInfo.getTenantId() == tenantId) { - CartridgeBean cartridge = ObjectConverter.convertCartridgeToCartridgeDefinitionBean(cartridgeInfo); - cartridges.add(cartridge); - } + if(cartridgeInfo.getTenantId() == tenantId) { + CartridgeBean cartridge = ObjectConverter.convertCartridgeToCartridgeDefinitionBean(cartridgeInfo); + cartridges.add(cartridge); + } } } else { if (log.isDebugEnabled()) { @@ -962,7 +962,7 @@ public class StratosApiV41Utils { autoscalePolicyBean = ObjectConverter.convertStubAutoscalePolicyToAutoscalePolicy(autoscalePolicy); } catch (RemoteException e) { String errorMsg = "Error while getting information for autoscaling policy: [autoscaing-policy-id]" + - autoscalePolicyId + ". Cause: " + e.getMessage(); + autoscalePolicyId + ". Cause: " + e.getMessage(); log.error(errorMsg, e); throw new RestAPIException(errorMsg, e); } @@ -1107,10 +1107,10 @@ public class StratosApiV41Utils { public static void updateServiceGroup(CartridgeGroupBean cartridgeGroup,int tenantId) throws RestAPIException, InvalidCartridgeGroupDefinitionException, CloudControllerServiceCartridgeNotFoundExceptionException { try { - AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance(); - ServiceGroup existingServiceGroup =autoscalerServiceClient.getServiceGroupByTenant(cartridgeGroup.getName(), tenantId); - cartridgeGroup.setUuid(existingServiceGroup.getUuid()); - cartridgeGroup.setTenantId(tenantId); + AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance(); + ServiceGroup existingServiceGroup =autoscalerServiceClient.getServiceGroupByTenant(cartridgeGroup.getName(), tenantId); + cartridgeGroup.setUuid(existingServiceGroup.getUuid()); + cartridgeGroup.setTenantId(tenantId); ServiceGroup serviceGroup = ObjectConverter.convertServiceGroupDefinitionToASStubServiceGroup( cartridgeGroup); @@ -1120,7 +1120,7 @@ public class StratosApiV41Utils { // Validate whether cartridge group can be updated if (!smServiceClient.canCartirdgeGroupBeRemoved(cartridgeGroup.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", + "[cartridge-group-name] %s since it is used in another cartridge group or an application", cartridgeGroup.getUuid(), cartridgeGroup.getName()); log.error(message); @@ -1313,7 +1313,7 @@ public class StratosApiV41Utils { // Check whether cartridge group exists try { - ServiceGroup serviceGroup = asServiceClient.getServiceGroupByTenant(name, tenantId); + ServiceGroup serviceGroup = asServiceClient.getServiceGroupByTenant(name, tenantId); if (serviceGroup == null) { String message = "Cartridge group: [cartridge-group-name] " + name + " cannot be removed since it " + @@ -1324,7 +1324,7 @@ public class StratosApiV41Utils { // Validate whether cartridge group can be removed if (!smServiceClient.canCartirdgeGroupBeRemoved(serviceGroup.getUuid())) { String message = String.format("Cannot remove cartridge group: [cartridge-group-uuid] %s [group-name]" + - " %s since it is used in another cartridge group or an application in tenant %d", serviceGroup.getUuid(), + " %s since it is used in another cartridge group or an application in tenant %d", serviceGroup.getUuid(), serviceGroup.getName(),tenantId); log.error(message); throw new RestAPIException(message); @@ -1441,7 +1441,7 @@ public class StratosApiV41Utils { throw new RestAPIException("Could not read application", e); } - validateApplication(appDefinition); + validateApplication(appDefinition); // To validate groups have unique alias in the application definition validateGroupsInApplicationDefinition(appDefinition); @@ -1487,7 +1487,7 @@ public class StratosApiV41Utils { } } - /** + /** * Update the existence of the application and update it. * * @param appDefinition Application definition @@ -1814,8 +1814,8 @@ public class StratosApiV41Utils { log.error(message); throw new RestAPIException(message); } - String applicationPolicyUuid=AutoscalerServiceClient.getInstance().getApplicationPolicyByTenant( - applicationPolicyId,application.getTenantId()).getUuid(); + String applicationPolicyUuid=AutoscalerServiceClient.getInstance().getApplicationPolicyByTenant( + applicationPolicyId,application.getTenantId()).getUuid(); autoscalerServiceClient.deployApplication(application.getApplicationUuid(), applicationPolicyUuid); if (log.isInfoEnabled()) { log.info(String.format("Application deployed successfully: [application-uuid] %s [application-id] %s", @@ -1987,10 +1987,10 @@ public class StratosApiV41Utils { throws RestAPIException { ApplicationInfoBean applicationBean = null; ApplicationContext applicationContext = null; - String applicationUuid=null; + String applicationUuid=null; //Checking whether application is in deployed mode try { - applicationUuid=getAutoscalerServiceClient().getApplicationByTenant(applicationId,tenantId).getApplicationUuid(); + applicationUuid=getAutoscalerServiceClient().getApplicationByTenant(applicationId,tenantId).getApplicationUuid(); applicationContext = getAutoscalerServiceClient(). getApplication(applicationUuid); } catch (RemoteException e) { @@ -2517,7 +2517,7 @@ public class StratosApiV41Utils { serviceClient.notifyArtifactUpdatedEventForSignUp(applicationId, tenantId); if (log.isInfoEnabled()) { log.info(String.format("Artifact updated event sent: [application-uuid] %s [application-id] %s " + - "[tenant-id] %d", applicationBean.getApplicationUuid(), applicationId, tenantId)); + "[tenant-id] %d", applicationBean.getApplicationUuid(), applicationId, tenantId)); } } catch (Exception e) { String message = String.format("Error in applicationBean signup: [application-uuid] %s [application-id] " + @@ -2774,13 +2774,14 @@ public class StratosApiV41Utils { * * @param networkPartitionBean NetworkPartitionBean */ - public static void addNetworkPartition(NetworkPartitionBean networkPartitionBean) throws RestAPIException, + public static void addNetworkPartition(NetworkPartitionBean networkPartitionBean, String networkPartitionUuid, + int tenantId) throws RestAPIException, CloudControllerServiceNetworkPartitionAlreadyExistsExceptionException, CloudControllerServiceInvalidNetworkPartitionExceptionException { try { CloudControllerServiceClient serviceClient = CloudControllerServiceClient.getInstance(); serviceClient.addNetworkPartition(ObjectConverter.convertNetworkPartitionToCCStubNetworkPartition - (networkPartitionBean)); + (networkPartitionBean, networkPartitionUuid, tenantId)); } catch (RemoteException e) { String message = e.getMessage(); log.error(message); @@ -2818,17 +2819,14 @@ public class StratosApiV41Utils { AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance(); - autoscalerServiceClient.validateNetworkPartitionWithApplication(networkPartitionId, tenantId); + autoscalerServiceClient.validateNetworkPartitionWithApplication(networkPartitionId, tenantId); - String networkPartitionUuid = null; PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - for (NetworkPartitionBean networkPartitionBean : getNetworkPartitions()) { - if (networkPartitionBean.getTenantId() == carbonContext.getTenantId() && - networkPartitionBean.getId().equals(networkPartitionId)) { - networkPartitionUuid = networkPartitionBean.getUuid(); - } - } + CloudControllerServiceClient serviceClient = CloudControllerServiceClient.getInstance(); + org.apache.stratos.cloud.controller.stub.domain.NetworkPartition networkPartition = + serviceClient.getNetworkPartitionByTenant(networkPartitionId, tenantId); + String networkPartitionUuid = networkPartition.getUuid(); DeploymentPolicy[] deploymentPolicies = autoscalerServiceClient.getDeploymentPoliciesByTenant(carbonContext.getTenantId()); @@ -2853,11 +2851,8 @@ public class StratosApiV41Utils { if (applicationPolicies != null) { for (ApplicationPolicy applicationPolicy : applicationPolicies) { - - for (String networkPartition : - applicationPolicy.getNetworkPartitionsUuid()) { - - if (networkPartition.equals(networkPartitionUuid)) { + for (String networkPartitionUuid1 : applicationPolicy.getNetworkPartitionsUuid()) { + if (networkPartitionUuid1.equals(networkPartitionUuid)) { String message = String.format("Cannot remove the network partition: " + "[network-partition-uuid] %s [network-partition-id] %s since it is used " + "in application policy: [application-policy-uuid] %s " + @@ -2870,12 +2865,11 @@ public class StratosApiV41Utils { } } - CloudControllerServiceClient serviceClient = CloudControllerServiceClient.getInstance(); serviceClient.removeNetworkPartition(networkPartitionId, tenantId); } catch (AutoscalerServicePartitionValidationExceptionException e) { - String message = e.getMessage(); - log.error(message); - throw new RestAPIException(message, e); + String message = e.getMessage(); + log.error(message); + throw new RestAPIException(message, e); } catch (RemoteException e) { String message = e.getMessage(); @@ -2919,14 +2913,21 @@ public class StratosApiV41Utils { /** * Update Network Partition * - * @param networkPartition NetworkPartitionBean + * @param networkPartitionBean NetworkPartitionBean */ - public static void updateNetworkPartition(NetworkPartitionBean networkPartition) throws RestAPIException, + public static void updateNetworkPartition(NetworkPartitionBean networkPartitionBean) throws RestAPIException, CloudControllerServiceNetworkPartitionNotExistsExceptionException { try { CloudControllerServiceClient serviceClient = CloudControllerServiceClient.getInstance(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + NetworkPartition networkPartition = serviceClient.getNetworkPartitionByTenant(networkPartitionBean.getId(), + carbonContext.getTenantId()); serviceClient.updateNetworkPartition(ObjectConverter. - convertNetworkPartitionToCCStubNetworkPartition(networkPartition)); + convertNetworkPartitionToCCStubNetworkPartition(networkPartitionBean, networkPartition.getUuid(), + networkPartition.getTenantId())); + log.debug(String.format("Updating network partition: [network-partition-uuid] %s, " + + "[network-partition-id] %s, [tenant-id] %d", networkPartition.getUuid(), networkPartition.getId(), + networkPartition.getTenantId())); } catch (RemoteException e) { String message = e.getMessage(); log.error(message); @@ -2939,39 +2940,40 @@ public class StratosApiV41Utils { * * @param deploymentPolicyDefinitionBean DeploymentPolicyBean */ - public static void addDeploymentPolicy(DeploymentPolicyBean deploymentPolicyDefinitionBean) - throws RestAPIException, - AutoscalerServiceDeploymentPolicyAlreadyExistsExceptionException, + public static void addDeploymentPolicy(DeploymentPolicyBean deploymentPolicyDefinitionBean, + String deploymentPolicyUuid, int tenantId) + throws RestAPIException, AutoscalerServiceDeploymentPolicyAlreadyExistsExceptionException, AutoscalerServiceInvalidDeploymentPolicyExceptionException { try { if (log.isDebugEnabled()) { log.debug(String.format("Adding deployment policy: [deployment-policy-uuid] %s [deployment-policy-id]" + - " %s ", deploymentPolicyDefinitionBean.getUuid(), deploymentPolicyDefinitionBean.getId + " %s ", deploymentPolicyDefinitionBean.getUuid(), deploymentPolicyDefinitionBean.getId ())); } NetworkPartitionBean[] networkPartitions = getNetworkPartitions(); for (NetworkPartitionReferenceBean networkPartitionReferenceBean : deploymentPolicyDefinitionBean .getNetworkPartitions()) { + NetworkPartition networkPartition = CloudControllerServiceClient.getInstance() + .getNetworkPartitionByTenant(networkPartitionReferenceBean.getId(), tenantId); for (NetworkPartitionBean networkPartitionBean : networkPartitions) { - if (networkPartitionBean.getTenantId() == deploymentPolicyDefinitionBean.getTenantId() && - networkPartitionBean.getId().equals(networkPartitionReferenceBean.getId())) { - networkPartitionReferenceBean.setUuid(networkPartitionBean.getUuid()); - for(PartitionReferenceBean partition: networkPartitionReferenceBean.getPartitions()){ - for(PartitionBean existingPartition: networkPartitionBean.getPartitions()){ - if(existingPartition.getTenantId()== deploymentPolicyDefinitionBean.getTenantId() && partition.getId().equals(existingPartition.getId())){ - partition.setUuid(existingPartition.getUuid()); - partition.setTenantId(deploymentPolicyDefinitionBean.getTenantId()); - } - } - } + if (networkPartition.getTenantId() == tenantId && networkPartitionBean.getId().equals + (networkPartitionReferenceBean.getId())) { + networkPartitionReferenceBean.setUuid(networkPartition.getUuid()); + for (PartitionReferenceBean partition : networkPartitionReferenceBean.getPartitions()) { + for (PartitionBean existingPartition : networkPartitionBean.getPartitions()) { + if (existingPartition.getTenantId() == tenantId && + partition.getId().equals(existingPartition.getId())) { + partition.setUuid(existingPartition.getUuid()); + partition.setTenantId(tenantId); + } + } + } } } } - - org.apache.stratos.autoscaler.stub.deployment.policy.DeploymentPolicy deploymentPolicy = ObjectConverter - .convertDeploymentPolicyBeanToASDeploymentPolicy(deploymentPolicyDefinitionBean); - AutoscalerServiceClient.getInstance().addDeploymentPolicy(deploymentPolicy); + AutoscalerServiceClient.getInstance().addDeploymentPolicy(ObjectConverter + .convertDeploymentPolicyBeanToASDeploymentPolicy(deploymentPolicyDefinitionBean)); if (log.isDebugEnabled()) { log.debug(String.format("Successfully added deploymentPolicy: [deployment-policy-uuid] %s " + @@ -3787,7 +3789,7 @@ public class StratosApiV41Utils { * @return String Uuid */ public static String getServiceGroupUuidByTenant(String serviceGroupName, - int tenantId) throws RestAPIException { + int tenantId) throws RestAPIException { try { AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance(); return (autoscalerServiceClient.getServiceGroupByTenant(serviceGroupName, tenantId).getUuid()); @@ -3804,7 +3806,7 @@ public class StratosApiV41Utils { * @return String Uuid */ public static String getDeploymentPolicyUuidByTenant(String deploymentPolicyId, - int tenantId) throws RestAPIException { + int tenantId) throws RestAPIException { try { AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getInstance(); return (autoscalerServiceClient.getDeploymentPolicyByTenant(deploymentPolicyId, tenantId).getUuid()); @@ -3815,15 +3817,15 @@ public class StratosApiV41Utils { } } - public static String getKubernetesClusterUuidByTenant(String clusterId,int tenantId) throws RestAPIException { + public static String getKubernetesClusterUuidByTenant(String clusterId,int tenantId) throws RestAPIException { - try { - return CloudControllerServiceClient.getInstance().getKubernetesClusterByTenantId(clusterId, tenantId) - .getClusterUuid(); - } catch (RemoteException e) { - String message = e.getMessage(); - log.error(message); - throw new RestAPIException(message, e); - } - } + try { + return CloudControllerServiceClient.getInstance().getKubernetesClusterByTenantId(clusterId, tenantId) + .getClusterUuid(); + } catch (RemoteException e) { + String message = e.getMessage(); + log.error(message); + throw new RestAPIException(message, e); + } + } }
