Repository: stratos Updated Branches: refs/heads/master 7fa3c1701 -> bf721e83b
making oauth app name random Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/bf721e83 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/bf721e83 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/bf721e83 Branch: refs/heads/master Commit: bf721e83b0794eb530db31722d636a7c384090a2 Parents: 74de671 Author: Udara Liyanage <[email protected]> Authored: Mon Dec 22 14:37:11 2014 +0530 Committer: Udara Liyanage <[email protected]> Committed: Mon Dec 22 14:37:54 2014 +0530 ---------------------------------------------------------------------- .../autoscaler/api/AutoScalerServiceImpl.java | 16 ++++++ .../parser/DefaultApplicationParser.java | 54 ++++++++++---------- .../applications/pojo/ApplicationContext.java | 1 + ...ntityApplicationManagementServiceClient.java | 6 +++ .../client/oAuthAdminServiceClient.java | 7 +++ .../controller/domain/InstanceMetadata.java | 1 - 6 files changed, 57 insertions(+), 28 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/bf721e83/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java index 1886073..4b2aaea 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java @@ -296,6 +296,22 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface { @Override public void deleteApplication(String applicationId) { AutoscalerContext.getInstance().removeApplicationContext(applicationId); + //TODO oAuth application/service provider deletion is removed since app name is random. It should be equal to + // name of the composite application. + /* + try { + oAuthAdminServiceClient.getServiceClient().removeOauthApplication(applicationId); + IdentityApplicationManagementServiceClient.getServiceClient().removeApplication(applicationId); + } catch (RemoteException e) { + log.error(String.format("Error ocured while deleting oAuth application %s", applicationId), e); + throw new AutoScalerException(e); + } catch (OAuthAdminServiceException e) { + log.error(String.format("Error ocured while deleting oAuth application %s", applicationId), e); + throw new AutoScalerException(e); + } catch (IdentityApplicationManagementServiceIdentityApplicationManagementException e) { + e.printStackTrace(); + } + */ if(log.isInfoEnabled()) { log.info(String.format("Application deleted successfully: [application-id] ", applicationId)); http://git-wip-us.apache.org/repos/asf/stratos/blob/bf721e83/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java index e3ae175..f377743 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/parser/DefaultApplicationParser.java @@ -115,7 +115,7 @@ public class DefaultApplicationParser implements ApplicationParser { return applicationClusterContexts; } - + private Map<String, SubscribableInfoContext> getSubscribableInfo(GroupContext[] groupContexts) throws ApplicationDefinitionException { if(groupContexts != null) { @@ -125,19 +125,19 @@ public class DefaultApplicationParser implements ApplicationParser { } else { CartridgeContext[] cartridgeContexts = groupContext.getCartridgeContexts(); for (CartridgeContext cartridgeContext : cartridgeContexts) { - + if (StringUtils.isEmpty(cartridgeContext.getSubscribableInfoContext().getAlias()) || !ApplicationUtils.isAliasValid(cartridgeContext.getSubscribableInfoContext().getAlias())) { - handleError("Invalid alias specified for Subscribable Information Obj: [ " + + handleError("Invalid alias specified for Subscribable Information Obj: [ " + cartridgeContext.getSubscribableInfoContext().getAlias() + " ]"); } - + // check if a group is already defined under the same alias if(subscribableInformation.get(cartridgeContext.getSubscribableInfoContext().getAlias()) != null) { // a group with same alias already exists, can't continue handleError("A Subscribable Info obj with alias " + cartridgeContext.getSubscribableInfoContext().getAlias() + " already exists"); } - subscribableInformation.put(cartridgeContext.getSubscribableInfoContext().getAlias(), + subscribableInformation.put(cartridgeContext.getSubscribableInfoContext().getAlias(), cartridgeContext.getSubscribableInfoContext()); if (log.isDebugEnabled()) { log.debug("Added Subcribables Info obj [ " + @@ -149,7 +149,7 @@ public class DefaultApplicationParser implements ApplicationParser { } return subscribableInformation; } - + /** * Extract Subscription Information from the Application Definition * @@ -190,9 +190,9 @@ public class DefaultApplicationParser implements ApplicationParser { if (appCtxt.getComponents() != null) { // get top level Subscribables - if (appCtxt.getComponents().getCartridgeContexts() != null) { + if (appCtxt.getComponents().getCartridgeContexts() != null) { clusterDataMap = parseLeafLevelSubscriptions(appCtxt.getApplicationId(), appCtxt.getTenantId(), - application.getKey(), null, Arrays.asList(appCtxt.getComponents().getCartridgeContexts())); + application.getKey(), null, Arrays.asList(appCtxt.getComponents().getCartridgeContexts())); application.setClusterData(clusterDataMap); } @@ -284,38 +284,38 @@ public class DefaultApplicationParser implements ApplicationParser { return application; } - + /** - * + * * Parse Subscription Information - * + * * @param appId Application id * @param tenantId Tenant id of tenant which deployed the Application * @param key Generated key for the Application * @param groupName Group name (if relevant) * @param cartridgeContextList cartridgeContextList * @return Map [subscription alias -> ClusterDataHolder] - * + * * @throws ApplicationDefinitionException */ private Map<String, ClusterDataHolder> parseLeafLevelSubscriptions( String appId, int tenantId, String key, String groupName, List<CartridgeContext> cartridgeContextList) throws ApplicationDefinitionException { - + Map<String, ClusterDataHolder> clusterDataMap = new HashMap<String, ClusterDataHolder>(); for (CartridgeContext cartridgeContext : cartridgeContextList) { - + String cartridgeType = cartridgeContext.getType(); String subscriptionAlias = cartridgeContext.getSubscribableInfoContext().getAlias(); - + // check if a cartridgeInfo with relevant type is already deployed. else, can't continue CartridgeInfo cartridgeInfo = getCartridge(cartridgeType); if (cartridgeInfo == null) { handleError("No deployed Cartridge found with type [ " + cartridgeType + " ] for Composite Application"); } - + // get hostname and cluster id ClusterInformation clusterInfo; assert cartridgeInfo != null; @@ -331,8 +331,8 @@ public class DefaultApplicationParser implements ApplicationParser { // create and collect this cluster's information ApplicationClusterContext appClusterCtxt = createApplicationClusterContext(appId, groupName, cartridgeInfo, key, tenantId, cartridgeContext.getSubscribableInfoContext().getRepoUrl(), subscriptionAlias, - clusterId, hostname, cartridgeContext.getSubscribableInfoContext().getDeploymentPolicy(), false, - cartridgeContext.getSubscribableInfoContext().getDependencyAliases(), + clusterId, hostname, cartridgeContext.getSubscribableInfoContext().getDeploymentPolicy(), false, + cartridgeContext.getSubscribableInfoContext().getDependencyAliases(), cartridgeContext.getSubscribableInfoContext().getProperties()); appClusterCtxt.setAutoscalePolicyName(cartridgeContext.getSubscribableInfoContext().getAutoscalingPolicy()); @@ -345,7 +345,7 @@ public class DefaultApplicationParser implements ApplicationParser { clusterDataHolder.setMaxInstances(cartridgeContext.getCartridgeMax()); clusterDataMap.put(subscriptionAlias, clusterDataHolder); } - + return clusterDataMap; } @@ -386,7 +386,7 @@ public class DefaultApplicationParser implements ApplicationParser { throws ApplicationDefinitionException { Map<String, Group> groupAliasToGroup = new HashMap<String, Group>(); - + for (GroupContext groupCtxt : groupCtxts) { ServiceGroup serviceGroup = getServiceGroup(groupCtxt.getName()); if(serviceGroup == null) { @@ -496,7 +496,7 @@ public class DefaultApplicationParser implements ApplicationParser { Map<String, Group> nestedGroups = new HashMap<String, Group>(); // check sub groups for (GroupContext subGroupCtxt : groupCtxt.getGroupContexts()) { - // get the complete Group Definition + // get the complete Group Definition if (subGroupCtxt != null) { for(ServiceGroup nestedServiceGroup : serviceGroup.getGroups()) { if(nestedServiceGroup.getName().equals(subGroupCtxt.getName())) { @@ -531,7 +531,7 @@ public class DefaultApplicationParser implements ApplicationParser { if (nestedServiceGroup == null) { handleError("Service Group Definition not found for name " + serviceGroupName); } - + if (log.isDebugEnabled()) { log.debug("parsing application ... getStartupOrderForGroup: " + serviceGroupName); } @@ -542,7 +542,7 @@ public class DefaultApplicationParser implements ApplicationParser { log.debug("parsing application ... getStartupOrderForGroup: dependencies != null " ); } if (nestedServiceGroup.getDependencies().getStartupOrders() != null) { - + String [] startupOrders = nestedServiceGroup.getDependencies().getStartupOrders(); if (log.isDebugEnabled()) { log.debug("parsing application ... getStartupOrderForGroup: startupOrders != null # of: " + startupOrders.length); @@ -631,12 +631,12 @@ public class DefaultApplicationParser implements ApplicationParser { ServiceGroup nestedGroup = getNestedServiceGroup(serviceGroupName, serviceGroup); if (nestedGroup == null) { - handleError("Service Group Definition not found for name " + serviceGroupName); + handleError("Service Group Definition not found for name " + serviceGroupName); } return nestedGroup.isGroupscalingEnabled(); } - + private ServiceGroup getNestedServiceGroup (String serviceGroupName, ServiceGroup serviceGroup) { if(serviceGroup.getName().equals(serviceGroupName)) { return serviceGroup; @@ -647,7 +647,7 @@ public class DefaultApplicationParser implements ApplicationParser { } } return null; - + } /** @@ -669,7 +669,7 @@ public class DefaultApplicationParser implements ApplicationParser { } } - + /** * Creates a ApplicationClusterContext object to keep information related to a Cluster in this Application * http://git-wip-us.apache.org/repos/asf/stratos/blob/bf721e83/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationContext.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationContext.java index 5937f94..be6cb2c 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationContext.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/pojo/ApplicationContext.java @@ -124,4 +124,5 @@ public class ApplicationContext implements Serializable { public void setDescription(String description) { this.description = description; } + } http://git-wip-us.apache.org/repos/asf/stratos/blob/bf721e83/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/IdentityApplicationManagementServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/IdentityApplicationManagementServiceClient.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/IdentityApplicationManagementServiceClient.java index deccaf3..d9a562b 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/IdentityApplicationManagementServiceClient.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/IdentityApplicationManagementServiceClient.java @@ -176,6 +176,12 @@ public class IdentityApplicationManagementServiceClient { return accessToken; } + public void removeApplication(String appName) throws RemoteException, IdentityApplicationManagementServiceIdentityApplicationManagementException { + if(log.isDebugEnabled()){ + log.debug(String.format("Removing application %s", appName)); + } + stub.deleteApplication(appName); + } private String getIdToken(String compositeAppId, String consumerKey, String consumerSecret) throws OAuthSystemException, OAuthProblemException { XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration(); http://git-wip-us.apache.org/repos/asf/stratos/blob/bf721e83/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/oAuthAdminServiceClient.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/oAuthAdminServiceClient.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/oAuthAdminServiceClient.java index 8913c42..7e2a6ca 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/oAuthAdminServiceClient.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/oAuthAdminServiceClient.java @@ -101,4 +101,11 @@ public class oAuthAdminServiceClient { return stub.getOAuthApplicationDataByAppName(name); } + public void removeOauthApplication(String appName) throws RemoteException, OAuthAdminServiceException { + if(log.isDebugEnabled()){ + log.debug(String.format("Removing oAuth application %s", appName)); + } + stub.removeOAuthApplicationData(appName); + } + } http://git-wip-us.apache.org/repos/asf/stratos/blob/bf721e83/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/InstanceMetadata.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/InstanceMetadata.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/InstanceMetadata.java index 4c0895b..2971128 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/InstanceMetadata.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/InstanceMetadata.java @@ -27,7 +27,6 @@ import java.io.Serializable; public class InstanceMetadata implements Serializable { private static final long serialVersionUID = 2121193151475197625L; - private String hostname; private String hypervisor; private int ram;
