You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by sa...@apache.org on 2014/04/04 04:48:05 UTC

[1/3] git commit: Fixing STRATOS-348, adding active instances check for MT cartridge subscription

Repository: incubator-stratos
Updated Branches:
  refs/heads/master f11d283cd -> 3b029b384


Fixing STRATOS-348, adding active instances check for MT cartridge subscription


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/4a8adf39
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/4a8adf39
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/4a8adf39

Branch: refs/heads/master
Commit: 4a8adf39b2450048b390b5b830d6efc968cebaaf
Parents: 0955f29
Author: Sajith Kariyawasam <sa...@wso2.com>
Authored: Thu Apr 3 17:33:49 2014 +0530
Committer: Sajith Kariyawasam <sa...@wso2.com>
Committed: Thu Apr 3 17:33:49 2014 +0530

----------------------------------------------------------------------
 .../manager/CartridgeSubscriptionManager.java   | 28 +++++++++++++++++++-
 .../model/TopologyClusterInformationModel.java  | 23 ++++++++++++++++
 2 files changed, 50 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4a8adf39/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
index ab13ddf..14761b6 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
@@ -46,6 +46,8 @@ import org.apache.stratos.manager.topology.model.TopologyClusterInformationModel
 import org.apache.stratos.manager.utils.ApplicationManagementUtil;
 import org.apache.stratos.manager.utils.CartridgeConstants;
 import org.apache.stratos.manager.utils.RepoPasswordMgtUtil;
+import org.apache.stratos.messaging.domain.topology.Cluster;
+import org.apache.stratos.messaging.domain.topology.Member;
 import org.apache.stratos.messaging.util.Constants;
 import org.wso2.carbon.context.CarbonContext;
 import org.apache.stratos.manager.publisher.CartridgeSubscriptionDataPublisher;
@@ -90,6 +92,13 @@ public class CartridgeSubscriptionManager {
             throw new ADCException(message, e);
         }
 
