You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/01/03 12:32:01 UTC
[1/3] stratos git commit: Introducing artifact synchronization logic
for service grouping functionality
Repository: stratos
Updated Branches:
refs/heads/master 278382ce5 -> a71a6a005
Introducing artifact synchronization logic for service grouping functionality
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a71a6a00
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a71a6a00
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a71a6a00
Branch: refs/heads/master
Commit: a71a6a0051cfbbbf01f51f569c8766f6c87d3efc
Parents: 4a53aea
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sat Jan 3 17:00:54 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sat Jan 3 17:01:50 2015 +0530
----------------------------------------------------------------------
.../config/CartridgeAgentConfiguration.java | 5 +
.../publisher/CartridgeAgentEventPublisher.java | 1 +
.../context/CloudControllerContext.java | 2 +-
.../cloud/controller/domain/ClusterContext.java | 57 +++-----
.../cloud/controller/domain/MemberContext.java | 90 ++++++-------
.../iaases/kubernetes/KubernetesIaas.java | 8 +-
.../iaases/mock/service/MockIaasService.java | 3 +-
.../iaases/mock/service/MockMemberContext.java | 9 +-
.../mock/service/MockMemberEventPublisher.java | 1 +
.../impl/CloudControllerServiceImpl.java | 58 ++++----
.../impl/CloudControllerServiceUtil.java | 2 +-
.../axiom/CloudControllerContextTest.java | 38 +++---
.../live/KubernetesApiClientLiveTest.java | 2 +-
.../application/beans/SubscribableInfo.java | 10 --
.../internal/ADCManagementServerComponent.java | 59 +++------
.../listener/InstanceStatusListener.java | 109 ---------------
...ratosManagerInstanceStatusEventReceiver.java | 132 +++++++++++++++++++
.../manager/listener/TenantStatusListner.java | 42 ------
.../InstanceNotificationPublisher.java | 23 ++--
.../repository/RepositoryNotification.java | 26 ++--
.../SubscriptionMultiTenantBehaviour.java | 8 +-
.../instance/status/InstanceStartedEvent.java | 15 ++-
22 files changed, 327 insertions(+), 373 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
index 1326509..1ae1a79 100644
--- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
+++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
@@ -73,6 +73,7 @@ public class CartridgeAgentConfiguration {
private String kubernetesClusterId;
private String instanceId;
private String clusterInstanceId;
+ private String applicationId;
private CartridgeAgentConfiguration() {
@@ -602,4 +603,8 @@ public class CartridgeAgentConfiguration {
public void setClusterInstanceId(String clusterInstanceId) {
this.clusterInstanceId = clusterInstanceId;
}
+
+ public String getApplicationId() {
+ return applicationId;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
index a47497b..22f4ca2 100644
--- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
+++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
@@ -49,6 +49,7 @@ public class CartridgeAgentEventPublisher {
log.info("Publishing instance started event");
}
InstanceStartedEvent event = new InstanceStartedEvent(
+ CartridgeAgentConfiguration.getInstance().getApplicationId(),
CartridgeAgentConfiguration.getInstance().getServiceName(),
CartridgeAgentConfiguration.getInstance().getClusterId(),
CartridgeAgentConfiguration.getInstance().getMemberId(),
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
index 01bd479..1fc3d85 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
@@ -367,7 +367,7 @@ public class CloudControllerContext implements Serializable {
return memberContextList;
}
- public MemberContext removeMemberContext(String memberId, String clusterId) {
+ public MemberContext removeMemberContext(String clusterId, String memberId) {
MemberContext removedMemberContext = memberIdToMemberContextMap.get(memberId);
memberIdToMemberContextMap.remove(memberId);
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
index fb52685..dd5f43e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterContext.java
@@ -33,14 +33,13 @@ import org.apache.stratos.kubernetes.client.model.Service;
public class ClusterContext implements Serializable{
private static final long serialVersionUID = 4830667953031229223L;
- // cluster id
- private String clusterId;
- // cartridge type
- private String cartridgeType;
- // payload as a String
- private String payload;
- private String hostName;
- private boolean isLbCluster;
+
+ private final String applicationId;
+ private final String clusterId;
+ private final String cartridgeType;
+ private final String payload;
+ private final String hostName;
+ private final boolean isLbCluster;
private boolean isVolumeRequired;
private Volume[] volumes;
// timeout in milliseconds - this would be the per member time that CC waits before forcefully terminate instances on an unregistration.
@@ -49,58 +48,42 @@ public class ClusterContext implements Serializable{
private List<Service> kubernetesServices;
private String kubernetesClusterId;
- public ClusterContext(String clusterId, String cartridgeType, String payload, String hostName,
- boolean isLbCluster, Properties properties) {
- this.clusterId = clusterId;
+ public ClusterContext(String applicationId, String cartridgeType, String clusterId, String payload, String hostName,
+ boolean isLbCluster, Properties properties) {
+
+ this.applicationId = applicationId;
this.cartridgeType = cartridgeType;
+ this.clusterId = clusterId;
this.payload = payload;
- this.setHostName(hostName);
+ this.hostName = hostName;
this.isLbCluster = isLbCluster;
this.setProperties(properties);
}
-
+
+ public String getApplicationId() {
+ return applicationId;
+ }
+
public String getClusterId() {
return clusterId;
}
- public void setClusterId(String clusterId) {
- this.clusterId = clusterId;
- }
+
public String getCartridgeType() {
return cartridgeType;
}
- public void setCartridgeType(String cartridgeType) {
- this.cartridgeType = cartridgeType;
- }
+
public String getPayload() {
return payload;
}
- public void setPayload(String payload) {
- this.payload = payload;
- }
public String getHostName() {
return hostName;
}
- public String findContainerHostName() {
- if (hostName.indexOf('.') != -1) {
- hostName = hostName.replace('.', '-');
- }
- return hostName;
- }
-
- public void setHostName(String hostName) {
- this.hostName = hostName;
- }
-
public boolean isLbCluster() {
return isLbCluster;
}
- public void setLbCluster(boolean isLbCluster) {
- this.isLbCluster = isLbCluster;
- }
-
public boolean isVolumeRequired() {
return isVolumeRequired;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/MemberContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/MemberContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/MemberContext.java
index f579f4d..d7acbe2 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/MemberContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/MemberContext.java
@@ -34,12 +34,13 @@ public class MemberContext implements Serializable {
private static final long serialVersionUID = -388327475844701869L;
+ private final String applicationId;
// Cartridge type this member belongs to
- private String cartridgeType;
+ private final String cartridgeType;
// Cluster id of this member
- private String clusterId;
+ private final String clusterId;
// Member id generated by cloud controller
- private String memberId;
+ private final String memberId;
// Instance id generated by the IaaS
private String instanceId;
// Instance id of the application hierarchy member belongs to
@@ -73,46 +74,33 @@ public class MemberContext implements Serializable {
private Properties properties;
private List<NameValuePair> dynamicPayload;
- public MemberContext(String id, String clusterId, Partition partition) {
- this.memberId = id;
+ public MemberContext(String applicationId, String cartridgeType, String clusterId, String memberId) {
+
+ this.applicationId = applicationId;
+ this.cartridgeType = cartridgeType;
this.clusterId = clusterId;
- this.setPartition(partition);
- init();
- }
-
- public MemberContext() {
- init();
- }
-
- private void init() {
+ this.memberId = memberId;
+
this.properties = new Properties();
this.properties.setProperties(new Property[0]);
}
+
+ public String getApplicationId() {
+ return applicationId;
+ }
public String getMemberId() {
return memberId;
}
- public void setMemberId(String memberId) {
- this.memberId = memberId;
- }
-
public String getClusterId() {
return clusterId;
}
- public void setClusterId(String clusterId) {
- this.clusterId = clusterId;
- }
-
public String getCartridgeType() {
return cartridgeType;
}
- public void setCartridgeType(String cartridgeType) {
- this.cartridgeType = cartridgeType;
- }
-
public Partition getPartition() {
return partition;
}
@@ -205,23 +193,16 @@ public class MemberContext implements Serializable {
return false;
if (getClass() != obj.getClass())
return false;
- MemberContext other = (MemberContext) obj;
- if (clusterId == null) {
- if (other.clusterId != null)
- return false;
- } else if (!clusterId.equals(other.clusterId))
- return false;
- if (memberId == null) {
- if (other.memberId != null)
- return false;
- } else if (!memberId.equals(other.memberId))
- return false;
- if (instanceId == null) {
- if (other.instanceId != null)
- return false;
- } else if (!instanceId.equals(other.instanceId))
- return false;
- return true;
+
+ MemberContext other = (MemberContext) obj;
+ if(getApplicationId().equals(other.getApplicationId()) &&
+ getCartridgeType().equals(other.getCartridgeType()) &&
+ getClusterId().equals(other.getClusterId()) &&
+ getMemberId().equals(other.getMemberId()) &&
+ getInstanceId().equals(other.getInstanceId())) {
+ return true;
+ }
+ return false;
}
public String getInstanceId() {
@@ -282,13 +263,22 @@ public class MemberContext implements Serializable {
@Override
public String toString() {
- return "MemberContext [memberId=" + memberId + ", instanceId=" + instanceId
- + ", clusterId=" + clusterId + ", partition=" + partition
- + ", cartridgeType=" + cartridgeType + ", defaultPrivateIP=" + defaultPrivateIP
- + ", defaultPublicIP=" + defaultPublicIP + ", allocatedIPs=" + Arrays.toString(allocatedIPs)
- + ", publicIPs=" + Arrays.toString(publicIPs) + ", privateIPs=" + Arrays.toString(privateIPs)
- + ", initTime=" + initTime + ", lbClusterId=" + lbClusterId
- + ", networkPartitionId=" + networkPartitionId + ", instanceMetadata=" + instanceMetadata +
+ return "MemberContext ["
+ + "applicationId=" + applicationId
+ + ", cartridgeType=" + cartridgeType
+ + ", clusterId=" + clusterId
+ + ", memberId=" + memberId
+ + ", instanceId=" + instanceId
+ + ", partition=" + partition
+ + ", defaultPrivateIP=" + defaultPrivateIP
+ + ", defaultPublicIP=" + defaultPublicIP
+ + ", allocatedIPs=" + Arrays.toString(allocatedIPs)
+ + ", publicIPs=" + Arrays.toString(publicIPs)
+ + ", privateIPs=" + Arrays.toString(privateIPs)
+ + ", initTime=" + initTime
+ + ", lbClusterId=" + lbClusterId
+ + ", networkPartitionId=" + networkPartitionId
+ + ", instanceMetadata=" + instanceMetadata +
", properties=" + properties + "]";
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
index 716d373..556888a 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
@@ -242,11 +242,10 @@ public class KubernetesIaas extends Iaas {
}
private MemberContext createNewMemberContext(MemberContext memberContext, Pod pod) {
- MemberContext newMemberContext = new MemberContext();
- newMemberContext.setCartridgeType(memberContext.getCartridgeType());
- newMemberContext.setClusterId(memberContext.getClusterId());
+ MemberContext newMemberContext = new MemberContext(memberContext.getApplicationId(),
+ memberContext.getCartridgeType(), memberContext.getClusterId(), memberContext.getMemberId());
+
newMemberContext.setClusterInstanceId(memberContext.getClusterInstanceId());
- newMemberContext.setMemberId(memberContext.getMemberId());
newMemberContext.setNetworkPartitionId(memberContext.getNetworkPartitionId());
newMemberContext.setPartition(memberContext.getPartition());
newMemberContext.setInstanceId(pod.getId());
@@ -256,6 +255,7 @@ public class KubernetesIaas extends Iaas {
newMemberContext.setPublicIPs(new String[]{pod.getCurrentState().getHost()});
newMemberContext.setInitTime(memberContext.getInitTime());
newMemberContext.setProperties(memberContext.getProperties());
+
return newMemberContext;
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockIaasService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockIaasService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockIaasService.java
index 67f82f7..e5b6e13 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockIaasService.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockIaasService.java
@@ -106,7 +106,8 @@ public class MockIaasService {
public MemberContext createInstance(MemberContext memberContext) {
synchronized (MockIaasService.class) {
// Create mock member instance
- MockMemberContext mockMemberContext = new MockMemberContext(memberContext.getCartridgeType(),
+ MockMemberContext mockMemberContext = new MockMemberContext(
+ memberContext.getApplicationId(), memberContext.getCartridgeType(),
memberContext.getClusterId(), memberContext.getMemberId(), memberContext.getInstanceId(),
memberContext.getClusterInstanceId(), memberContext.getNetworkPartitionId(),
memberContext.getPartition().getId());
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberContext.java
index 48bb3b2..f045746 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberContext.java
@@ -25,6 +25,8 @@ import java.io.Serializable;
* Mock member context.
*/
public class MockMemberContext implements Serializable {
+
+ private final String applicationId;
private final String serviceName;
private final String clusterId;
private final String memberId;
@@ -33,8 +35,9 @@ public class MockMemberContext implements Serializable {
private final String networkPartitionId;
private final String partitionId;
- public MockMemberContext(String serviceName, String clusterId, String memberId, String instanceId,
+ public MockMemberContext(String applicationId, String serviceName, String clusterId, String memberId, String instanceId,
String clusterInstanceId, String networkPartitionId, String partitionId) {
+ this.applicationId = applicationId;
this.serviceName = serviceName;
this.clusterId = clusterId;
this.memberId = memberId;
@@ -71,4 +74,8 @@ public class MockMemberContext implements Serializable {
public String getPartitionId() {
return partitionId;
}
+
+ public String getApplicationId() {
+ return applicationId;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberEventPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberEventPublisher.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberEventPublisher.java
index cb0a6f5..50e6e77 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberEventPublisher.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/mock/service/MockMemberEventPublisher.java
@@ -41,6 +41,7 @@ public class MockMemberEventPublisher {
log.info("Publishing instance started event");
}
InstanceStartedEvent event = new InstanceStartedEvent(
+ mockMemberContext.getApplicationId(),
mockMemberContext.getServiceName(),
mockMemberContext.getClusterId(),
mockMemberContext.getMemberId(),
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/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 0a077aa..30fe391 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
@@ -350,16 +350,15 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
// Generate member ID
- String memberID = generateMemberId(clusterId);
+ String memberId = generateMemberId(clusterId);
// Create member context
- MemberContext memberContext = createMemberContext(instanceContext);
- memberContext.setMemberId(memberID);
- memberContext.setCartridgeType(cartridgeType);
+ String applicationId = clusterContext.getApplicationId();
+ MemberContext memberContext = createMemberContext(applicationId, cartridgeType, memberId, instanceContext);
// Prepare payload
StringBuilder payload = new StringBuilder(clusterContext.getPayload());
- addToPayload(payload, "MEMBER_ID", memberID);
+ addToPayload(payload, "MEMBER_ID", memberId);
addToPayload(payload, "INSTANCE_ID", memberContext.getInstanceId());
addToPayload(payload, "CLUSTER_INSTANCE_ID", memberContext.getClusterInstanceId());
addToPayload(payload, "LB_CLUSTER_ID", memberContext.getLbClusterId());
@@ -400,11 +399,11 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
// Start instance in a new thread
- ThreadExecutor exec = ThreadExecutor.getInstance();
+ ThreadExecutor threadExecutor = ThreadExecutor.getInstance();
if (log.isDebugEnabled()) {
- log.debug("Cloud Controller is starting the instance creator thread...");
+ log.debug("Starting the instance creator thread...");
}
- exec.execute(new InstanceCreator(memberContext, iaasProvider));
+ threadExecutor.execute(new InstanceCreator(memberContext, iaasProvider));
TopologyBuilder.handleMemberCreatedEvent(memberContext);
return memberContext;
@@ -415,16 +414,18 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
}
- private MemberContext createMemberContext(InstanceContext instanceContext) {
- MemberContext memberContext = new MemberContext();
- memberContext.setCartridgeType(instanceContext.getCartridgeType());
- memberContext.setClusterId(instanceContext.getClusterId());
+ private MemberContext createMemberContext(String applicationId, String cartridgeType, String memberId,
+ InstanceContext instanceContext) {
+ MemberContext memberContext = new MemberContext(
+ applicationId, cartridgeType, instanceContext.getClusterId(), memberId);
+
memberContext.setClusterInstanceId(instanceContext.getClusterInstanceId());
memberContext.setNetworkPartitionId(instanceContext.getNetworkPartitionId());
memberContext.setPartition(instanceContext.getPartition());
memberContext.setInitTime(instanceContext.getInitTime());
memberContext.setProperties(instanceContext.getProperties());
memberContext.setInitTime(System.currentTimeMillis());
+
return memberContext;
}
@@ -1023,31 +1024,28 @@ public class CloudControllerServiceImpl implements CloudControllerService {
List<Cluster> clusters = new ArrayList<Cluster>();
for (ApplicationClusterContext appClusterCtxt : appClustersContexts) {
- CloudControllerContext.getInstance().addClusterContext(new ClusterContext(appClusterCtxt.getClusterId(),
- appClusterCtxt.getCartridgeType(), appClusterCtxt.getTextPayload(),
- appClusterCtxt.getHostName(), appClusterCtxt.isLbCluster(), appClusterCtxt.getProperties()));
- // create Cluster objects
- Cluster newCluster = new Cluster(appClusterCtxt.getCartridgeType(), appClusterCtxt.getClusterId(),
+ ClusterContext clusterContext = new ClusterContext(
+ appId, appClusterCtxt.getCartridgeType(), appClusterCtxt.getClusterId(),
+ appClusterCtxt.getTextPayload(), appClusterCtxt.getHostName(),
+ appClusterCtxt.isLbCluster(), appClusterCtxt.getProperties());
+
+ CloudControllerContext.getInstance().addClusterContext(clusterContext);
+
+ // Create cluster object
+ Cluster cluster = new Cluster(appClusterCtxt.getCartridgeType(), appClusterCtxt.getClusterId(),
appClusterCtxt.getDeploymentPolicyName(), appClusterCtxt.getAutoscalePolicyName(), appId);
- newCluster.setLbCluster(false);
- newCluster.setTenantRange(appClusterCtxt.getTenantRange());
- //newCluster.setStatus(ClusterStatus.Created, null);
- newCluster.setHostNames(Arrays.asList(appClusterCtxt.getHostName()));
- Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(appClusterCtxt.getCartridgeType());
- // TODO: Fix kubernetes config
-// if (cartridge.getDeployerType() != null &&
-// cartridge.getDeployerType().equals(StratosConstants.KUBERNETES_DEPLOYER_TYPE)) {
-// newCluster.setKubernetesCluster(true);
-// }
+ cluster.setLbCluster(false);
+ cluster.setTenantRange(appClusterCtxt.getTenantRange());
+ cluster.setHostNames(Arrays.asList(appClusterCtxt.getHostName()));
+
if (appClusterCtxt.getProperties() != null) {
Properties properties = CloudControllerUtil.toJavaUtilProperties(appClusterCtxt.getProperties());
- newCluster.setProperties(properties);
+ cluster.setProperties(properties);
}
- clusters.add(newCluster);
+ clusters.add(cluster);
}
TopologyBuilder.handleApplicationClustersCreated(appId, clusters);
-
CloudControllerContext.getInstance().persist();
} finally {
if (lock != null) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
index 9fdd77f..4707d30 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java
@@ -76,7 +76,7 @@ public class CloudControllerServiceUtil {
null);
// Remove member context
- CloudControllerContext.getInstance().removeMemberContext(memberContext.getMemberId(), memberContext.getClusterId());
+ CloudControllerContext.getInstance().removeMemberContext(memberContext.getClusterId(), memberContext.getMemberId());
// Persist cloud controller context
CloudControllerContext.getInstance().persist();
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/CloudControllerContextTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/CloudControllerContextTest.java b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/CloudControllerContextTest.java
index cc7919a..b48055f 100644
--- a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/CloudControllerContextTest.java
+++ b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/CloudControllerContextTest.java
@@ -42,17 +42,20 @@ public class CloudControllerContextTest extends TestCase {
ServiceReferenceHolder.getInstance().setDistributedObjectProvider(new HazelcastDistributedObjectProvider());
ServiceReferenceHolder.getInstance().setAxisConfiguration(axisConfiguration);
- CloudControllerContext context = CloudControllerContext.getInstance();
- Thread t1 = new Thread(new MemberAdder(context));
+ CloudControllerContext cloudControllerContext = CloudControllerContext.getInstance();
+
+ Thread t1 = new Thread(new MemberAdder(cloudControllerContext));
t1.start();
t1.join();
- assertEquals(2, context.getMemberContextsOfClusterId("123").size());
- Thread t2 = new Thread(new MemberRemover(context));
+ assertEquals(2, cloudControllerContext.getMemberContextsOfClusterId("cluster-1").size());
+
+ Thread t2 = new Thread(new MemberRemover(cloudControllerContext));
t2.start();
t2.join();
- assertEquals(1, context.getMemberContextsOfClusterId("123").size());
+ assertEquals(1, cloudControllerContext.getMemberContextsOfClusterId("cluster-1").size());
}
+
class MemberAdder implements Runnable {
private CloudControllerContext dataHolder;
@@ -61,33 +64,26 @@ public class CloudControllerContextTest extends TestCase {
}
@Override
public void run() {
- MemberContext ctxt1 = new MemberContext();
- ctxt1.setMemberId("abc");
- ctxt1.setClusterId("123");
- MemberContext ctxt2 = new MemberContext();
- ctxt2.setMemberId("def");
- ctxt2.setClusterId("456");
- MemberContext ctxt3 = new MemberContext();
- ctxt3.setMemberId("ghi");
- ctxt3.setClusterId("123");
+ MemberContext ctxt1 = new MemberContext("application-1", "cartridge-1", "cluster-1", "member-1");
+ MemberContext ctxt2 = new MemberContext("application-1", "cartridge-1", "cluster-1", "member-2");
+ MemberContext ctxt3 = new MemberContext("application-1", "cartridge-1", "cluster-2", "member-3");
dataHolder.addMemberContext(ctxt1);
dataHolder.addMemberContext(ctxt2);
dataHolder.addMemberContext(ctxt3);
}
-
}
class MemberRemover implements Runnable {
private CloudControllerContext dataHolder;
- public MemberRemover(CloudControllerContext data) {
- this.dataHolder = data;
+
+ public MemberRemover(CloudControllerContext cloudControllerContext) {
+ this.dataHolder = cloudControllerContext;
}
- @Override
+
+ @Override
public void run() {
- dataHolder.removeMemberContext("ghi", "123");
+ dataHolder.removeMemberContext("cluster-1", "member-1");
}
-
}
-
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
index 687b08c..b077f87 100644
--- a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
+++ b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
@@ -75,7 +75,7 @@ public class KubernetesApiClientLiveTest extends TestCase{
}
@AfterClass
- public void cleanup() {
+ public void tearDown() {
deleteReplicationControllers();
deletePods();
deleteServices();
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/beans/SubscribableInfo.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/beans/SubscribableInfo.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/beans/SubscribableInfo.java
index 6c784fe..c98233c 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/beans/SubscribableInfo.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/beans/SubscribableInfo.java
@@ -30,25 +30,15 @@ public class SubscribableInfo implements Serializable {
private static final long serialVersionUID = 8097432440778125606L;
private String alias;
-
private String deploymentPolicy;
-
private String autoscalingPolicy;
-
private String repoUrl;
-
private boolean privateRepo;
-
private String repoUsername;
-
private int maxMembers;
-
private int minMembers;
-
private String repoPassword;
-
private String[] dependencyAliases;
-
private List<PropertyBean> property;
public String getAlias() {
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/ADCManagementServerComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/ADCManagementServerComponent.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/ADCManagementServerComponent.java
index 305b7ba..ae4a2c2 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/ADCManagementServerComponent.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/internal/ADCManagementServerComponent.java
@@ -21,7 +21,7 @@ package org.apache.stratos.manager.internal;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.common.threading.StratosThreadPool;
-import org.apache.stratos.manager.listener.InstanceStatusListener;
+import org.apache.stratos.manager.listener.StratosManagerInstanceStatusEventReceiver;
import org.apache.stratos.manager.listener.TenantUserRoleCreator;
import org.apache.stratos.manager.publisher.TenantEventPublisher;
import org.apache.stratos.manager.publisher.TenantSynchronizerTaskScheduler;
@@ -30,7 +30,6 @@ import org.apache.stratos.manager.topology.receiver.StratosManagerTopologyEventR
import org.apache.stratos.manager.utils.CartridgeConfigFileReader;
import org.apache.stratos.manager.utils.UserRoleCreator;
import org.apache.stratos.messaging.broker.publish.EventPublisherPool;
-import org.apache.stratos.messaging.broker.subscribe.TopicSubscriber;
import org.apache.stratos.messaging.util.Util;
import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.ntask.core.service.TaskService;
@@ -69,7 +68,9 @@ public class ADCManagementServerComponent {
private static final Log log = LogFactory.getLog(ADCManagementServerComponent.class);
private static final String IDENTIFIER = "Stratos_manager";
private static final int THREAD_POOL_SIZE = 20;
- private StratosManagerTopologyEventReceiver stratosManagerTopologyEventReceiver;
+
+ private StratosManagerTopologyEventReceiver topologyEventReceiver;
+ private StratosManagerInstanceStatusEventReceiver instanceStatusEventReceiver;
private ExecutorService executorService;
protected void activate(ComponentContext componentContext) throws Exception {
@@ -92,13 +93,25 @@ public class ADCManagementServerComponent {
org.apache.stratos.common.listeners.TenantMgtListener.class.getName(),
tenantEventPublisher, null);
- // Start instance status topic subscriber
if(log.isDebugEnabled()) {
- log.debug("Starting instance status topic subscriber...");
+ log.debug("Starting instance status event receiver...");
+ }
+ instanceStatusEventReceiver = new StratosManagerInstanceStatusEventReceiver();
+ instanceStatusEventReceiver.setExecutorService(executorService);
+ instanceStatusEventReceiver.execute();
+ if(log.isInfoEnabled()) {
+ log.info("Instance status event receiver thread started");
}
- TopicSubscriber topicSubscriber = new TopicSubscriber(Util.Topics.INSTANCE_STATUS_TOPIC.getTopicName(), new InstanceStatusListener());
- executorService.execute(topicSubscriber);
+ if(log.isDebugEnabled()) {
+ log.debug("Starting topology event receiver...");
+ }
+ topologyEventReceiver = new StratosManagerTopologyEventReceiver();
+ topologyEventReceiver.setExecutorService(executorService);
+ executorService.execute(topologyEventReceiver);
+ if(log.isInfoEnabled()) {
+ log.info("Topology event receiver thread started");
+ }
RealmService realmService = DataHolder.getRealmService();
UserRealm realm = realmService.getBootstrapRealm();
@@ -111,38 +124,8 @@ public class ADCManagementServerComponent {
org.apache.stratos.common.listeners.TenantMgtListener.class.getName(),
tenantUserRoleCreator, null);
- //initializing the topology event subscriber
- /*TopicSubscriber topologyTopicSubscriber = new TopicSubscriber(Constants.TOPOLOGY_TOPIC);
- topologyTopicSubscriber.setMessageListener(new TopologyEventListner());
- Thread topologyTopicSubscriberThread = new Thread(topologyTopicSubscriber);
- topologyTopicSubscriberThread.start();
-
- //Starting Topology Receiver
- TopologyReceiver topologyReceiver = new TopologyReceiver();
- Thread topologyReceiverThread = new Thread(topologyReceiver);
- topologyReceiverThread.start();*/
-
-
- stratosManagerTopologyEventReceiver = new StratosManagerTopologyEventReceiver();
- stratosManagerTopologyEventReceiver.setExecutorService(executorService);
- executorService.execute(stratosManagerTopologyEventReceiver);
-
- log.info("Topology receiver thread started");
-
// retrieve persisted CartridgeSubscriptions
new DataInsertionAndRetrievalManager().cachePersistedSubscriptions();
-
- //Grouping
- /*
- if (log.isDebugEnabled()) {
- log.debug("restoring composite applications ...");
- }
- new CompositeApplicationManager().restoreCompositeApplications ();
-
- if (log.isDebugEnabled()) {
- log.debug("done restoring composite applications ...");
- }
- */
//Component activated successfully
log.info("ADC management server component is activated");
@@ -212,6 +195,6 @@ public class ADCManagementServerComponent {
executorService.shutdownNow();
//terminate Stratos Manager Topology Receiver
- stratosManagerTopologyEventReceiver.terminate();
+ topologyEventReceiver.terminate();
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java
deleted file mode 100644
index 66cf652..0000000
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/InstanceStatusListener.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.manager.listener;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.manager.publisher.InstanceNotificationPublisher;
-import org.apache.stratos.manager.retriever.DataInsertionAndRetrievalManager;
-import org.apache.stratos.manager.subscription.CartridgeSubscription;
-import org.apache.stratos.messaging.broker.subscribe.MessageListener;
-import org.apache.stratos.messaging.domain.Message;
-import org.apache.stratos.messaging.event.instance.status.InstanceStartedEvent;
-import org.apache.stratos.messaging.util.Util;
-
-import java.util.Set;
-
-public class InstanceStatusListener implements MessageListener {
-
- private static final Log log = LogFactory.getLog(InstanceStatusListener.class);
-
- @Override
- public void messageReceived(Message message) {
- try {
- if (log.isInfoEnabled()) {
- log.info("Instance status message received");
- }
-
- String type = message.getEventClassName();
- if (log.isInfoEnabled()) {
- log.info(String.format("Event class name: %s ", type));
- }
- // If member started event is received publish artifact update
- // message
- // To do a git clone
- if (InstanceStartedEvent.class.getName().equals(type)) {
- String json = message.getText();
- InstanceStartedEvent event =
- (InstanceStartedEvent) Util.jsonToObject(json,
- InstanceStartedEvent.class);
- String clusterId = event.getClusterId();
- if (log.isInfoEnabled()) {
- log.info("Cluster id: " + clusterId);
- }
-
- Set<CartridgeSubscription> cartridgeSubscriptions =
- new DataInsertionAndRetrievalManager().getCartridgeSubscriptionForCluster(clusterId);
- if (cartridgeSubscriptions == null || cartridgeSubscriptions.isEmpty()) {
- // No subscriptions, return
- if (log.isDebugEnabled()) {
- log.debug("No subscription information found for cluster id " +
- clusterId);
- }
- return;
- }
-
- for (CartridgeSubscription cartridgeSubscription : cartridgeSubscriptions) {
- // We need to send this event for all types, single
- // tenant
- // and multi tenant.
- // In an autoscaling scenario, we need to send this
- // event
- // for all existing subscriptions for the newly spawned
- // instance
- // Also in a case of restarting the agent, this event
- // needs
- // to be sent for all subscriptions for the existing
- // instance
- if (cartridgeSubscription.getRepository() != null) {
- InstanceNotificationPublisher publisher =
- new InstanceNotificationPublisher();
- publisher.sendArtifactUpdatedEvent(cartridgeSubscription.getRepository(),
- clusterId,
- String.valueOf(cartridgeSubscription.getSubscriber()
- .getTenantId()));
-
- } else {
- if (log.isDebugEnabled()) {
- log.debug("No repository found for subscription with alias: " +
- cartridgeSubscription.getAlias() + ", type: " +
- cartridgeSubscription.getType() +
- ". Not sending the Artifact Updated event");
- }
- }
- }
-
- }
- } catch (Exception e) {
- if (log.isErrorEnabled()) {
- log.error("Could not process instance status message", e);
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/StratosManagerInstanceStatusEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/StratosManagerInstanceStatusEventReceiver.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/StratosManagerInstanceStatusEventReceiver.java
new file mode 100644
index 0000000..00c218d
--- /dev/null
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/StratosManagerInstanceStatusEventReceiver.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.manager.listener;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.autoscaler.stub.pojo.ApplicationContext;
+import org.apache.stratos.autoscaler.stub.pojo.CartridgeContext;
+import org.apache.stratos.autoscaler.stub.pojo.SubscribableInfoContext;
+import org.apache.stratos.manager.client.AutoscalerServiceClient;
+import org.apache.stratos.manager.publisher.InstanceNotificationPublisher;
+import org.apache.stratos.messaging.event.Event;
+import org.apache.stratos.messaging.event.instance.status.InstanceStartedEvent;
+import org.apache.stratos.messaging.listener.instance.status.InstanceStartedEventListener;
+import org.apache.stratos.messaging.message.receiver.instance.status.InstanceStatusEventReceiver;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Stratos manager instance status event receiver.
+ */
+public class StratosManagerInstanceStatusEventReceiver extends InstanceStatusEventReceiver {
+
+ private static final Log log = LogFactory.getLog(StratosManagerInstanceStatusEventReceiver.class);
+
+ public StratosManagerInstanceStatusEventReceiver() {
+ addEventListeners();
+ }
+
+ private void addEventListeners() {
+ addEventListener(new InstanceStartedEventListener() {
+ @Override
+ protected void onEvent(Event event) {
+ InstanceStartedEvent instanceStartedEvent = (InstanceStartedEvent) event;
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Instance started event received: [application-id] %s [cartridge-type] %s " +
+ "[member-id] %s", instanceStartedEvent.getApplicationId(),
+ instanceStartedEvent.getServiceName(), instanceStartedEvent.getMemberId()));
+ }
+
+ try {
+ String applicationId = instanceStartedEvent.getApplicationId();
+ String serviceName = instanceStartedEvent.getServiceName();
+ String clusterId = instanceStartedEvent.getClusterId();
+
+ if (StringUtils.isBlank(applicationId)) {
+ throw new RuntimeException("Application id not found in instance started event: " + instanceStartedEvent);
+ }
+
+ if (StringUtils.isBlank(serviceName)) {
+ throw new RuntimeException("Service name not found in instance started event: " + instanceStartedEvent);
+ }
+
+ if (StringUtils.isBlank(clusterId)) {
+ throw new RuntimeException("Cluster id not found in instance started event: " + instanceStartedEvent);
+ }
+
+ AutoscalerServiceClient autoscalerServiceClient = AutoscalerServiceClient.getServiceClient();
+ ApplicationContext applicationContext = autoscalerServiceClient.getApplication(applicationId);
+ if (applicationContext == null) {
+ throw new RuntimeException("Application not found: [application-id] " + applicationId);
+ }
+
+ List<SubscribableInfoContext> subscribableInfoContexts = findCartridgeContext(applicationContext, serviceName);
+ if ((subscribableInfoContexts == null) || (subscribableInfoContexts.size() == 0)) {
+ throw new RuntimeException(String.format("Subscribable information not found: " +
+ "[application-id] %s [cartridge-type] %s", applicationId, serviceName));
+ }
+
+ InstanceNotificationPublisher publisher = new InstanceNotificationPublisher();
+
+ for(SubscribableInfoContext subscribableInfoContext : subscribableInfoContexts) {
+ String tenantId = "-1234";
+ publisher.publishArtifactUpdatedEvent(clusterId, tenantId, subscribableInfoContext.getRepoUrl(), subscribableInfoContext.getRepoUsername(),
+ subscribableInfoContext.getRepoPassword(), false);
+
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Artifact updated event published: [application-id] %s [cartridge-type] %s " +
+ "[member-id] %s [subscription-alias] %s [repo-url] %s",
+ instanceStartedEvent.getApplicationId(), instanceStartedEvent.getServiceName(),
+ instanceStartedEvent.getMemberId(), subscribableInfoContext.getAlias(),
+ subscribableInfoContext.getRepoUrl()));
+ }
+ }
+ } catch (Exception e) {
+ String message = "Could not send artifact updated event";
+ log.error(message, e);
+ }
+ }
+ });
+ }
+
+ /**
+ * Find subscribable info contexts of cartridge type/service name.
+ * @param applicationContext
+ * @param serviceName
+ * @return
+ */
+ private List<SubscribableInfoContext> findCartridgeContext(ApplicationContext applicationContext, String serviceName) {
+ List<SubscribableInfoContext> subscribableInfoContexts = new ArrayList<SubscribableInfoContext>();
+ CartridgeContext[] cartridgeContexts = applicationContext.getComponents().getCartridgeContexts();
+ if (cartridgeContexts != null) {
+ for (CartridgeContext cartridgeContext : cartridgeContexts) {
+ if (cartridgeContext != null) {
+ if (cartridgeContext.getType().equals(serviceName)) {
+ subscribableInfoContexts.add(cartridgeContext.getSubscribableInfoContext());
+ }
+ }
+ }
+ }
+ return subscribableInfoContexts;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/TenantStatusListner.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/TenantStatusListner.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/TenantStatusListner.java
deleted file mode 100644
index 49f8e2f..0000000
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/listener/TenantStatusListner.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.manager.listener;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.wso2.carbon.utils.Axis2ConfigurationContextObserver;
-
-public class TenantStatusListner implements Axis2ConfigurationContextObserver {
-
- public void creatingConfigurationContext(int i) {
- //To change body of implemented methods use File | Settings | File Templates.
- }
-
- public void createdConfigurationContext(ConfigurationContext configurationContext) {
-
- }
-
- public void terminatingConfigurationContext(ConfigurationContext configurationContext) {
- //To change body of implemented methods use File | Settings | File Templates.
- }
-
- public void terminatedConfigurationContext(ConfigurationContext configurationContext) {
- //To change body of implemented methods use File | Settings | File Templates.
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/publisher/InstanceNotificationPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/publisher/InstanceNotificationPublisher.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/publisher/InstanceNotificationPublisher.java
index 07db6db..aba3cf9 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/publisher/InstanceNotificationPublisher.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/publisher/InstanceNotificationPublisher.java
@@ -47,24 +47,25 @@ public class InstanceNotificationPublisher {
/**
* Publishing the artifact update event to the instances
- *
- * @param repository
+ *
* @param clusterId
* @param tenantId
+ * @param repoUrl
+ * @param repoUsername
+ * @param repoPassword
+ * @param isCommitEnabled
*/
- public void sendArtifactUpdatedEvent(Repository repository, String clusterId, String tenantId) {
+ public void publishArtifactUpdatedEvent(String clusterId, String tenantId, String repoUrl, String repoUsername,
+ String repoPassword, boolean isCommitEnabled) {
+
ArtifactUpdatedEvent artifactUpdateEvent = new ArtifactUpdatedEvent();
artifactUpdateEvent.setClusterId(clusterId);
- artifactUpdateEvent.setRepoUserName(repository.getUserName());
- artifactUpdateEvent.setRepoPassword(repository.getPassword());
- artifactUpdateEvent.setRepoURL(repository.getUrl());
+ artifactUpdateEvent.setRepoUserName(repoUsername);
+ artifactUpdateEvent.setRepoPassword(repoPassword);
+ artifactUpdateEvent.setRepoURL(repoUrl);
artifactUpdateEvent.setTenantId(tenantId);
- artifactUpdateEvent.setCommitEnabled(repository.isCommitEnabled());
+ artifactUpdateEvent.setCommitEnabled(isCommitEnabled);
- log.info(String.format("Publishing artifact updated event: [cluster] %s "
- + "[repo-URL] %s [repo-username] %s [tenant-id] %s",
- clusterId,
- repository.getUrl(), repository.getUserName(), tenantId));
publish(artifactUpdateEvent);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/repository/RepositoryNotification.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/repository/RepositoryNotification.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/repository/RepositoryNotification.java
index 6f7daf7..1cd8ad9 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/repository/RepositoryNotification.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/repository/RepositoryNotification.java
@@ -54,22 +54,26 @@ public class RepositoryNotification {
}
public void updateRepository(CartridgeSubscription cartridgeSubscription) {
- if (cartridgeSubscription.getRepository() != null) {
+ Repository repository = cartridgeSubscription.getRepository();
+ if (repository != null) {
InstanceNotificationPublisher publisher = new InstanceNotificationPublisher();
- publisher.sendArtifactUpdatedEvent(cartridgeSubscription.getRepository(),
+ publisher.publishArtifactUpdatedEvent(
String.valueOf(cartridgeSubscription.getCluster().getClusterDomain()),
- String.valueOf(cartridgeSubscription.getSubscriber().getTenantId()));
+ String.valueOf(cartridgeSubscription.getSubscriber().getTenantId()),
+ repository.getUrl(),
+ repository.getUserName(),
+ repository.getPassword(),
+ repository.isCommitEnabled());
- if (log.isDebugEnabled()) {
- log.debug("Git pull request from " + cartridgeSubscription.getRepository()
- + "repository, for the tenant "
- + String.valueOf(cartridgeSubscription.getSubscriber().getTenantId()));
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Artifact updated event published: %s [cartridge-type] %s " +
+ "%s [subscription-alias] %s [repo-url] %s",
+ cartridgeSubscription.getType(), cartridgeSubscription.getAlias(), repository.getUrl()));
}
-
} else {
- if (log.isDebugEnabled()) {
- log.debug("No repository found for subscription with alias: " + cartridgeSubscription.getAlias()
- + ", type: " + cartridgeSubscription.getType() + ". Not sending the Artifact Updated event");
+ if (log.isWarnEnabled()) {
+ log.warn("No repository found for subscription with alias: " + cartridgeSubscription.getAlias()
+ + ", type: " + cartridgeSubscription.getType() + ". Not sending artifact updated event");
}
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionMultiTenantBehaviour.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
index 949bee1..8146209 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
@@ -96,10 +96,10 @@ public class SubscriptionMultiTenantBehaviour extends SubscriptionTenancyBehavio
if (repository != null) {
// publish the ArtifactUpdated event
- log.info(" Multitenant --> Publishing Artifact update event -- ");
- log.info(" Values : cluster id - " + cluster.getClusterDomain() + " tenant - " + subscriber.getTenantId());
- InstanceNotificationPublisher publisher = new InstanceNotificationPublisher();
- publisher.sendArtifactUpdatedEvent(repository, cluster.getClusterDomain(), String.valueOf(subscriber.getTenantId()));
+ //log.info(" Multitenant --> Publishing Artifact update event -- ");
+ //log.info(" Values : cluster id - " + cluster.getClusterDomain() + " tenant - " + subscriber.getTenantId());
+ //InstanceNotificationPublisher publisher = new InstanceNotificationPublisher();
+ //publisher.publishArtifactUpdatedEvent(repository, cluster.getClusterDomain(), String.valueOf(subscriber.getTenantId()));
} else {
if(log.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/a71a6a00/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/status/InstanceStartedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/status/InstanceStartedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/status/InstanceStartedEvent.java
index ca62688..8e3a103 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/status/InstanceStartedEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/instance/status/InstanceStartedEvent.java
@@ -27,6 +27,7 @@ import java.io.Serializable;
public class InstanceStartedEvent extends InstanceStatusEvent implements Serializable {
private static final long serialVersionUID = 7447068435627208619L;
+ private final String applicationId;
private final String serviceName;
private final String clusterId;
private final String memberId;
@@ -35,8 +36,9 @@ public class InstanceStartedEvent extends InstanceStatusEvent implements Seriali
private final String partitionId;
private String groupId;
- public InstanceStartedEvent(String serviceName, String clusterId, String memberId,
+ public InstanceStartedEvent(String applicationId, String serviceName, String clusterId, String memberId,
String clusterInstanceId, String networkPartitionId, String partitionId) {
+ this.applicationId = applicationId;
this.serviceName = serviceName;
this.clusterId = clusterId;
this.memberId = memberId;
@@ -45,6 +47,10 @@ public class InstanceStartedEvent extends InstanceStatusEvent implements Seriali
this.partitionId = partitionId;
}
+ public String getApplicationId() {
+ return applicationId;
+ }
+
public String getServiceName() {
return serviceName;
}
@@ -76,4 +82,11 @@ public class InstanceStartedEvent extends InstanceStatusEvent implements Seriali
public String getClusterInstanceId() {
return clusterInstanceId;
}
+
+ @Override
+ public String toString() {
+ return String.format("[service-name] %s [cluster-id] %s [cluster-instance-id] %s [member-id] %s" +
+ "[network-partition-id] %s [partition-id] %s", getServiceName(), getClusterId(),
+ getClusterInstanceId(), getMemberId(), getNetworkPartitionId(), getPartitionId());
+ }
}
[2/3] stratos git commit: Updating python agent to read application
id and send it in instance started event
Posted by im...@apache.org.
Updating python agent to read application id and send it in instance started event
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/4a53aead
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/4a53aead
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/4a53aead
Branch: refs/heads/master
Commit: 4a53aeadc11acf3c1a23dfb1517b6e6eeff65d39
Parents: 0fdef65
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sat Jan 3 13:17:27 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sat Jan 3 17:01:50 2015 +0530
----------------------------------------------------------------------
.../cartridgeagent/cartridgeagent/agent.py | 2 ++
.../cartridgeagent/modules/config/cartridgeagentconfiguration.py | 3 +++
.../cartridgeagent/modules/event/instance/status/events.py | 4 +++-
.../cartridgeagent/modules/publisher/cartridgeagentpublisher.py | 3 ++-
.../cartridgeagent/modules/util/cartridgeagentconstants.py | 1 +
5 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/4a53aead/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/agent.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/agent.py b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/agent.py
index 5b32449..04e6313 100644
--- a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/agent.py
+++ b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/agent.py
@@ -105,6 +105,8 @@ class CartridgeAgent(threading.Thread):
self.log.info("No artifact repository found")
CartridgeAgent.extension_handler.on_instance_activated_event()
cartridgeagentpublisher.publish_instance_activated_event()
+ else:
+ self.log.info("Artifact repository found, waiting for artifact updated event to checkout artifacts: [repo_url] %s", repo_url)
persistence_mappping_payload = self.cartridge_agent_config.persistence_mappings
if persistence_mappping_payload is not None:
http://git-wip-us.apache.org/repos/asf/stratos/blob/4a53aead/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/config/cartridgeagentconfiguration.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/config/cartridgeagentconfiguration.py b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/config/cartridgeagentconfiguration.py
index bb28ab1..c0c7249 100644
--- a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/config/cartridgeagentconfiguration.py
+++ b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/config/cartridgeagentconfiguration.py
@@ -35,6 +35,8 @@ class CartridgeAgentConfiguration:
self.properties = None
""" :type : ConfigParser.SafeConfigParser """
+ self.application_id = None
+ """ :type : str """
self.service_group = None
""" :type : str """
self.is_clustered = False
@@ -118,6 +120,7 @@ class CartridgeAgentConfiguration:
# self.__isClustered = self.payload_params[
# cartridgeagentconstants.CLUSTERING] if cartridgeagentconstants.CLUSTERING in self.payload_params else None
+ self.application_id = self.read_property(cartridgeagentconstants.APPLICATION_ID)
self.service_name = self.read_property(cartridgeagentconstants.SERVICE_NAME)
self.cluster_id = self.read_property(cartridgeagentconstants.CLUSTER_ID)
self.cluster_instance_id= self.read_property(cartridgeagentconstants.CLUSTER_INSTANCE_ID)
http://git-wip-us.apache.org/repos/asf/stratos/blob/4a53aead/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/event/instance/status/events.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/event/instance/status/events.py b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/event/instance/status/events.py
index 1898155..db35987 100644
--- a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/event/instance/status/events.py
+++ b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/event/instance/status/events.py
@@ -41,8 +41,10 @@ class InstanceActivatedEvent:
class InstanceStartedEvent:
- def __init__(self, service_name, cluster_id, cluster_instance_id, member_id, instance_id,
+ def __init__(self, application_id, service_name, cluster_id, cluster_instance_id, member_id, instance_id,
network_partition_id, partition_id):
+ self.applicationId = application_id
+ """ :type : str """
self.serviceName = service_name
""" :type : str """
self.clusterId = cluster_id
http://git-wip-us.apache.org/repos/asf/stratos/blob/4a53aead/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/publisher/cartridgeagentpublisher.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/publisher/cartridgeagentpublisher.py b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/publisher/cartridgeagentpublisher.py
index b2f174e..dcdba8c 100644
--- a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/publisher/cartridgeagentpublisher.py
+++ b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/publisher/cartridgeagentpublisher.py
@@ -42,6 +42,7 @@ def publish_instance_started_event():
if not started:
log.info("Publishing instance started event")
+ application_id = CartridgeAgentConfiguration().application_id
service_name = CartridgeAgentConfiguration().service_name
cluster_id = CartridgeAgentConfiguration().cluster_id
member_id = CartridgeAgentConfiguration().member_id
@@ -50,7 +51,7 @@ def publish_instance_started_event():
network_partition_id = CartridgeAgentConfiguration().network_partition_id
partition_id = CartridgeAgentConfiguration().partition_id
- instance_started_event = InstanceStartedEvent(service_name, cluster_id, cluster_instance_id, member_id,
+ instance_started_event = InstanceStartedEvent(application_id, service_name, cluster_id, cluster_instance_id, member_id,
instance_id, network_partition_id, partition_id)
publisher = get_publisher(cartridgeagentconstants.INSTANCE_STATUS_TOPIC + cartridgeagentconstants.INSTANCE_STARTED_EVENT)
publisher.publish(instance_started_event)
http://git-wip-us.apache.org/repos/asf/stratos/blob/4a53aead/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/util/cartridgeagentconstants.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/util/cartridgeagentconstants.py b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/util/cartridgeagentconstants.py
index 68ef5fb..f7ae20b 100644
--- a/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/util/cartridgeagentconstants.py
+++ b/components/org.apache.stratos.python.cartridge.agent/cartridgeagent/cartridgeagent/modules/util/cartridgeagentconstants.py
@@ -23,6 +23,7 @@ MB_PORT = "mb.port"
CARTRIDGE_KEY = "CARTRIDGE_KEY"
APP_PATH = "APP_PATH"
+APPLICATION_ID = "APPLICATION_ID"
SERVICE_GROUP = "SERIVCE_GROUP"
SERVICE_NAME = "SERVICE_NAME"
CLUSTER_ID = "CLUSTER_ID"
[3/3] stratos git commit: Renaming payload parameter APP_ID to
APPLICATION_ID
Posted by im...@apache.org.
Renaming payload parameter APP_ID to APPLICATION_ID
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/0fdef65e
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/0fdef65e
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/0fdef65e
Branch: refs/heads/master
Commit: 0fdef65eac1ae8bdacae9cd69a2916db90f6950b
Parents: 278382c
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sat Jan 3 13:09:59 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sat Jan 3 17:01:50 2015 +0530
----------------------------------------------------------------------
.../parser/DefaultApplicationParser.java | 16 +++++++---------
.../applications/payload/BasicPayloadData.java | 15 +++++++--------
.../autoscaler/client/CloudControllerClient.java | 2 +-
3 files changed, 15 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/0fdef65e/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 f377743..1aede3b 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
@@ -240,11 +240,12 @@ public class DefaultApplicationParser implements ApplicationParser {
String alias;
Properties properties = new Properties();
- for (SubscribableInfoContext value : subscribableInfoCtxts.values()) {
- alias = value.getAlias();
- String username = value.getRepoUsername();
- String password = value.getRepoPassword();
- String repoUrl = value.getRepoUrl();
+ for (SubscribableInfoContext subscribableInfoContext : subscribableInfoCtxts.values()) {
+ alias = subscribableInfoContext.getAlias();
+ String username = subscribableInfoContext.getRepoUsername();
+ String password = subscribableInfoContext.getRepoPassword();
+ String repoUrl = subscribableInfoContext.getRepoUrl();
+
List<Property> propertyList = new ArrayList<Property>();
if (StringUtils.isNotEmpty(username)) {
Property property = new Property();
@@ -258,24 +259,21 @@ public class DefaultApplicationParser implements ApplicationParser {
Property property = new Property();
property.setName("REPO_PASSWORD");
property.setValue(encryptedPassword);
- //properties.addProperties(property);
propertyList.add(property);
-
}
if (StringUtils.isNotEmpty(repoUrl)) {
Property property = new Property();
property.setName("REPO_URL");
property.setValue(repoUrl);
- //properties.addProperties(property);
propertyList.add(property);
}
+
if(propertyList.size() > 0 ) {
Property[] properties1 = new Property[propertyList.size()];
properties.setProperties(propertyList.toArray(properties1));
this.addProperties(alias, properties);
}
-
}
if(log.isDebugEnabled()) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/0fdef65e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
index b0e4588..d4feb29 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/payload/BasicPayloadData.java
@@ -62,7 +62,7 @@ public class BasicPayloadData implements Serializable {
payloadBuilder = new StringBuilder();
- payloadBuilder.append("APP_ID=" + getAppId());
+ payloadBuilder.append("APPLICATION_ID=" + getAppId());
payloadBuilder.append(",");
payloadBuilder.append("GROUP_NAME=" + getGroupName());
payloadBuilder.append(",");
@@ -82,17 +82,17 @@ public class BasicPayloadData implements Serializable {
payloadBuilder.append(",");
payloadBuilder.append("CARTRIDGE_KEY=" + getSubscriptionKey());
payloadBuilder.append(",");
- //payloadBuilder.append("DEPLOYMENT=" + getDeployment());
- //payloadBuilder.append(",");
- //payloadBuilder.append("APP_PATH=" + getApplicationPath());
- //payloadBuilder.append(",");
+ payloadBuilder.append("DEPLOYMENT=" + getDeployment());
+ payloadBuilder.append(",");
+ payloadBuilder.append("APPLICATION_PATH=" + getApplicationPath());
+ payloadBuilder.append(",");
payloadBuilder.append("REPO_URL=" + getGitRepositoryUrl());
payloadBuilder.append(",");
payloadBuilder.append("PORTS=" + getPortMappings());
payloadBuilder.append(",");
payloadBuilder.append("PROVIDER=" + getProvider());
- //Payload Data exposed as system variables
+ //Payload data exposed as system variables
payloadBuilder.append(",");
payloadBuilder.append("PUPPET_IP=" + System.getProperty("puppet.ip"));
payloadBuilder.append(",");
@@ -103,13 +103,12 @@ public class BasicPayloadData implements Serializable {
payloadBuilder.append("PUPPET_ENV=" + System.getProperty("puppet.dns.available"));
payloadBuilder.append(",");
if(getDependencyAliasesPayloadString() != null){
- payloadBuilder.append("DEPENDECNY_ALIASES=" + getDependencyAliasesPayloadString());
+ payloadBuilder.append("DEPENDENCY_ALIASES=" + getDependencyAliasesPayloadString());
}
payloadBuilder.append(",");
if(getExportingPropertiesPayloadString() != null){
payloadBuilder.append("EXPORTING_PROPERTIES=" + getExportingPropertiesPayloadString());
}
-
}
public String getServiceName() {
http://git-wip-us.apache.org/repos/asf/stratos/blob/0fdef65e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
index d1d9ca7..f7b0de4 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/client/CloudControllerClient.java
@@ -177,7 +177,7 @@ public class CloudControllerClient {
XMLConfiguration conf = ConfUtil.getInstance(null).getConfiguration();
long expiryTime = conf.getLong(StratosConstants.OBSOLETED_VM_MEMBER_EXPIRY_TIMEOUT, 86400000);
if (log.isDebugEnabled()) {
- log.debug("Member Obsolete Expiry Time is set to: " + expiryTime);
+ log.debug("Member obsolete expiry time is set to: " + expiryTime);
}
InstanceContext instanceContext = new InstanceContext();