You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2015/09/10 10:13:48 UTC

[04/16] stratos git commit: Upgrading automation engine to v4.4.2

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c1-application-update-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c1-application-update-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c1-application-update-test.json
new file mode 100755
index 0000000..fcfa6f2
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c1-application-update-test.json
@@ -0,0 +1,45 @@
+{
+    "type": "c1-application-update-test",
+    "provider": "apache",
+    "host": "stratos.apache.org",
+    "category": "data",
+    "displayName": "c1-application-update-test",
+    "description": "c1-application-update-test 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/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c2-application-update-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c2-application-update-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c2-application-update-test.json
new file mode 100755
index 0000000..a1c1a97
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c2-application-update-test.json
@@ -0,0 +1,45 @@
+{
+    "type": "c2-application-update-test",
+    "provider": "apache",
+    "host": "stratos.apache.org",
+    "category": "data",
+    "displayName": "c2-application-update-test",
+    "description": "c2-application-update-test 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/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c3-application-update-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c3-application-update-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c3-application-update-test.json
new file mode 100755
index 0000000..e3932fc
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/cartridges/mock/c3-application-update-test.json
@@ -0,0 +1,45 @@
+{
+    "type": "c3-application-update-test",
+    "provider": "apache",
+    "host": "stratos.apache.org",
+    "category": "data",
+    "displayName": "c3-application-update-test",
+    "description": "c3-application-update-test 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/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test-v1.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test-v1.json
new file mode 100644
index 0000000..5dc2081
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test-v1.json
@@ -0,0 +1,36 @@
+{
+    "id": "deployment-policy-application-update-test",
+    "networkPartitions": [
+        {
+            "id": "network-partition-application-update-test-1",
+            "partitionAlgo": "one-after-another",
+            "partitions": [
+                {
+                    "id": "partition-1",
+                    "partitionMax": 25
+                },
+                {
+                    "id": "partition-2",
+                    "partitionMax": 20
+                }
+            ]
+        },
+        {
+            "id": "network-partition-application-update-test-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/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test.json
new file mode 100644
index 0000000..647322b
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/deployment-policies/deployment-policy-application-update-test.json
@@ -0,0 +1,32 @@
+{
+    "id": "deployment-policy-application-update-test",
+    "networkPartitions": [
+        {
+            "id": "network-partition-application-update-test-1",
+            "partitionAlgo": "one-after-another",
+            "partitions": [
+                {
+                    "id": "partition-1",
+                    "partitionMax": 20
+                }
+            ]
+        },
+        {
+            "id": "network-partition-application-update-test-2",
+            "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/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1-v1.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1-v1.json
new file mode 100644
index 0000000..aaa3f04
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1-v1.json
@@ -0,0 +1,28 @@
+{
+    "id": "network-partition-application-update-test-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/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1.json
new file mode 100644
index 0000000..f1822af
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-1.json
@@ -0,0 +1,15 @@
+{
+    "id": "network-partition-application-update-test-1",
+    "provider": "mock",
+    "partitions": [
+        {
+            "id": "partition-1",
+            "property": [
+                {
+                    "name": "region",
+                    "value": "default"
+                }
+            ]
+        }
+    ]
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-2.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-2.json b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-2.json
new file mode 100644
index 0000000..19ddd83
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/application-update-test/network-partitions/mock/network-partition-application-update-test-2.json
@@ -0,0 +1,24 @@
+{
+    "id": "network-partition-application-update-test-2",
+    "provider": "mock",
+    "partitions": [
+        {
+            "id": "network-partition-2-partition-1",
+            "property": [
+                {
+                    "name": "region",
+                    "value": "default"
+                }
+            ]
+        },
+        {
+            "id": "network-partition-2-partition-2",
+            "property": [
+                {
+                    "name": "region",
+                    "value": "default"
+                }
+            ]
+        }
+    ]
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/automation.xml
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/automation.xml b/products/stratos/modules/integration/test-integration/src/test/resources/automation.xml
new file mode 100644
index 0000000..3cb897a
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/automation.xml
@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  ~  Copyright (c) 2005-2010, WSO2 Inc. (http://wso2.com) All Rights Reserved.
+  ~
+  ~  WSO2 Inc. 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.
+
+-->
+<automation xmlns="automation_mapping.xsd">
+    <!--  =================================================  -->
+    <!--                   Parameters                        -->
+    <!--  =================================================  -->
+    <configurations>
+        <!--
+         Change this to edit wait time for test artifact deployment
+        -->
+        <deploymentDelay>60000</deploymentDelay>
+        <!--
+         Change this to product|platform/cloud to execute test on specific environment
+        -->
+        <executionEnvironment>standalone</executionEnvironment>
+        <!--
+         Change this to true if you want to generate coverage statistics
+        -->
+        <coverage>true</coverage>
+        <!--
+         Change this to true if you want to enable framework dashboard
+        -->
+        <frameworkDashboard>false</frameworkDashboard>
+        <!--
+         Browser type with used by framework to execute UI test, supported types - chrome|firefox|opera|ie|htmlUnit
+        -->
+    </configurations>
+    <tools>
+        <selenium>
+            <!-- Change to enable remote webDriver -->
+            <!-- URL of remote webDriver server  -->
+            <remoteDriverUrl enable="true">http://10.100.2.51:4444/wd/hub/</remoteDriverUrl>
+
+            <!-- Type of the browser selenium tests are running" -->
+            <browser>
+                <browserType>firefox</browserType>
+                <!-- path to webDriver executable - required only for chrome-->
+                <webdriverPath enable="false">/home/test/name/webDriver</webdriverPath>
+            </browser>
+        </selenium>
+    </tools>
+    <!--
+    Database configuration to be used for data service testing. DB configuration in dbs files will be replaced with
+               below configuration at test run time
+    -->
+    <datasources>
+        <datasource name="dataService">
+            <url>jdbc:h2:testDB</url>
+            <username>wso2carbon</username>
+            <password>wso2carbon</password>
+            <driverClassName>org.h2.Driver</driverClassName>
+        </datasource>
+        <datasource name="dataService1">
+            <url>jdbc:h2:testDB</url>
+            <username>wso2carbon</username>
+            <password>wso2carbon</password>
+            <driverClassName>org.h2.Driver</driverClassName>
+        </datasource>
+    </datasources>
+    <security>
+        <!--
+                    KeyStore which will be used for encrypting/decrypting passwords
+                    and other sensitive information.
+        -->
+        <keystore name="wso2">
+            <!--  Keystore file location -->
+            <fileName>keystores/products/wso2carbon.jks</fileName>
+            <!--  Keystore type (JKS/PKCS12 etc.) -->
+            <type>JKS</type>
+            <!--  Keystore password -->
+            <password>wso2carbon</password>
+            <!--  Private Key alias -->
+            <keyAlias>wso2carbon</keyAlias>
+            <!--  Private Key password -->
+            <keyPassword>wso2carbon</keyPassword>
+        </keystore>
+        <!--
+                    System wide trust-store which is used to maintain the certificates of all
+                    the trusted parties.
+        -->
+        <truststore name="wso2">
+            <!--  trust-store file location  -->
+            <fileName>client-truststore.jks</fileName>
+            <!--  trust-store type (JKS/PKCS12 etc.)  -->
+            <type>JKS</type>
+            <!--  trust-store password  -->
+            <password>wso2carbon</password>
+        </truststore>
+    </security>
+    <featureManagement>
+        <p2Repositories>
+            <repository name="localDefault">
+                <repository repo-id="online-repository">https://wso2.org/repo</repository>
+                <repository repo-id="file-repository">file:///home/krishantha/test</repository>
+            </repository>
+        </p2Repositories>
+    </featureManagement>
+    <!--
+               System wide users who to be registered at the test initiation
+    -->
+    <userManagement>
+        <superTenant>
+            <tenant domain="carbon.super" key="superTenant">
+                <admin>
+                    <user key="superAdmin">
+                        <userName>admin</userName>
+                        <password>admin</password>
+                    </user>
+                </admin>
+                <users>
+                    <user key="user1">
+                        <userName>testuser11</userName>
+                        <password>testuser11</password>
+                    </user>
+                    <user key="user2">
+                        <userName>testuser21</userName>
+                        <password>testuser21</password>
+                    </user>
+                    <user key="Registry580UN">
+                        <userName>Registry580UN</userName>
+                        <password>Registry580UN</password>
+                    </user>
+                    <user key="deniedUser">
+                        <userName>deniedUser</userName>
+                        <password>deniedUser</password>
+                    </user>
+                </users>
+            </tenant>
+        </superTenant>
+        <tenants>
+            <tenant domain="wso2.com" key="wso2">
+                <admin>
+                    <user key="admin">
+                        <userName>admin</userName>
+                        <password>admin</password>
+                    </user>
+                </admin>
+                <users>
+                    <user key="user1">
+                        <userName>testuser11</userName>
+                        <password>testuser11</password>
+                    </user>
+                    <user key="user2">
+                        <userName>testuser21</userName>
+                        <password>testuser21</password>
+                    </user>
+
+                </users>
+            </tenant>
+        </tenants>
+    </userManagement>
+    <!--
+   This section will initiate the initial deployment of the platform required by
+   the test suites.
+-->
+    <platform>
+        <!--
+        cluster instance details to be used to platform test execution
+        -->
+        <productGroup name="STRATOS" clusteringEnabled="false" default="true">
+
+            <instance name="stratos-001" type="standalone" nonBlockingTransportEnabled="false">
+                <hosts>
+                    <host type="default">localhost</host>
+                </hosts>
+                <ports>
+                    <port type="http">9863</port>
+                    <port type="https">9543</port>
+                </ports>
+                <properties>
+                </properties>
+            </instance>
+        </productGroup>
+    </platform>
+
+    <listenerExtensions>
+        <platformExecutionManager>
+            <extentionClasses>
+                <class>
+                    <name>org.apache.stratos.integration.common.extensions.StratosServerExtension</name>
+                    <parameter name="-DportOffset" value="100"/>
+                    <parameter name="activemq.bind.address" value="tcp://localhost:61716"/>
+                    <!--<parameter name="cmdArg" value="debug 5005" />-->
+                </class>
+                <!--class>
+                    <name>org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension</name>
+                </class-->
+            </extentionClasses>
+        </platformExecutionManager>
+
+
+        <PlatformSuiteManager>
+            <extentionClasses>
+                <!--<className>org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension</className>-->
+            </extentionClasses>
+        </PlatformSuiteManager>
+
+        <PlatformAnnotationTransferManager>
+            <extentionClasses>
+                <!--<className>org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension</className>-->
+            </extentionClasses>
+        </PlatformAnnotationTransferManager>
+
+        <PlatformTestManager>
+            <extentionClasses>
+
+            </extentionClasses>
+        </PlatformTestManager>
+
+        <PlatformReportManager>
+            <extentionClasses>
+            </extentionClasses>
+        </PlatformReportManager>
+
+    </listenerExtensions>
+</automation>

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/automationSchema.xsd
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/automationSchema.xsd b/products/stratos/modules/integration/test-integration/src/test/resources/automationSchema.xsd
new file mode 100644
index 0000000..c18b082
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/automationSchema.xsd
@@ -0,0 +1,573 @@
+<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="automation_mapping.xsd"
+           xmlns:xs="http://www.w3.org/2001/XMLSchema">
+    <xs:element name="automation">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="configurations">
+                    <xs:annotation>
+                        <xs:documentation>=================================================
+                            Parameters =================================================
+                            Browser type with used by framework to execute UI test, supported types
+                            - chrome|firefox|opera|ie|htmlUnit
+                        </xs:documentation>
+                    </xs:annotation>
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element type="xs:string" name="deploymentDelay">
+                                <xs:annotation>
+                                    <xs:documentation>Change this to edit wait time for test
+                                        artifact deployment
+                                    </xs:documentation>
+                                </xs:annotation>
+                            </xs:element>
+                            <xs:element type="xs:string" name="executionEnvironment">
+                                <xs:annotation>
+                                    <xs:documentation>Change this to product|platform/cloud to
+                                        execute test on specific environment
+                                    </xs:documentation>
+                                </xs:annotation>
+                            </xs:element>
+
+                            <xs:element type="xs:string" name="coverage">
+                                <xs:annotation>
+                                    <xs:documentation>Change this to true if you want to generate
+                                        coverage statistics
+                                    </xs:documentation>
+                                </xs:annotation>
+                            </xs:element>
+                            <xs:element type="xs:string" name="frameworkDashboard">
+                                <xs:annotation>
+                                    <xs:documentation>Change this to true if you want to enable
+                                        framework dashboard
+                                    </xs:documentation>
+                                </xs:annotation>
+                            </xs:element>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="tools">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="selenium">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="remoteDriverUrl">
+                                            <xs:annotation>
+                                                <xs:documentation>Change to enable remote webDriver
+                                                    URL of remote webDriver server
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                            <xs:complexType>
+                                                <xs:simpleContent>
+                                                    <xs:extension base="xs:anyURI">
+                                                        <xs:attribute type="xs:string"
+                                                                      name="enable"/>
+                                                    </xs:extension>
+                                                </xs:simpleContent>
+                                            </xs:complexType>
+                                        </xs:element>
+                                        <xs:element name="browser">
+                                            <xs:annotation>
+                                                <xs:documentation>Type of the browser selenium tests
+                                                    are running"
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element type="xs:string"
+                                                                name="browserType"/>
+                                                    <xs:element name="webdriverPath">
+                                                        <xs:annotation>
+                                                            <xs:documentation>path to webDriver
+                                                                executable - required only for
+                                                                chrome
+                                                            </xs:documentation>
+                                                        </xs:annotation>
+                                                        <xs:complexType>
+                                                            <xs:simpleContent>
+                                                                <xs:extension base="xs:string">
+                                                                    <xs:attribute type="xs:string"
+                                                                                  name="enable"/>
+                                                                </xs:extension>
+                                                            </xs:simpleContent>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="datasources">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="datasource" maxOccurs="unbounded">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element type="xs:string" name="url"/>
+                                        <xs:element type="xs:string" name="username"/>
+                                        <xs:element type="xs:string" name="password"/>
+                                        <xs:element type="xs:string" name="driverClassName"/>
+                                    </xs:sequence>
+                                    <xs:attribute type="xs:string" name="name"/>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="security">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="keystore" maxOccurs="unbounded">
+                                <xs:annotation>
+                                    <xs:documentation>KeyStore which will be used for
+                                        encrypting/decrypting passwords
+                                        and other sensitive information.
+                                    </xs:documentation>
+                                </xs:annotation>
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element type="xs:string" name="fileName">
+                                            <xs:annotation>
+                                                <xs:documentation>Keystore file location
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                        <xs:element type="xs:string" name="type">
+                                            <xs:annotation>
+                                                <xs:documentation>Keystore type (JKS/PKCS12 etc.)
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                        <xs:element type="xs:string" name="password">
+                                            <xs:annotation>
+                                                <xs:documentation>Keystore password
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                        <xs:element type="xs:string" name="keyAlias">
+                                            <xs:annotation>
+                                                <xs:documentation>Private Key alias
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                        <xs:element type="xs:string" name="keyPassword">
+                                            <xs:annotation>
+                                                <xs:documentation>Private Key password
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                    </xs:sequence>
+                                    <xs:attribute type="xs:string" name="name"/>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:element name="truststore" maxOccurs="unbounded">
+                                <xs:annotation>
+                                    <xs:documentation>System wide trust-store which is used to
+                                        maintain the certificates of all
+                                        the trusted parties.
+                                    </xs:documentation>
+                                </xs:annotation>
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element type="xs:string" name="fileName">
+                                            <xs:annotation>
+                                                <xs:documentation>trust-store file location
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                        <xs:element type="xs:string" name="type">
+                                            <xs:annotation>
+                                                <xs:documentation>trust-store type (JKS/PKCS12
+                                                    etc.)
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                        <xs:element type="xs:string" name="password">
+                                            <xs:annotation>
+                                                <xs:documentation>trust-store password
+                                                </xs:documentation>
+                                            </xs:annotation>
+                                        </xs:element>
+                                    </xs:sequence>
+                                    <xs:attribute type="xs:string" name="name"/>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="featureManagement">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="p2Repositories">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="repository">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="repository"
+                                                                maxOccurs="unbounded" minOccurs="0">
+                                                        <xs:complexType>
+                                                            <xs:simpleContent>
+                                                                <xs:extension base="xs:string">
+                                                                    <xs:attribute type="xs:string"
+                                                                                  name="repo-id"
+                                                                                  use="optional"/>
+                                                                </xs:extension>
+                                                            </xs:simpleContent>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                                <xs:attribute type="xs:string" name="name"/>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="userManagement">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="superTenant">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="tenant">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="admin">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element name="user">
+                                                                    <xs:complexType>
+                                                                        <xs:sequence>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="userName"/>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="password"/>
+                                                                        </xs:sequence>
+                                                                        <xs:attribute type="xs:string" name="key"/>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                    <xs:element name="users">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element name="user" maxOccurs="unbounded"
+                                                                            minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:sequence>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="userName"/>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="password"/>
+                                                                        </xs:sequence>
+                                                                        <xs:attribute type="xs:string" name="key"
+                                                                                      use="optional"/>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                                <xs:attribute type="xs:string" name="key" use="required"/>
+                                                <xs:attribute type="xs:string" name="domain" use="required"/>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:element name="tenants">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="tenant" maxOccurs="unbounded" minOccurs="0">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="admin">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element name="user">
+                                                                    <xs:complexType>
+                                                                        <xs:sequence>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="userName"/>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="password"/>
+                                                                        </xs:sequence>
+                                                                        <xs:attribute type="xs:string" name="key"
+                                                                                      use="optional"/>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                    <xs:element name="users">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element name="user" maxOccurs="unbounded"
+                                                                            minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:sequence>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="userName"/>
+                                                                            <xs:element type="xs:string"
+                                                                                        name="password"/>
+                                                                        </xs:sequence>
+                                                                        <xs:attribute type="xs:string" name="key"
+                                                                                      use="optional"/>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                                <xs:attribute type="xs:string" name="key" use="required"/>
+                                                <xs:attribute type="xs:string" name="domain" use="required"/>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="platform">
+
+                    <xs:complexType>
+                        <xs:choice>
+                            <xs:element name="productGroup" maxOccurs="unbounded" minOccurs="1">
+                                <xs:complexType>
+                                    <xs:choice maxOccurs="unbounded" minOccurs="1">
+                                        <xs:element name="instance">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="hosts">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element name="host" maxOccurs="unbounded"
+                                                                            minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string"
+                                                                                              name="type"
+                                                                                              use="required"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                    <xs:element name="ports">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element name="port" maxOccurs="unbounded"
+                                                                            minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string"
+                                                                                              name="type"
+                                                                                              use="required"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                    <xs:element name="properties">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element name="property" maxOccurs="unbounded" minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string"
+                                                                                              name="name"
+                                                                                              use="optional"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                                <xs:attribute type="xs:string" name="name" use="required"/>
+                                                <xs:attribute type="xs:string" name="type" use="required"/>
+                                                <xs:attribute type="xs:boolean" name="nonBlockingTransportEnabled" use="required"/>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:choice>
+                                    <xs:attribute type="xs:string" name="name"/>
+                                    <xs:attribute type="xs:string" name="clusteringEnabled"/>
+                                    <xs:attribute type="xs:boolean" name="default"/>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:choice>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="listenerExtensions">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="platformExecutionManager">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="extentionClasses">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="class" maxOccurs="unbounded" minOccurs="0">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element type="xs:string" name="name"/>
+                                                                <xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string" name="name" use="required"/>
+                                                                                <xs:attribute type="xs:string" name="value" use="required"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:element name="PlatformSuiteManager">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="extentionClasses">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="class" maxOccurs="unbounded" minOccurs="0">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element type="xs:string" name="name"/>
+                                                                <xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string" name="name" use="required"/>
+                                                                                <xs:attribute type="xs:string" name="value" use="required"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:element name="PlatformAnnotationTransferManager">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="extentionClasses">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="class" maxOccurs="unbounded" minOccurs="0">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element type="xs:string" name="name"/>
+                                                                <xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string" name="name" use="required"/>
+                                                                                <xs:attribute type="xs:string" name="value" use="required"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:element name="PlatformTestManager">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="extentionClasses">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="class" maxOccurs="unbounded" minOccurs="0">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element type="xs:string" name="name"/>
+                                                                <xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string" name="name" use="required"/>
+                                                                                <xs:attribute type="xs:string" name="value" use="required"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:element name="PlatformReportManager">
+                                <xs:complexType>
+                                    <xs:sequence>
+                                        <xs:element name="extentionClasses">
+                                            <xs:complexType>
+                                                <xs:sequence>
+                                                    <xs:element name="class" maxOccurs="unbounded" minOccurs="0">
+                                                        <xs:complexType>
+                                                            <xs:sequence>
+                                                                <xs:element type="xs:string" name="name"/>
+                                                                <xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
+                                                                    <xs:complexType>
+                                                                        <xs:simpleContent>
+                                                                            <xs:extension base="xs:string">
+                                                                                <xs:attribute type="xs:string" name="name" use="required"/>
+                                                                                <xs:attribute type="xs:string" name="value" use="required"/>
+                                                                            </xs:extension>
+                                                                        </xs:simpleContent>
+                                                                    </xs:complexType>
+                                                                </xs:element>
+                                                            </xs:sequence>
+                                                        </xs:complexType>
+                                                    </xs:element>
+                                                </xs:sequence>
+                                            </xs:complexType>
+                                        </xs:element>
+                                    </xs:sequence>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+</xs:schema>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-1.json b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-1.json
new file mode 100644
index 0000000..d7765b9
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-1.json
@@ -0,0 +1,14 @@
+{
+    "id": "autoscaling-policy-autoscaling-policy-test-1",
+    "loadThresholds": {
+        "requestsInFlight": {
+            "threshold": 35
+        },
+        "memoryConsumption": {
+            "threshold": 45
+        },
+        "loadAverage": {
+            "threshold": 25
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-2.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-2.json b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-2.json
new file mode 100644
index 0000000..03f3a01
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-2.json
@@ -0,0 +1,14 @@
+{
+    "id": "autoscaling-policy-autoscaling-policy-test-2",
+    "loadThresholds": {
+        "requestsInFlight": {
+            "threshold": 35
+        },
+        "memoryConsumption": {
+            "threshold": 45
+        },
+        "loadAverage": {
+            "threshold": 25
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-v1.json b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-v1.json
new file mode 100644
index 0000000..d29a8e3
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test-v1.json
@@ -0,0 +1,14 @@
+{
+    "id": "autoscaling-policy-autoscaling-policy-test",
+    "loadThresholds": {
+        "requestsInFlight": {
+            "threshold": 30
+        },
+        "memoryConsumption": {
+            "threshold": 40
+        },
+        "loadAverage": {
+            "threshold": 20
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test.json
new file mode 100644
index 0000000..dce4c7a
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/autoscaling-policy-test/autoscaling-policies/autoscaling-policy-autoscaling-policy-test.json
@@ -0,0 +1,14 @@
+{
+    "id": "autoscaling-policy-autoscaling-policy-test",
+    "loadThresholds": {
+        "requestsInFlight": {
+            "threshold": 35
+        },
+        "memoryConsumption": {
+            "threshold": 45
+        },
+        "loadAverage": {
+            "threshold": 25
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test-v1.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test-v1.json b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test-v1.json
new file mode 100644
index 0000000..38a976a
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test-v1.json
@@ -0,0 +1,50 @@
+{
+    "name": "G4-cartridge-group-test",
+    "dependencies": {
+        "terminationBehaviour": "terminate-none",
+        "startupOrders": [
+            {
+                "aliases": [
+                    "group.group2-cartridge-group-test",
+                    "cartridge.c1-1x0-cartridge-group-test"
+                ]
+            }
+        ]
+    },
+    "cartridges": [
+        "c4-cartridge-group-test"
+    ],
+    "groups": [
+        {
+            "name": "G5-cartridge-group-test",
+            "dependencies": {
+                "terminationBehaviour": "terminate-dependents",
+                "startupOrders": [
+                    {
+                        "aliases": [
+                            "group.group6-cartridge-group-test",
+                            "cartridge.c5-1x0-cartridge-group-test"
+                        ]
+                    }
+                ]
+            },
+            "cartridges": [
+                "c5-cartridge-group-test"
+            ],
+            "groups": [
+                {
+                    "name": "G6-cartridge-group-test",
+                    "dependencies": {
+                        "terminationBehaviour": "terminate-all",
+                        "startupOrders": []
+                    },
+                    "cartridges": [
+                        "c6-cartridge-group-test"
+                    ],
+                    "groups": []
+                }
+            ]
+        }
+    ]
+}
+

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test.json
new file mode 100644
index 0000000..741efe0
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/g4-g5-g6-cartridge-group-test.json
@@ -0,0 +1,50 @@
+{
+    "name": "G4-cartridge-group-test",
+    "dependencies": {
+        "terminationBehaviour": "terminate-none",
+        "startupOrders": [
+            {
+                "aliases": [
+                    "group.group5-cartridge-group-test",
+                    "cartridge.c4-1x0-cartridge-group-test"
+                ]
+            }
+        ]
+    },
+    "cartridges": [
+        "c4-cartridge-group-test"
+    ],
+    "groups": [
+        {
+            "name": "G5-cartridge-group-test",
+            "dependencies": {
+                "terminationBehaviour": "terminate-dependents",
+                "startupOrders": [
+                    {
+                        "aliases": [
+                            "group.group6-cartridge-group-test",
+                            "cartridge.c5-1x0-cartridge-group-test"
+                        ]
+                    }
+                ]
+            },
+            "cartridges": [
+                "c5-cartridge-group-test"
+            ],
+            "groups": [
+                {
+                    "name": "G6-cartridge-group-test",
+                    "dependencies": {
+                        "terminationBehaviour": "terminate-all",
+                        "startupOrders": []
+                    },
+                    "cartridges": [
+                        "c6-cartridge-group-test"
+                    ],
+                    "groups": []
+                }
+            ]
+        }
+    ]
+}
+

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-1-cartridge-group-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-1-cartridge-group-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-1-cartridge-group-test.json
new file mode 100644
index 0000000..a3050f4
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-1-cartridge-group-test.json
@@ -0,0 +1,50 @@
+{
+    "name": "group-1-cartridge-group-test",
+    "dependencies": {
+        "terminationBehaviour": "terminate-none",
+        "startupOrders": [
+            {
+                "aliases": [
+                    "group.group5-cartridge-group-test",
+                    "cartridge.c4-1x0-cartridge-group-test"
+                ]
+            }
+        ]
+    },
+    "cartridges": [
+        "c4-cartridge-group-test"
+    ],
+    "groups": [
+        {
+            "name": "G5-cartridge-group-test",
+            "dependencies": {
+                "terminationBehaviour": "terminate-dependents",
+                "startupOrders": [
+                    {
+                        "aliases": [
+                            "group.group6-cartridge-group-test",
+                            "cartridge.c5-1x0-cartridge-group-test"
+                        ]
+                    }
+                ]
+            },
+            "cartridges": [
+                "c5-cartridge-group-test"
+            ],
+            "groups": [
+                {
+                    "name": "G6-cartridge-group-test",
+                    "dependencies": {
+                        "terminationBehaviour": "terminate-all",
+                        "startupOrders": []
+                    },
+                    "cartridges": [
+                        "c6-cartridge-group-test"
+                    ],
+                    "groups": []
+                }
+            ]
+        }
+    ]
+}
+

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-2-cartridge-group-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-2-cartridge-group-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-2-cartridge-group-test.json
new file mode 100644
index 0000000..bbe7ae7
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges-groups/group-2-cartridge-group-test.json
@@ -0,0 +1,50 @@
+{
+    "name": "group-2-cartridge-group-test",
+    "dependencies": {
+        "terminationBehaviour": "terminate-none",
+        "startupOrders": [
+            {
+                "aliases": [
+                    "group.group5-cartridge-group-test",
+                    "cartridge.c4-1x0-cartridge-group-test"
+                ]
+            }
+        ]
+    },
+    "cartridges": [
+        "c4-cartridge-group-test"
+    ],
+    "groups": [
+        {
+            "name": "G5-cartridge-group-test",
+            "dependencies": {
+                "terminationBehaviour": "terminate-dependents",
+                "startupOrders": [
+                    {
+                        "aliases": [
+                            "group.group6-cartridge-group-test",
+                            "cartridge.c5-1x0-cartridge-group-test"
+                        ]
+                    }
+                ]
+            },
+            "cartridges": [
+                "c5-cartridge-group-test"
+            ],
+            "groups": [
+                {
+                    "name": "G6-cartridge-group-test",
+                    "dependencies": {
+                        "terminationBehaviour": "terminate-all",
+                        "startupOrders": []
+                    },
+                    "cartridges": [
+                        "c6-cartridge-group-test"
+                    ],
+                    "groups": []
+                }
+            ]
+        }
+    ]
+}
+

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c4-cartridge-group-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c4-cartridge-group-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c4-cartridge-group-test.json
new file mode 100755
index 0000000..f34c1c4
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c4-cartridge-group-test.json
@@ -0,0 +1,45 @@
+{
+    "type": "c4-cartridge-group-test",
+    "provider": "apache",
+    "host": "stratos.apache.org",
+    "category": "data",
+    "displayName": "c4-cartridge-group-test",
+    "description": "c4-cartridge-group-test 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/395be450/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c5-cartridge-group-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c5-cartridge-group-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c5-cartridge-group-test.json
new file mode 100755
index 0000000..9c236a0
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c5-cartridge-group-test.json
@@ -0,0 +1,124 @@
+{
+    "category": "Application",
+    "description": "c5-cartridge-group-test Cartridge",
+    "displayName": "c5-cartridge-group-test",
+    "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-cartridge-group-test",
+    "version": "1.0"
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/395be450/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c6-cartridge-group-test.json
----------------------------------------------------------------------
diff --git a/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c6-cartridge-group-test.json b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c6-cartridge-group-test.json
new file mode 100755
index 0000000..4bfcca6
--- /dev/null
+++ b/products/stratos/modules/integration/test-integration/src/test/resources/cartridge-group-test/cartridges/mock/c6-cartridge-group-test.json
@@ -0,0 +1,45 @@
+{
+    "type": "c6-cartridge-group-test",
+    "provider": "apache",
+    "host": "stratos.apache.org",
+    "category": "data",
+    "displayName": "c6-cartridge-group-test",
+    "description": "c6-cartridge-group-test 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-cartridge-group-test-4b17-924f-4ae0ee18db5e"
+                }
+            ],
+            "property": [
+                {
+                    "name": "instanceType",
+                    "value": "RegionOne/aa5f45a2-c6-cartridge-group-testd6-419d-917a-9dd2e3888594"
+                },
+                {
+                    "name": "keyPair",
+                    "value": "vishanth-key"
+                },
+                {
+                    "name": "securityGroups",
+                    "value": "default"
+                }
+            ]
+        }
+    ]
+}