You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2015/08/12 13:32:36 UTC
[13/50] [abbrv] stratos git commit: Introducing stratos integration
test suite for the artifacts
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
new file mode 100644
index 0000000..7162cdf
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/TopologyHandler.java
@@ -0,0 +1,394 @@
+/*
+ * 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.integration.tests;
+
+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.common.client.AutoscalerServiceClient;
+import org.apache.stratos.common.threading.StratosThreadPool;
+import org.apache.stratos.messaging.domain.application.*;
+import org.apache.stratos.messaging.domain.instance.ClusterInstance;
+import org.apache.stratos.messaging.domain.instance.GroupInstance;
+import org.apache.stratos.messaging.domain.topology.Cluster;
+import org.apache.stratos.messaging.domain.topology.Member;
+import org.apache.stratos.messaging.domain.topology.MemberStatus;
+import org.apache.stratos.messaging.domain.topology.Service;
+import org.apache.stratos.messaging.message.receiver.application.ApplicationManager;
+import org.apache.stratos.messaging.message.receiver.application.ApplicationsEventReceiver;
+import org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver;
+import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
+
+import java.io.File;
+import java.rmi.RemoteException;
+import java.util.Collection;
+import java.util.Set;
+import java.util.concurrent.ExecutorService;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertNull;
+
+/**
+ * To start the Topology receivers
+ */
+public class TopologyHandler {
+ private static final Log log = LogFactory.getLog(TopologyHandler.class);
+
+ public static final int APPLICATION_ACTIVATION_TIMEOUT = 120000;
+ public static final int APPLICATION_TOPOLOGY_TIMEOUT = 60000;
+ public static final String APPLICATION_STATUS_CREATED = "Created";
+ public static final String APPLICATION_STATUS_UNDEPLOYING = "Undeploying";
+ private ApplicationsEventReceiver applicationsEventReceiver;
+ private TopologyEventReceiver topologyEventReceiver;
+ public static TopologyHandler topologyHandler;
+
+ private TopologyHandler() {
+ // Set jndi.properties.dir system property for initializing event receivers
+ System.setProperty("jndi.properties.dir", getResourcesFolderPath());
+ System.setProperty("autoscaler.service.url", "https://localhost:9443/services/AutoscalerService");
+ initializeApplicationEventReceiver();
+ initializeTopologyEventReceiver();
+ assertApplicationTopologyInitialized();
+ assertTopologyInitialized();
+ }
+
+ public static TopologyHandler getInstance() {
+ if (topologyHandler == null) {
+ synchronized (TopologyHandler.class) {
+ if (topologyHandler == null) {
+ topologyHandler = new TopologyHandler();
+ }
+ }
+ }
+ return topologyHandler;
+ }
+
+
+ /**
+ * Initialize application event receiver
+ */
+ private void initializeApplicationEventReceiver() {
+ if (applicationsEventReceiver == null) {
+ applicationsEventReceiver = new ApplicationsEventReceiver();
+ ExecutorService executorService = StratosThreadPool.getExecutorService("STRATOS_TEST_SERVER", 1);
+ applicationsEventReceiver.setExecutorService(executorService);
+ applicationsEventReceiver.execute();
+ }
+ }
+
+ /**
+ * Initialize Topology event receiver
+ */
+ private void initializeTopologyEventReceiver() {
+ if (topologyEventReceiver == null) {
+ topologyEventReceiver = new TopologyEventReceiver();
+ ExecutorService executorService = StratosThreadPool.getExecutorService("STRATOS_TEST_SERVER1", 1);
+ topologyEventReceiver.setExecutorService(executorService);
+ topologyEventReceiver.execute();
+ }
+ }
+
+ /**
+ * Assert application Topology initialization
+ */
+ private void assertApplicationTopologyInitialized() {
+ long startTime = System.currentTimeMillis();
+ boolean applicationTopologyInitialized = ApplicationManager.getApplications().isInitialized();
+ while (!applicationTopologyInitialized) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignore) {
+ }
+ applicationTopologyInitialized = ApplicationManager.getApplications().isInitialized();
+ if ((System.currentTimeMillis() - startTime) > APPLICATION_TOPOLOGY_TIMEOUT) {
+ break;
+ }
+ }
+ assertEquals(String.format("Application Topology didn't get initialized "), applicationTopologyInitialized, true);
+ }
+
+ /**
+ * Assert Topology initialization
+ */
+ private void assertTopologyInitialized() {
+ long startTime = System.currentTimeMillis();
+ boolean topologyInitialized = TopologyManager.getTopology().isInitialized();
+ while (!topologyInitialized) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignore) {
+ }
+ topologyInitialized = TopologyManager.getTopology().isInitialized();
+ if ((System.currentTimeMillis() - startTime) > APPLICATION_TOPOLOGY_TIMEOUT) {
+ break;
+ }
+ }
+ assertEquals(String.format("Topology didn't get initialized "), topologyInitialized, true);
+ }
+
+ /**
+ * Assert application activation
+ *
+ * @param applicationName
+ */
+ public void assertApplicationActivation(String applicationName) {
+ long startTime = System.currentTimeMillis();
+ Application application = ApplicationManager.getApplications().getApplication(applicationName);
+ while (!((application != null) && (application.getStatus() == ApplicationStatus.Active))) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignore) {
+ }
+ application = ApplicationManager.getApplications().getApplication(applicationName);
+ if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
+ break;
+ }
+ }
+ assertNotNull(String.format("Application is not found: [application-id] %s", applicationName), application);
+ assertEquals(String.format("Application status did not change to active: [application-id] %s", applicationName),
+ ApplicationStatus.Active, application.getStatus());
+ }
+
+ /**
+ * Assert application activation
+ *
+ * @param applicationName
+ */
+ public void assertGroupActivation(String applicationName) {
+ Application application = ApplicationManager.getApplications().getApplication(applicationName);
+ assertNotNull(String.format("Application is not found: [application-id] %s",
+ applicationName), application);
+
+ Collection<Group> groups = application.getAllGroupsRecursively();
+ for (Group group : groups) {
+ assertEquals(group.getInstanceContextCount() >= group.getGroupMinInstances(), true);
+ }
+ }
+
+ /**
+ * Assert application activation
+ *
+ * @param applicationName
+ */
+ public void assertClusterActivation(String applicationName) {
+ Application application = ApplicationManager.getApplications().getApplication(applicationName);
+ assertNotNull(String.format("Application is not found: [application-id] %s",
+ applicationName), application);
+
+ Set<ClusterDataHolder> clusterDataHolderSet = application.getClusterDataRecursively();
+ for (ClusterDataHolder clusterDataHolder : clusterDataHolderSet) {
+ String serviceName = clusterDataHolder.getServiceType();
+ String clusterId = clusterDataHolder.getClusterId();
+ Service service = TopologyManager.getTopology().getService(serviceName);
+ assertNotNull(String.format("Service is not found: [application-id] %s [service] %s",
+ applicationName, serviceName), service);
+
+ Cluster cluster = service.getCluster(clusterId);
+ assertNotNull(String.format("Cluster is not found: [application-id] %s [service] %s [cluster-id] %s",
+ applicationName, serviceName, clusterId), cluster);
+ boolean clusterActive = false;
+
+ for (ClusterInstance instance : cluster.getInstanceIdToInstanceContextMap().values()) {
+ int activeInstances = 0;
+ for (Member member : cluster.getMembers()) {
+ if (member.getClusterInstanceId().equals(instance.getInstanceId())) {
+ if (member.getStatus().equals(MemberStatus.Active)) {
+ activeInstances++;
+ }
+ }
+ }
+ clusterActive = activeInstances >= clusterDataHolder.getMinInstances();
+
+ if (!clusterActive) {
+ break;
+ }
+ }
+ assertEquals(String.format("Cluster status did not change to active: [cluster-id] %s", clusterId),
+ clusterActive, true);
+ }
+
+ }
+
+ public void assertClusterMinMemberCount(String applicationName, int minMembers) {
+ long startTime = System.currentTimeMillis();
+
+ Application application = ApplicationManager.getApplications().getApplication(applicationName);
+ assertNotNull(String.format("Application is not found: [application-id] %s",
+ applicationName), application);
+
+ Set<ClusterDataHolder> clusterDataHolderSet = application.getClusterDataRecursively();
+ for (ClusterDataHolder clusterDataHolder : clusterDataHolderSet) {
+ String serviceName = clusterDataHolder.getServiceType();
+ String clusterId = clusterDataHolder.getClusterId();
+ Service service = TopologyManager.getTopology().getService(serviceName);
+ assertNotNull(String.format("Service is not found: [application-id] %s [service] %s",
+ applicationName, serviceName), service);
+
+ Cluster cluster = service.getCluster(clusterId);
+ assertNotNull(String.format("Cluster is not found: [application-id] %s [service] %s [cluster-id] %s",
+ applicationName, serviceName, clusterId), cluster);
+ boolean clusterActive = false;
+
+ for (ClusterInstance instance : cluster.getInstanceIdToInstanceContextMap().values()) {
+ int activeInstances = 0;
+ for (Member member : cluster.getMembers()) {
+ if (member.getClusterInstanceId().equals(instance.getInstanceId())) {
+ if (member.getStatus().equals(MemberStatus.Active)) {
+ activeInstances++;
+ }
+ }
+ }
+ clusterActive = activeInstances >= minMembers;
+
+ while (!clusterActive) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignore) {
+ }
+ service = TopologyManager.getTopology().getService(serviceName);
+ assertNotNull(String.format("Service is not found: [application-id] %s [service] %s",
+ applicationName, serviceName), service);
+
+ cluster = service.getCluster(clusterId);
+ activeInstances = 0;
+ for (Member member : cluster.getMembers()) {
+ if (member.getClusterInstanceId().equals(instance.getInstanceId())) {
+ if (member.getStatus().equals(MemberStatus.Active)) {
+ activeInstances++;
+ }
+ }
+ }
+ clusterActive = activeInstances >= minMembers;
+ assertNotNull(String.format("Cluster is not found: [application-id] %s [service] %s [cluster-id] %s",
+ applicationName, serviceName, clusterId), cluster);
+
+ if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
+ break;
+ }
+ }
+ }
+ assertEquals(String.format("Cluster status did not change to active: [cluster-id] %s", clusterId),
+ clusterActive, true);
+ }
+
+ }
+
+
+ /**
+ * Assert application activation
+ *
+ * @param applicationName
+ */
+ public boolean assertApplicationUndeploy(String applicationName) {
+ long startTime = System.currentTimeMillis();
+ Application application = ApplicationManager.getApplications().getApplication(applicationName);
+ ApplicationContext applicationContext = null;
+ try {
+ applicationContext = AutoscalerServiceClient.getInstance().getApplication(applicationName);
+ } catch (RemoteException e) {
+ log.error("Error while getting the application context for [application] " + applicationName);
+ }
+ while (((application != null) && application.getInstanceContextCount() > 0) ||
+ (applicationContext == null || applicationContext.getStatus().equals(APPLICATION_STATUS_UNDEPLOYING))) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignore) {
+ }
+ application = ApplicationManager.getApplications().getApplication(applicationName);
+ try {
+ applicationContext = AutoscalerServiceClient.getInstance().getApplication(applicationName);
+ } catch (RemoteException e) {
+ log.error("Error while getting the application context for [application] " + applicationName);
+ }
+ if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
+ break;
+ }
+ }
+
+ assertNotNull(String.format("Application is not found: [application-id] %s",
+ applicationName), application);
+ assertNotNull(String.format("Application Context is not found: [application-id] %s",
+ applicationName), applicationContext);
+
+ //Force undeployment after the graceful deployment
+ if (application.getInstanceContextCount() > 0 ||
+ applicationContext.getStatus().equals(APPLICATION_STATUS_UNDEPLOYING)) {
+ return false;
+ }
+ assertEquals(String.format("Application status did not change to Created: [application-id] %s", applicationName),
+ APPLICATION_STATUS_CREATED, applicationContext.getStatus());
+ return true;
+ }
+
+ /**
+ * Assert application activation
+ *
+ * @param applicationName
+ */
+ public void assertGroupInstanceCount(String applicationName, String groupAlias, int count) {
+ long startTime = System.currentTimeMillis();
+ Application application = ApplicationManager.getApplications().getApplication(applicationName);
+ if (application != null) {
+ Group group = application.getGroupRecursively(groupAlias);
+ while (group.getInstanceContextCount() != count) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignore) {
+ }
+ if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
+ break;
+ }
+ }
+ for (GroupInstance instance : group.getInstanceIdToInstanceContextMap().values()) {
+ while (!instance.getStatus().equals(GroupStatus.Active)) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ignore) {
+ }
+ if ((System.currentTimeMillis() - startTime) > APPLICATION_ACTIVATION_TIMEOUT) {
+ break;
+ }
+ }
+ }
+ assertEquals(String.format("Application status did not change to active: [application-id] %s", applicationName),
+ group.getInstanceContextCount(), count);
+ }
+ assertNotNull(String.format("Application is not found: [application-id] %s", applicationName), application);
+
+ }
+
+ public void assertApplicationNotExists(String applicationName) {
+ Application application = ApplicationManager.getApplications().getApplication(applicationName);
+ assertNull(String.format("Application is found in the topology : [application-id] %s", applicationName), application);
+ }
+
+ /**
+ * Get resources folder path
+ *
+ * @return
+ */
+ private String getResourcesFolderPath() {
+ String path = getClass().getResource("/").getPath();
+ return StringUtils.removeEnd(path, File.separator);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationBean.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationBean.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationBean.java
new file mode 100644
index 0000000..ce23728
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationBean.java
@@ -0,0 +1,25 @@
+/*
+ * 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.integration.tests.config;
+
+/**
+ * Created by reka on 5/7/15.
+ */
+public class ApplicationBean {
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationConfigParser.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationConfigParser.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationConfigParser.java
new file mode 100644
index 0000000..ace17e6
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/config/ApplicationConfigParser.java
@@ -0,0 +1,25 @@
+/*
+ * 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.integration.tests.config;
+
+/**
+ * Created by reka on 5/7/15.
+ */
+public class ApplicationConfigParser {
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/rest/RestClient.java
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/rest/RestClient.java b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/rest/RestClient.java
index 5ff8fd3..34a9d75 100644
--- a/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/rest/RestClient.java
+++ b/products/stratos/modules/integration/src/test/java/org/apache/stratos/integration/tests/rest/RestClient.java
@@ -315,7 +315,7 @@ public class RestClient {
log.error(msg + entityName);
throw new RuntimeException(msg + entityName);
} catch (Exception e) {
- String message = "Could not add " + entityName;
+ String message = "Could not update " + entityName;
log.error(message, e);
throw new RuntimeException(message, e);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/application-policies/application-policy-2.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/application-policies/application-policy-2.json b/products/stratos/modules/integration/src/test/resources/application-policies/application-policy-2.json
new file mode 100644
index 0000000..1137942
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/application-policies/application-policy-2.json
@@ -0,0 +1,18 @@
+{
+ "id": "application-policy-2",
+ "algorithm": "one-after-another",
+ "networkPartitions": [
+ "network-partition-7",
+ "network-partition-8"
+ ],
+ "properties": [
+ {
+ "name": "networkPartitionGroups",
+ "value": "network-partition-7,network-partition-8"
+ },
+ {
+ "name": "key-2",
+ "value": "value-2"
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v1.json b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v1.json
new file mode 100644
index 0000000..ff332c0
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v1.json
@@ -0,0 +1,86 @@
+{
+ "alias": "g-sc-G123-1",
+ "applicationId": "g-sc-G123-1",
+ "components": {
+ "cartridges": [],
+ "groups": [
+ {
+ "name": "G1",
+ "groupMaxInstances": 1,
+ "groupMinInstances": 1,
+ "alias": "group1",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 3,
+ "type": "c1",
+ "subscribableInfo": {
+ "alias": "c1-1x0",
+ "deploymentPolicy": "deployment-policy-1",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "G2",
+ "groupMaxInstances": 1,
+ "groupMinInstances": 1,
+ "alias": "group2",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "type": "c2",
+ "subscribableInfo": {
+ "alias": "c2-1x0",
+ "deploymentPolicy": "deployment-policy-1",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "G3",
+ "groupMaxInstances": 3,
+ "groupMinInstances": 2,
+ "deploymentPolicy": "static-1",
+ "alias": "group3",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 3,
+ "type": "c3",
+ "subscribableInfo": {
+ "alias": "c3-1x0",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v2.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v2.json b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v2.json
new file mode 100644
index 0000000..6f827c2
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v2.json
@@ -0,0 +1,86 @@
+{
+ "alias": "g-sc-G123-1",
+ "applicationId": "g-sc-G123-1",
+ "components": {
+ "cartridges": [],
+ "groups": [
+ {
+ "name": "G1",
+ "groupMaxInstances": 5,
+ "groupMinInstances": 2,
+ "alias": "group1",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 3,
+ "type": "c1",
+ "subscribableInfo": {
+ "alias": "c1-1x0",
+ "deploymentPolicy": "deployment-policy-1",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "G2",
+ "groupMaxInstances": 1,
+ "groupMinInstances": 1,
+ "alias": "group2",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "type": "c2",
+ "subscribableInfo": {
+ "alias": "c2-1x0",
+ "deploymentPolicy": "deployment-policy-1",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "G3",
+ "groupMaxInstances": 3,
+ "groupMinInstances": 2,
+ "deploymentPolicy": "static-1",
+ "alias": "group3",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 3,
+ "type": "c3",
+ "subscribableInfo": {
+ "alias": "c3-1x0",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v3.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v3.json b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v3.json
new file mode 100644
index 0000000..a6e5fd7
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/g-sc-G123-1-v3.json
@@ -0,0 +1,86 @@
+{
+ "alias": "g-sc-G123-1",
+ "applicationId": "g-sc-G123-1",
+ "components": {
+ "cartridges": [],
+ "groups": [
+ {
+ "name": "G1",
+ "groupMaxInstances": 1,
+ "groupMinInstances": 1,
+ "alias": "group1",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 3,
+ "type": "c1",
+ "subscribableInfo": {
+ "alias": "c1-1x0",
+ "deploymentPolicy": "deployment-policy-1",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "G2",
+ "groupMaxInstances": 1,
+ "groupMinInstances": 1,
+ "alias": "group2",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "type": "c2",
+ "subscribableInfo": {
+ "alias": "c2-1x0",
+ "deploymentPolicy": "deployment-policy-1",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "G3",
+ "groupMaxInstances": 4,
+ "groupMinInstances": 3,
+ "deploymentPolicy": "static-1",
+ "alias": "group3",
+ "cartridges": [
+ {
+ "cartridgeMin": 2,
+ "cartridgeMax": 3,
+ "type": "c3",
+ "subscribableInfo": {
+ "alias": "c3-1x0",
+ "artifactRepository": {
+ "repoUsername": "user",
+ "repoUrl": "http://stratos.apache.org:10080/git/default.git",
+ "privateRepo": true,
+ "repoPassword": "c-policy"
+ },
+ "autoscalingPolicy": "autoscaling-policy-1"
+ }
+ }
+ ],
+ "groups": []
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1-v1.json b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1-v1.json
deleted file mode 100644
index fb5e000..0000000
--- a/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1-v1.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "alias": "g-sc-G123-1",
- "applicationId": "g-sc-G123-1",
- "components": {
- "cartridges": [],
- "groups": [
- {
- "name": "G1",
- "groupMaxInstances": 5,
- "groupMinInstances": 4,
- "alias": "group1",
- "cartridges": [
- {
- "cartridgeMin": 2,
- "cartridgeMax": 3,
- "type": "c1",
- "subscribableInfo": {
- "alias": "c1-1x0",
- "deploymentPolicy": "deployment-policy-1",
- "artifactRepository": {
- "repoUsername": "user",
- "repoUrl": "http://stratos.apache.org:10080/git/default.git",
- "privateRepo": true,
- "repoPassword": "c-policy"
- },
- "autoscalingPolicy": "autoscaling-policy-1"
- }
- }
- ],
- "groups": [
- {
- "name": "G2",
- "groupMaxInstances": 1,
- "groupMinInstances": 1,
- "alias": "group2",
- "cartridges": [
- {
- "cartridgeMin": 2,
- "cartridgeMax": 4,
- "type": "c2",
- "subscribableInfo": {
- "alias": "c2-1x0",
- "deploymentPolicy": "deployment-policy-1",
- "artifactRepository": {
- "repoUsername": "user",
- "repoUrl": "http://stratos.apache.org:10080/git/default.git",
- "privateRepo": true,
- "repoPassword": "c-policy"
- },
- "autoscalingPolicy": "autoscaling-policy-1"
- }
- }
- ],
- "groups": [
- {
- "name": "G3",
- "groupMaxInstances": 3,
- "groupMinInstances": 2,
- "deploymentPolicy": "static-1",
- "alias": "group3",
- "cartridges": [
- {
- "cartridgeMin": 2,
- "cartridgeMax": 3,
- "type": "c3",
- "subscribableInfo": {
- "alias": "c3-1x0",
- "artifactRepository": {
- "repoUsername": "user",
- "repoUrl": "http://stratos.apache.org:10080/git/default.git",
- "privateRepo": true,
- "repoPassword": "c-policy"
- },
- "autoscalingPolicy": "autoscaling-policy-1"
- }
- }
- ],
- "groups": []
- }
- ]
- }
- ]
- }
- ]
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1.json b/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1.json
deleted file mode 100644
index ff332c0..0000000
--- a/products/stratos/modules/integration/src/test/resources/applications/simple/single-cartridge-app/update/g-sc-G123-1.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "alias": "g-sc-G123-1",
- "applicationId": "g-sc-G123-1",
- "components": {
- "cartridges": [],
- "groups": [
- {
- "name": "G1",
- "groupMaxInstances": 1,
- "groupMinInstances": 1,
- "alias": "group1",
- "cartridges": [
- {
- "cartridgeMin": 2,
- "cartridgeMax": 3,
- "type": "c1",
- "subscribableInfo": {
- "alias": "c1-1x0",
- "deploymentPolicy": "deployment-policy-1",
- "artifactRepository": {
- "repoUsername": "user",
- "repoUrl": "http://stratos.apache.org:10080/git/default.git",
- "privateRepo": true,
- "repoPassword": "c-policy"
- },
- "autoscalingPolicy": "autoscaling-policy-1"
- }
- }
- ],
- "groups": [
- {
- "name": "G2",
- "groupMaxInstances": 1,
- "groupMinInstances": 1,
- "alias": "group2",
- "cartridges": [
- {
- "cartridgeMin": 2,
- "cartridgeMax": 4,
- "type": "c2",
- "subscribableInfo": {
- "alias": "c2-1x0",
- "deploymentPolicy": "deployment-policy-1",
- "artifactRepository": {
- "repoUsername": "user",
- "repoUrl": "http://stratos.apache.org:10080/git/default.git",
- "privateRepo": true,
- "repoPassword": "c-policy"
- },
- "autoscalingPolicy": "autoscaling-policy-1"
- }
- }
- ],
- "groups": [
- {
- "name": "G3",
- "groupMaxInstances": 3,
- "groupMinInstances": 2,
- "deploymentPolicy": "static-1",
- "alias": "group3",
- "cartridges": [
- {
- "cartridgeMin": 2,
- "cartridgeMax": 3,
- "type": "c3",
- "subscribableInfo": {
- "alias": "c3-1x0",
- "artifactRepository": {
- "repoUsername": "user",
- "repoUrl": "http://stratos.apache.org:10080/git/default.git",
- "privateRepo": true,
- "repoPassword": "c-policy"
- },
- "autoscalingPolicy": "autoscaling-policy-1"
- }
- }
- ],
- "groups": []
- }
- ]
- }
- ]
- }
- ]
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/autoscaling-policies/autoscaling-policy-c0-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/autoscaling-policies/autoscaling-policy-c0-v1.json b/products/stratos/modules/integration/src/test/resources/autoscaling-policies/autoscaling-policy-c0-v1.json
new file mode 100644
index 0000000..31c2b84
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/autoscaling-policies/autoscaling-policy-c0-v1.json
@@ -0,0 +1,14 @@
+{
+ "id": "autoscaling-policy-c0",
+ "loadThresholds": {
+ "requestsInFlight": {
+ "threshold": 30
+ },
+ "memoryConsumption": {
+ "threshold": 40
+ },
+ "loadAverage": {
+ "threshold": 20
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/autoscaling-policies/update/autoscaling-policy-c0.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/autoscaling-policies/update/autoscaling-policy-c0.json b/products/stratos/modules/integration/src/test/resources/autoscaling-policies/update/autoscaling-policy-c0.json
deleted file mode 100644
index 31c2b84..0000000
--- a/products/stratos/modules/integration/src/test/resources/autoscaling-policies/update/autoscaling-policy-c0.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "id": "autoscaling-policy-c0",
- "loadThresholds": {
- "requestsInFlight": {
- "threshold": 30
- },
- "memoryConsumption": {
- "threshold": 40
- },
- "loadAverage": {
- "threshold": 20
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges-groups/cartrdige-nested-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges-groups/cartrdige-nested-v1.json b/products/stratos/modules/integration/src/test/resources/cartridges-groups/cartrdige-nested-v1.json
new file mode 100644
index 0000000..6020e1e
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/cartridges-groups/cartrdige-nested-v1.json
@@ -0,0 +1,50 @@
+{
+ "name": "G1",
+ "dependencies": {
+ "terminationBehaviour": "terminate-none",
+ "startupOrders": [
+ {
+ "aliases": [
+ "group.group2",
+ "cartridge.c1-1x0"
+ ]
+ }
+ ]
+ },
+ "cartridges": [
+ "c1"
+ ],
+ "groups": [
+ {
+ "name": "G2",
+ "dependencies": {
+ "terminationBehaviour": "terminate-dependents",
+ "startupOrders": [
+ {
+ "aliases": [
+ "group.group3",
+ "cartridge.c2-1x0"
+ ]
+ }
+ ]
+ },
+ "cartridges": [
+ "c2"
+ ],
+ "groups": [
+ {
+ "name": "G3",
+ "dependencies": {
+ "terminationBehaviour": "terminate-all",
+ "startupOrders": []
+ },
+ "cartridges": [
+ "c3"
+ ],
+ "groups": []
+ }
+ ]
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6-v1.json b/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6-v1.json
new file mode 100644
index 0000000..c0132f0
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6-v1.json
@@ -0,0 +1,50 @@
+{
+ "name": "G4",
+ "dependencies": {
+ "terminationBehaviour": "terminate-none",
+ "startupOrders": [
+ {
+ "aliases": [
+ "group.group2",
+ "cartridge.c1-1x0"
+ ]
+ }
+ ]
+ },
+ "cartridges": [
+ "c4"
+ ],
+ "groups": [
+ {
+ "name": "G5",
+ "dependencies": {
+ "terminationBehaviour": "terminate-dependents",
+ "startupOrders": [
+ {
+ "aliases": [
+ "group.group6",
+ "cartridge.c5-1x0"
+ ]
+ }
+ ]
+ },
+ "cartridges": [
+ "c5"
+ ],
+ "groups": [
+ {
+ "name": "G6",
+ "dependencies": {
+ "terminationBehaviour": "terminate-all",
+ "startupOrders": []
+ },
+ "cartridges": [
+ "c6"
+ ],
+ "groups": []
+ }
+ ]
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6.json b/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6.json
new file mode 100644
index 0000000..ef28723
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/cartridges-groups/g4-g5-g6.json
@@ -0,0 +1,50 @@
+{
+ "name": "G4",
+ "dependencies": {
+ "terminationBehaviour": "terminate-none",
+ "startupOrders": [
+ {
+ "aliases": [
+ "group.group5",
+ "cartridge.c4-1x0"
+ ]
+ }
+ ]
+ },
+ "cartridges": [
+ "c4"
+ ],
+ "groups": [
+ {
+ "name": "G5",
+ "dependencies": {
+ "terminationBehaviour": "terminate-dependents",
+ "startupOrders": [
+ {
+ "aliases": [
+ "group.group6",
+ "cartridge.c5-1x0"
+ ]
+ }
+ ]
+ },
+ "cartridges": [
+ "c5"
+ ],
+ "groups": [
+ {
+ "name": "G6",
+ "dependencies": {
+ "terminationBehaviour": "terminate-all",
+ "startupOrders": []
+ },
+ "cartridges": [
+ "c6"
+ ],
+ "groups": []
+ }
+ ]
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges-groups/update/cartrdige-nested.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges-groups/update/cartrdige-nested.json b/products/stratos/modules/integration/src/test/resources/cartridges-groups/update/cartrdige-nested.json
deleted file mode 100644
index 6020e1e..0000000
--- a/products/stratos/modules/integration/src/test/resources/cartridges-groups/update/cartrdige-nested.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "name": "G1",
- "dependencies": {
- "terminationBehaviour": "terminate-none",
- "startupOrders": [
- {
- "aliases": [
- "group.group2",
- "cartridge.c1-1x0"
- ]
- }
- ]
- },
- "cartridges": [
- "c1"
- ],
- "groups": [
- {
- "name": "G2",
- "dependencies": {
- "terminationBehaviour": "terminate-dependents",
- "startupOrders": [
- {
- "aliases": [
- "group.group3",
- "cartridge.c2-1x0"
- ]
- }
- ]
- },
- "cartridges": [
- "c2"
- ],
- "groups": [
- {
- "name": "G3",
- "dependencies": {
- "terminationBehaviour": "terminate-all",
- "startupOrders": []
- },
- "cartridges": [
- "c3"
- ],
- "groups": []
- }
- ]
- }
- ]
-}
-
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges/mock/c0-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges/mock/c0-v1.json b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c0-v1.json
new file mode 100755
index 0000000..6d922a9
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c0-v1.json
@@ -0,0 +1,124 @@
+{
+ "category": "Data",
+ "description": "c0 Cartridge",
+ "displayName": "c0",
+ "host": "qmog.cisco.com12",
+ "iaasProvider": [
+ {
+ "imageId": "RegionOne/16e7e35b-0c88-4605-90ce-cbef9e9d123",
+ "maxInstanceLimit": "4",
+ "networkInterfaces": [
+ {
+ "floatingNetworks": [
+ {
+ "name": "private",
+ "networkUuid": "26b4aa2b-06bc-4e4f-a6eb-c19fbc2112121"
+ }
+ ],
+ "name": "core1",
+ "networkUuid": "5e107fbd-4820-47ad-84ea-6f1354961212"
+ }
+ ],
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/2cdbd576-8c9b-4c2d-8b1a-0f79dc4fb812"
+ },
+ {
+ "name": "keyPair",
+ "value": "phoenix12"
+ },
+ {
+ "name": "autoAssignIp",
+ "value": "true"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default123"
+ }
+ ],
+ "type": "mock"
+ }
+ ],
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "port": "22",
+ "protocol": "http",
+ "proxyPort": "8280"
+ }
+ ],
+ "property": [
+ {
+ "name": "payload_parameter.MB_IP",
+ "value": "octl.qmog.cisco.com123"
+ },
+ {
+ "name": "payload_parameter.MB_PORT",
+ "value": "61617"
+ },
+ {
+ "name": "payload_parameter.CEP_IP",
+ "value": "octl.qmog.cisco.com123"
+ },
+ {
+ "name": "payload_parameter.CEP_PORT",
+ "value": "7612"
+ },
+ {
+ "name": "payload_parameter.CEP_ADMIN_USERNAME",
+ "value": "admin"
+ },
+ {
+ "name": "payload_parameter.CEP_ADMIN_PASSWORD",
+ "value": "admin123"
+ },
+ {
+ "name": "payload_parameter.CERT_TRUSTSTORE",
+ "value": "/opt/apache-stratos-cartridge-agent/security/client-truststore.jks"
+ },
+ {
+ "name": "payload_parameter.TRUSTSTORE_PASSWORD",
+ "value": "wso2carbon"
+ },
+ {
+ "name": "payload_parameter.ENABLE_DATA_PUBLISHER",
+ "value": "false"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_IP",
+ "value": "octl.qmog.cisco.com123"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_PORT",
+ "value": "7612"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_SECURE_PORT",
+ "value": "7712"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_ADMIN_USERNAME",
+ "value": "admin"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD",
+ "value": "admin123"
+ },
+ {
+ "name": "payload_parameter.QTCM_DNS_SEGMENT",
+ "value": "test123"
+ },
+ {
+ "name": "payload_parameter.QTCM_NETWORK_COUNT",
+ "value": "3"
+ },
+ {
+ "name": "payload_parameter.SIMPLE_PROPERTY",
+ "value": "value"
+ }
+ ],
+ "provider": "apache",
+ "type": "c0",
+ "version": "1.0"
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges/mock/c4.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges/mock/c4.json b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c4.json
new file mode 100755
index 0000000..ec7d8b2
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c4.json
@@ -0,0 +1,45 @@
+{
+ "type": "c4",
+ "provider": "apache",
+ "host": "stratos.apache.org",
+ "category": "data",
+ "displayName": "c4",
+ "description": "c4 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "name": "http-22",
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "mock",
+ "imageId": "RegionOne/b4ca55e3-58ab-4937-82ce-817ebd10240e",
+ "networkInterfaces": [
+ {
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "vishanth-key"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges/mock/c5.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges/mock/c5.json b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c5.json
new file mode 100755
index 0000000..0e438fd
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c5.json
@@ -0,0 +1,124 @@
+{
+ "category": "Application",
+ "description": "c5 Cartridge",
+ "displayName": "c5",
+ "host": "qmog.cisco.com",
+ "iaasProvider": [
+ {
+ "imageId": "RegionOne/16e7e35b-0c88-4605-90ce-cbef9e9dde0f",
+ "maxInstanceLimit": "4",
+ "networkInterfaces": [
+ {
+ "floatingNetworks": [
+ {
+ "name": "public",
+ "networkUuid": "26b4aa2b-06bc-4e4f-a6eb-c19fbc211af6"
+ }
+ ],
+ "name": "core",
+ "networkUuid": "5e107fbd-4820-47ad-84ea-6f135496f889"
+ }
+ ],
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/2cdbd576-8c9b-4c2d-8b1a-0f79dc4fb809"
+ },
+ {
+ "name": "keyPair",
+ "value": "phoenix"
+ },
+ {
+ "name": "autoAssignIp",
+ "value": "false"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ],
+ "type": "mock"
+ }
+ ],
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "port": "22",
+ "protocol": "http",
+ "proxyPort": "8280"
+ }
+ ],
+ "property": [
+ {
+ "name": "payload_parameter.MB_IP",
+ "value": "octl.qmog.cisco.com"
+ },
+ {
+ "name": "payload_parameter.MB_PORT",
+ "value": "61616"
+ },
+ {
+ "name": "payload_parameter.CEP_IP",
+ "value": "octl.qmog.cisco.com"
+ },
+ {
+ "name": "payload_parameter.CEP_PORT",
+ "value": "7611"
+ },
+ {
+ "name": "payload_parameter.CEP_ADMIN_USERNAME",
+ "value": "admin"
+ },
+ {
+ "name": "payload_parameter.CEP_ADMIN_PASSWORD",
+ "value": "admin"
+ },
+ {
+ "name": "payload_parameter.CERT_TRUSTSTORE",
+ "value": "/opt/apache-stratos-cartridge-agent/security/client-truststore.jks"
+ },
+ {
+ "name": "payload_parameter.TRUSTSTORE_PASSWORD",
+ "value": "wso2carbon"
+ },
+ {
+ "name": "payload_parameter.ENABLE_DATA_PUBLISHER",
+ "value": "false"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_IP",
+ "value": "octl.qmog.cisco.com"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_PORT",
+ "value": "7611"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_SECURE_PORT",
+ "value": "7711"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_ADMIN_USERNAME",
+ "value": "admin"
+ },
+ {
+ "name": "payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD",
+ "value": "admin"
+ },
+ {
+ "name": "payload_parameter.QTCM_DNS_SEGMENT",
+ "value": "test"
+ },
+ {
+ "name": "payload_parameter.QTCM_NETWORK_COUNT",
+ "value": "1"
+ },
+ {
+ "name": "payload_parameter.SIMPLE_PROPERTY",
+ "value": "value"
+ }
+ ],
+ "provider": "cisco",
+ "type": "c5",
+ "version": "1.0"
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges/mock/c6.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges/mock/c6.json b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c6.json
new file mode 100755
index 0000000..8f41441
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/cartridges/mock/c6.json
@@ -0,0 +1,45 @@
+{
+ "type": "c6",
+ "provider": "apache",
+ "host": "stratos.apache.org",
+ "category": "data",
+ "displayName": "c6",
+ "description": "c6 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "name": "http-22",
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "mock",
+ "imageId": "RegionOne/b4ca55e3-58ab-4937-82ce-817ebd10240e",
+ "networkInterfaces": [
+ {
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "vishanth-key"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/cartridges/mock/update/c0.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/cartridges/mock/update/c0.json b/products/stratos/modules/integration/src/test/resources/cartridges/mock/update/c0.json
deleted file mode 100755
index 6d922a9..0000000
--- a/products/stratos/modules/integration/src/test/resources/cartridges/mock/update/c0.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "category": "Data",
- "description": "c0 Cartridge",
- "displayName": "c0",
- "host": "qmog.cisco.com12",
- "iaasProvider": [
- {
- "imageId": "RegionOne/16e7e35b-0c88-4605-90ce-cbef9e9d123",
- "maxInstanceLimit": "4",
- "networkInterfaces": [
- {
- "floatingNetworks": [
- {
- "name": "private",
- "networkUuid": "26b4aa2b-06bc-4e4f-a6eb-c19fbc2112121"
- }
- ],
- "name": "core1",
- "networkUuid": "5e107fbd-4820-47ad-84ea-6f1354961212"
- }
- ],
- "property": [
- {
- "name": "instanceType",
- "value": "RegionOne/2cdbd576-8c9b-4c2d-8b1a-0f79dc4fb812"
- },
- {
- "name": "keyPair",
- "value": "phoenix12"
- },
- {
- "name": "autoAssignIp",
- "value": "true"
- },
- {
- "name": "securityGroups",
- "value": "default123"
- }
- ],
- "type": "mock"
- }
- ],
- "multiTenant": "false",
- "portMapping": [
- {
- "port": "22",
- "protocol": "http",
- "proxyPort": "8280"
- }
- ],
- "property": [
- {
- "name": "payload_parameter.MB_IP",
- "value": "octl.qmog.cisco.com123"
- },
- {
- "name": "payload_parameter.MB_PORT",
- "value": "61617"
- },
- {
- "name": "payload_parameter.CEP_IP",
- "value": "octl.qmog.cisco.com123"
- },
- {
- "name": "payload_parameter.CEP_PORT",
- "value": "7612"
- },
- {
- "name": "payload_parameter.CEP_ADMIN_USERNAME",
- "value": "admin"
- },
- {
- "name": "payload_parameter.CEP_ADMIN_PASSWORD",
- "value": "admin123"
- },
- {
- "name": "payload_parameter.CERT_TRUSTSTORE",
- "value": "/opt/apache-stratos-cartridge-agent/security/client-truststore.jks"
- },
- {
- "name": "payload_parameter.TRUSTSTORE_PASSWORD",
- "value": "wso2carbon"
- },
- {
- "name": "payload_parameter.ENABLE_DATA_PUBLISHER",
- "value": "false"
- },
- {
- "name": "payload_parameter.MONITORING_SERVER_IP",
- "value": "octl.qmog.cisco.com123"
- },
- {
- "name": "payload_parameter.MONITORING_SERVER_PORT",
- "value": "7612"
- },
- {
- "name": "payload_parameter.MONITORING_SERVER_SECURE_PORT",
- "value": "7712"
- },
- {
- "name": "payload_parameter.MONITORING_SERVER_ADMIN_USERNAME",
- "value": "admin"
- },
- {
- "name": "payload_parameter.MONITORING_SERVER_ADMIN_PASSWORD",
- "value": "admin123"
- },
- {
- "name": "payload_parameter.QTCM_DNS_SEGMENT",
- "value": "test123"
- },
- {
- "name": "payload_parameter.QTCM_NETWORK_COUNT",
- "value": "3"
- },
- {
- "name": "payload_parameter.SIMPLE_PROPERTY",
- "value": "value"
- }
- ],
- "provider": "apache",
- "type": "c0",
- "version": "1.0"
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-1-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-1-v1.json b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-1-v1.json
new file mode 100644
index 0000000..2ba5eb3
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-1-v1.json
@@ -0,0 +1,36 @@
+{
+ "id": "deployment-policy-1",
+ "networkPartitions": [
+ {
+ "id": "network-partition-1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "partition-1",
+ "partitionMax": 25
+ },
+ {
+ "id": "partition-2",
+ "partitionMax": 20
+ }
+ ]
+ },
+ {
+ "id": "network-partition-2",
+ "partitionAlgo": "round-robin",
+ "partitions": [
+ {
+ "id": "network-partition-2-partition-1",
+ "partitionMax": 15
+ },
+ {
+ "id": "network-partition-2-partition-2",
+ "partitionMax": 5
+ }
+ ]
+ }
+ ]
+}
+
+
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2-v1.json b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2-v1.json
new file mode 100644
index 0000000..b5c305c
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2-v1.json
@@ -0,0 +1,36 @@
+{
+ "id": "deployment-policy-2",
+ "networkPartitions": [
+ {
+ "id": "network-partition-5",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "partition-1",
+ "partitionMax": 25
+ },
+ {
+ "id": "partition-2",
+ "partitionMax": 20
+ }
+ ]
+ },
+ {
+ "id": "network-partition-6",
+ "partitionAlgo": "round-robin",
+ "partitions": [
+ {
+ "id": "network-partition-6-partition-1",
+ "partitionMax": 15
+ },
+ {
+ "id": "network-partition-6-partition-2",
+ "partitionMax": 5
+ }
+ ]
+ }
+ ]
+}
+
+
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2.json b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2.json
new file mode 100644
index 0000000..5df3e24
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-2.json
@@ -0,0 +1,32 @@
+{
+ "id": "deployment-policy-2",
+ "networkPartitions": [
+ {
+ "id": "network-partition-5",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "partition-1",
+ "partitionMax": 20
+ }
+ ]
+ },
+ {
+ "id": "network-partition-6",
+ "partitionAlgo": "round-robin",
+ "partitions": [
+ {
+ "id": "network-partition-6-partition-1",
+ "partitionMax": 10
+ },
+ {
+ "id": "network-partition-6-partition-2",
+ "partitionMax": 9
+ }
+ ]
+ }
+ ]
+}
+
+
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-3.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-3.json b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-3.json
new file mode 100644
index 0000000..d024922
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/deployment-policies/deployment-policy-3.json
@@ -0,0 +1,32 @@
+{
+ "id": "deployment-policy-1",
+ "networkPartitions": [
+ {
+ "id": "network-partition-3",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "partition-1",
+ "partitionMax": 20
+ }
+ ]
+ },
+ {
+ "id": "network-partition-4",
+ "partitionAlgo": "round-robin",
+ "partitions": [
+ {
+ "id": "network-partition-2-partition-1",
+ "partitionMax": 10
+ },
+ {
+ "id": "network-partition-2-partition-2",
+ "partitionMax": 9
+ }
+ ]
+ }
+ ]
+}
+
+
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/deployment-policies/update/deployment-policy-1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/deployment-policies/update/deployment-policy-1.json b/products/stratos/modules/integration/src/test/resources/deployment-policies/update/deployment-policy-1.json
deleted file mode 100644
index 2ba5eb3..0000000
--- a/products/stratos/modules/integration/src/test/resources/deployment-policies/update/deployment-policy-1.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "id": "deployment-policy-1",
- "networkPartitions": [
- {
- "id": "network-partition-1",
- "partitionAlgo": "one-after-another",
- "partitions": [
- {
- "id": "partition-1",
- "partitionMax": 25
- },
- {
- "id": "partition-2",
- "partitionMax": 20
- }
- ]
- },
- {
- "id": "network-partition-2",
- "partitionAlgo": "round-robin",
- "partitions": [
- {
- "id": "network-partition-2-partition-1",
- "partitionMax": 15
- },
- {
- "id": "network-partition-2-partition-2",
- "partitionMax": 5
- }
- ]
- }
- ]
-}
-
-
-
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-1.json b/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-1.json
deleted file mode 100644
index 3fbeeac..0000000
--- a/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-1.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "id": "network-partition-1",
- "provider": "ec2",
- "partitions": [
- {
- "id": "partition-1",
- "property": [
- {
- "name": "region",
- "value": "ap-southeast-1"
- },
- {
- "name": "zone",
- "value": "ap-southeast-1a"
- }
- ]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-2.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-2.json b/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-2.json
deleted file mode 100644
index 02f9b1d..0000000
--- a/products/stratos/modules/integration/src/test/resources/network-partitions/ec2/network-partition-2.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "id": "network-partition-2",
- "partitions": [
- {
- "id": "partition-2",
- "provider": "ec2",
- "property": [
- {
- "name": "region",
- "value": "ap-southeast-2"
- },
- {
- "name": "region",
- "value": "ap-southeast-2b"
- }
- ]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/gce/network-partition-1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/gce/network-partition-1.json b/products/stratos/modules/integration/src/test/resources/network-partitions/gce/network-partition-1.json
deleted file mode 100644
index 177e7d2..0000000
--- a/products/stratos/modules/integration/src/test/resources/network-partitions/gce/network-partition-1.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "id": "network-partition-1",
- "provider": "gce",
- "partitions": [
- {
- "id": "partition-1",
- "property": [
- {
- "name": "region",
- "value": "default"
- }
- ]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-1.json b/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-1.json
deleted file mode 100644
index bb27086..0000000
--- a/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-1.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "id": "network-partition-1",
- "provider": "kubernetes",
- "partitions": [
- {
- "id": "partition-1",
- "property": [
- {
- "name": "cluster",
- "value": "kubernetes-cluster-2"
- }
- ]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-2.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-2.json b/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-2.json
deleted file mode 100644
index 8f9f053..0000000
--- a/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-2.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "id": "network-partition-2",
- "provider": "kubernetes",
- "partitions": [
- {
- "id": "partition-1",
- "property": [
- {
- "name": "cluster",
- "value": "kubernetes-cluster-2"
- }
- ]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-3.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-3.json b/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-3.json
deleted file mode 100644
index 5188f3c..0000000
--- a/products/stratos/modules/integration/src/test/resources/network-partitions/kubernetes/network-partition-3.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "id": "network-partition-3",
- "provider": "kubernetes",
- "partitions": [
- {
- "id": "partition-1",
- "property": [
- {
- "name": "cluster",
- "value": "kubernetes-cluster-1"
- }
- ]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-1-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-1-v1.json b/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-1-v1.json
new file mode 100644
index 0000000..054265a
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-1-v1.json
@@ -0,0 +1,28 @@
+{
+ "id": "network-partition-1",
+ "provider": "mock",
+ "partitions": [
+ {
+ "id": "partition-1",
+ "property": [
+ {
+ "name": "region",
+ "value": "default"
+ }
+ ]
+ },
+ {
+ "id": "partition-2",
+ "property": [
+ {
+ "name": "region",
+ "value": "default1"
+ },
+ {
+ "name": "zone",
+ "value": "z1"
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/5b844043/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-3-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-3-v1.json b/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-3-v1.json
new file mode 100644
index 0000000..c7d4733
--- /dev/null
+++ b/products/stratos/modules/integration/src/test/resources/network-partitions/mock/network-partition-3-v1.json
@@ -0,0 +1,28 @@
+{
+ "id": "network-partition-3",
+ "provider": "mock",
+ "partitions": [
+ {
+ "id": "partition-1",
+ "property": [
+ {
+ "name": "region",
+ "value": "default"
+ }
+ ]
+ },
+ {
+ "id": "partition-2",
+ "property": [
+ {
+ "name": "region",
+ "value": "default1"
+ },
+ {
+ "name": "zone",
+ "value": "z1"
+ }
+ ]
+ }
+ ]
+}