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;