+        // For MT subscriptions check whether there are active instances
+        if(cartridgeInfo.getMultiTenant() && !activeInstancesAvailable(subscriptionData)) {
+        	String msg = "No active instances are found for cartridge [" + subscriptionData.getCartridgeType() + "]";
+        	log.error(msg);
+        	throw new ADCException(msg);
+        }
+        
         // check if this subscription requires Persistence Mapping, and its supported by the cartridge definition
         Properties persistenceMappingProperties = null;
         if (subscriptionData.getPersistanceContext() != null) {
@@ -160,7 +169,24 @@ public class CartridgeSubscriptionManager {
         return registerCartridgeSubscription(serviceCartridgeSubscription, serviceCartridgeSubscriptionProperties);
     }
 
-    private CartridgeSubscription subscribeToLB (SubscriptionData subscriptionData, LBDataContext lbDataContext,
+    private boolean activeInstancesAvailable(SubscriptionData subscriptionData) {
+      Cluster cluster = TopologyClusterInformationModel.getInstance().getCluster(subscriptionData.getCartridgeType());
+      int activeMemberCount = 0;
+      if(cluster != null) {
+          Collection<Member> members = cluster.getMembers();
+          for (Member member : members) {
+  			if(member.isActive()) {
+  				activeMemberCount++;
+  			}
+  		} 
+      }
+      if(log.isDebugEnabled()) {
+    	  log.debug("Active member count for cluster  [" + cluster +"] is : "+ activeMemberCount);
+      }
+	  return activeMemberCount > 0; 	
+	}
+
+	private CartridgeSubscription subscribeToLB (SubscriptionData subscriptionData, LBDataContext lbDataContext,
             CartridgeInfo serviceCartridgeInfo)
 
             throws ADCException, InvalidCartridgeAliasException,

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/4a8adf39/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/model/TopologyClusterInformationModel.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/model/TopologyClusterInformationModel.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/model/TopologyClusterInformationModel.java
index 543643c..928c3ce 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/model/TopologyClusterInformationModel.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/model/TopologyClusterInformationModel.java
@@ -28,6 +28,8 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.manager.deploy.service.Service;
+import org.apache.stratos.manager.exception.PersistenceManagerException;
 import org.apache.stratos.manager.retriever.DataInsertionAndRetrievalManager;
 import org.apache.stratos.manager.subscription.CartridgeSubscription;
 import org.apache.stratos.messaging.domain.topology.Cluster;
@@ -83,6 +85,27 @@ public class TopologyClusterInformationModel {
     	return cluster;
     }
     
+    public Cluster getCluster (String cartridgeType) {
+
+    	Service service;
+    	Cluster cluster = null;
+		try {
+			service = dataInsertionNRetrievalMgr.getService(cartridgeType);
+		} catch (PersistenceManagerException e) {
+			log.error("Exception occurred when retrieving service [" + cartridgeType +"] ");
+			return null;
+		}
+		
+		if(service != null) {
+			String clusterId = service.getClusterId();
+	    	cluster = clusterIdToClusterMap.get(clusterId);
+	    	if(log.isDebugEnabled()) {
+	    		log.debug(" Found cluster ["+cluster+"] with id ["+clusterId+"] ");
+	    	}
+		}    	
+    	return cluster;
+    }
+    
     public Set<Cluster> getClusters (int tenantId, String cartridgeType) {
     	if(log.isDebugEnabled()) {
         	log.info(" Getting cluster for tenant id [" + tenantId + "] ");	


[3/3] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos

Posted by sa...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/3b029b38
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/3b029b38
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/3b029b38

Branch: refs/heads/master
Commit: 3b029b38403d29e839e893372d44f15d05b2d70b
Parents: 8a1df53 f11d283
Author: Sajith Kariyawasam <sa...@wso2.com>
Authored: Fri Apr 4 08:17:04 2014 +0530
Committer: Sajith Kariyawasam <sa...@wso2.com>
Committed: Fri Apr 4 08:17:04 2014 +0530

----------------------------------------------------------------------
 .../controllers/cartridgeSubscribeSubmit.jag    |   8 +
 .../themes/theme1/partials/mycartridges.hbs     |   4 +-
 .../theme1/partials/subscribe_cartridge.hbs     |  11 +-
 .../console/themes/theme1/ui/css/main.css       |   3 +
 tools/stratos-installer/clean.sh                |  39 +-
 tools/stratos-installer/conf/setup.conf         |  95 +--
 tools/stratos-installer/conf/stratos-setup.conf | 103 ---
 tools/stratos-installer/ec2.sh                  |  49 +-
 tools/stratos-installer/openstack.sh            |  37 +-
 tools/stratos-installer/setup.sh                | 825 +++++++++----------
 tools/stratos-installer/start-servers.sh        | 107 +--
 tools/stratos-installer/stratos-clean.sh        | 104 ---
 tools/stratos-installer/stratos-db-clean.sh     |  24 -
 tools/stratos-installer/stratos-ec2.sh          |  56 --
 tools/stratos-installer/stratos-openstack.sh    |  52 --
 tools/stratos-installer/stratos-setup.sh        | 596 --------------
 .../stratos-installer/stratos-start-servers.sh  |  96 ---
 tools/stratos-installer/stratos-vcloud.sh       |  52 --
 tools/stratos-installer/vcloud.sh               |  37 +-
 19 files changed, 471 insertions(+), 1827 deletions(-)
----------------------------------------------------------------------



[2/3] git commit: Adding missing code from patch apply in STRATOS-517

Posted by sa...@apache.org.
Adding missing code from patch apply in STRATOS-517


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/8a1df535
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/8a1df535
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/8a1df535

Branch: refs/heads/master
Commit: 8a1df535d9a4c60a5300546af04ede770f90d61e
Parents: 4a8adf3
Author: Sajith Kariyawasam <sa...@wso2.com>
Authored: Thu Apr 3 17:40:58 2014 +0530
Committer: Sajith Kariyawasam <sa...@wso2.com>
Committed: Thu Apr 3 17:40:58 2014 +0530

----------------------------------------------------------------------
 .../manager/CartridgeSubscriptionManager.java   | 27 ++++++++++++++++++++
 1 file changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/8a1df535/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
index 14761b6..1bedda5 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
@@ -313,6 +313,20 @@ public class CartridgeSubscriptionManager {
         cartridgeSubscription.createSubscription(subscriber, subscriptionData.getCartridgeAlias(), subscriptionData.getAutoscalingPolicyName(),
                                                 subscriptionData.getDeploymentPolicyName(), repository);
         
+		// publishing to bam
+		CartridgeSubscriptionDataPublisher.publish(
+				subscriptionData.getTenantId(),
+				subscriptionData.getTenantAdminUsername(),
+				subscriptionData.getCartridgeAlias(),
+				subscriptionData.getCartridgeType(),
+				subscriptionData.getRepositoryURL(),
+				cartridgeInfo.getMultiTenant(),
+				subscriptionData.getAutoscalingPolicyName(),
+				subscriptionData.getDeploymentPolicyName(),
+				cartridgeSubscription.getCluster().getClusterDomain(),
+				cartridgeSubscription.getHostName(),
+				cartridgeSubscription.getMappedDomain(), "Subscribed");
+        
         // Add whether the subscription is enabled upstream git commits
         if(cartridgeSubscription.getPayloadData() != null) {
         cartridgeSubscription.getPayloadData().add(CartridgeConstants.COMMIT_ENABLED, String.valueOf(subscriptionData.isCommitsEnabled()));
@@ -414,6 +428,19 @@ public class CartridgeSubscriptionManager {
             // Publish tenant un-subscribed event to message broker
             CartridgeSubscriptionUtils.publishTenantUnSubscribedEvent(cartridgeSubscription.getSubscriber().getTenantId(),
                     cartridgeSubscription.getCartridgeInfo().getType());
+            
+			// publishing to the unsubscribed event details to bam
+			CartridgeSubscriptionDataPublisher.publish(cartridgeSubscription
+					.getSubscriber().getTenantId(), cartridgeSubscription
+					.getSubscriber().getAdminUserName(), cartridgeSubscription
+					.getAlias(), cartridgeSubscription.getType(),
+					cartridgeSubscription.getRepository().getUrl(),
+					cartridgeSubscription.getCartridgeInfo().getMultiTenant(),
+					cartridgeSubscription.getAutoscalingPolicyName(),
+					cartridgeSubscription.getDeploymentPolicyName(),
+					cartridgeSubscription.getCluster().getClusterDomain(),
+					cartridgeSubscription.getHostName(), cartridgeSubscription
+							.getMappedDomain(), "unsubscribed");
         }
         else {
             String errorMsg = "No cartridge subscription found with [alias] " + alias + " for [tenant] " + tenantDomain;