You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/01/11 14:45:01 UTC
[4/4] stratos git commit: Moving sample applications to stratos git
repository, refactoring the folder structure, formatting json files
Moving sample applications to stratos git repository, refactoring the folder structure, formatting json files
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/704db4b7
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/704db4b7
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/704db4b7
Branch: refs/heads/master
Commit: 704db4b7ca71e91e780b1ddfa4a535af5d51bd5f
Parents: 7795f03
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sun Jan 11 19:14:30 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sun Jan 11 19:14:31 2015 +0530
----------------------------------------------------------------------
samples/README.md | 6 +
samples/complex-app/README.md | 6 +
.../ec2/artifacts/application_definition.json | 98 +++++++++++++
.../ec2/artifacts/autoscale-policy.json | 14 ++
.../ec2/artifacts/deployment-policy.json | 71 ++++++++++
samples/complex-app/ec2/artifacts/group6c.json | 21 +++
samples/complex-app/ec2/artifacts/group8c.json | 21 +++
samples/complex-app/ec2/artifacts/tomcat.json | 46 ++++++
samples/complex-app/ec2/artifacts/tomcat1.json | 47 +++++++
samples/complex-app/ec2/artifacts/tomcat2.json | 47 +++++++
samples/complex-app/ec2/deploy.sh | 36 +++++
.../mock/artifacts/application_definition.json | 98 +++++++++++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/deployment-policy.json | 71 ++++++++++
samples/complex-app/mock/artifacts/group6c.json | 21 +++
samples/complex-app/mock/artifacts/group8c.json | 21 +++
samples/complex-app/mock/artifacts/tomcat.json | 46 ++++++
samples/complex-app/mock/artifacts/tomcat1.json | 52 +++++++
samples/complex-app/mock/artifacts/tomcat2.json | 52 +++++++
samples/complex-app/mock/deploy.sh | 35 +++++
.../ec2/artifacts/app_dependency_scaling.json | 32 +++++
.../ec2/artifacts/autoscale-policy.json | 14 ++
.../ec2/artifacts/dep_dependency_scaling.json | 56 ++++++++
.../sample-cartridges/ec2/artifacts/tomcat.json | 46 ++++++
.../ec2/artifacts/tomcat1.json | 47 +++++++
.../sample-cartridges/ec2/deploy.sh | 14 ++
.../mock/artifacts/app_dependency_scaling.json | 32 +++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/dep_dependency_scaling.json | 55 ++++++++
.../sample-cartridges/mock/artifacts/php.json | 46 ++++++
.../mock/artifacts/tomcat.json | 46 ++++++
.../sample-cartridges/mock/deploy.sh | 19 +++
.../artifacts/app_dependency_scaling.json | 32 +++++
.../openstack/artifacts/autoscale-policy.json | 14 ++
.../artifacts/dep_dependency_scaling.json | 56 ++++++++
.../openstack/artifacts/tomcat.json | 51 +++++++
.../openstack/artifacts/tomcat1.json | 52 +++++++
.../sample-cartridges/openstack/deploy.sh | 19 +++
.../ec2/artifacts/app_single_group.json | 52 +++++++
.../ec2/artifacts/autoscale-policy.json | 14 ++
.../ec2/artifacts/dep_single_group.json | 56 ++++++++
.../sample-groups/ec2/artifacts/esb.json | 40 ++++++
.../sample-groups/ec2/artifacts/group6c.json | 15 ++
.../sample-groups/ec2/artifacts/php.json | 46 ++++++
.../sample-groups/ec2/artifacts/tomcat.json | 46 ++++++
.../sample-groups/ec2/deploy.sh | 17 +++
.../mock/artifacts/app_single_group.json | 52 +++++++
.../mock/artifacts/app_single_group.json-para | 46 ++++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/dep_single_group.json | 56 ++++++++
.../sample-groups/mock/artifacts/esb.json | 46 ++++++
.../sample-groups/mock/artifacts/group6c.json | 15 ++
.../sample-groups/mock/artifacts/php.json | 52 +++++++
.../sample-groups/mock/artifacts/tomcat.json | 52 +++++++
.../sample-groups/mock/deploy.sh | 18 +++
.../mock/artifacts/app_deployment_policy.json | 67 +++++++++
.../mock/artifacts/autoscale-policy-c1.json | 14 ++
.../mock/artifacts/autoscale-policy-c2.json | 14 ++
.../mock/artifacts/autoscale-policy-c3.json | 14 ++
.../mock/artifacts/autoscale-policy-c4.json | 14 ++
samples/group-scaling-v1/mock/artifacts/c1.json | 46 ++++++
samples/group-scaling-v1/mock/artifacts/c2.json | 46 ++++++
samples/group-scaling-v1/mock/artifacts/c3.json | 46 ++++++
samples/group-scaling-v1/mock/artifacts/c4.json | 46 ++++++
.../mock/artifacts/composite_application.json | 35 +++++
.../group-scaling-v1/mock/artifacts/group1.json | 18 +++
samples/group-scaling-v1/mock/deploy.sh | 31 ++++
.../mock/artifacts/app_deployment_policy.json | 71 ++++++++++
.../mock/artifacts/autoscale-policy-c1.json | 14 ++
.../mock/artifacts/autoscale-policy-c2.json | 14 ++
.../mock/artifacts/autoscale-policy-c3.json | 14 ++
.../mock/artifacts/autoscale-policy-c4.json | 14 ++
samples/group-scaling/mock/artifacts/c1.json | 46 ++++++
samples/group-scaling/mock/artifacts/c2.json | 46 ++++++
samples/group-scaling/mock/artifacts/c3.json | 46 ++++++
samples/group-scaling/mock/artifacts/c4.json | 46 ++++++
.../mock/artifacts/composite_application.json | 71 ++++++++++
.../group-scaling/mock/artifacts/group1.json | 35 +++++
samples/group-scaling/mock/deploy.sh | 30 ++++
samples/more-complex-app/README.md | 11 ++
.../ec2/artifacts/application_definition.json | 141 +++++++++++++++++++
.../ec2/artifacts/autoscale-policy.json | 14 ++
.../ec2/artifacts/deployment-policy.json | 87 ++++++++++++
.../more-complex-app/ec2/artifacts/group6c.json | 34 +++++
.../more-complex-app/ec2/artifacts/group8c.json | 23 +++
.../more-complex-app/ec2/artifacts/tomcat.json | 46 ++++++
.../more-complex-app/ec2/artifacts/tomcat1.json | 47 +++++++
.../more-complex-app/ec2/artifacts/tomcat2.json | 47 +++++++
samples/more-complex-app/ec2/deploy.sh | 26 ++++
.../mock/artifacts/application_definition.json | 141 +++++++++++++++++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/deployment-policy.json | 87 ++++++++++++
.../mock/artifacts/group6c.json | 34 +++++
.../mock/artifacts/group8c.json | 23 +++
.../more-complex-app/mock/artifacts/tomcat.json | 52 +++++++
.../mock/artifacts/tomcat1.json | 52 +++++++
.../mock/artifacts/tomcat2.json | 52 +++++++
samples/more-complex-app/mock/deploy.sh | 44 ++++++
samples/nested-group/README.md | 8 ++
samples/nested-group/deploy.sh | 25 ++++
samples/nested-group/ec2/README.md | 8 ++
.../ec2/artifacts/application_definition.json | 62 ++++++++
.../ec2/artifacts/autoscale-policy.json | 14 ++
.../ec2/artifacts/deployment-policy.json | 55 ++++++++
samples/nested-group/ec2/artifacts/group6c.json | 21 +++
samples/nested-group/ec2/artifacts/tomcat.json | 46 ++++++
samples/nested-group/ec2/artifacts/tomcat1.json | 47 +++++++
samples/nested-group/ec2/artifacts/tomcat2.json | 47 +++++++
samples/nested-group/ec2/deploy.sh | 25 ++++
.../mock/artifacts/application_definition.json | 62 ++++++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/deployment-policy.json | 55 ++++++++
.../nested-group/mock/artifacts/group6c.json | 21 +++
samples/nested-group/mock/artifacts/tomcat.json | 52 +++++++
.../nested-group/mock/artifacts/tomcat1.json | 52 +++++++
.../nested-group/mock/artifacts/tomcat2.json | 52 +++++++
samples/single-cartridge/README.md | 8 ++
.../ec2/artifacts/app_single_group.json | 19 +++
.../ec2/artifacts/autoscale-policy.json | 14 ++
.../ec2/artifacts/dep_single_group.json | 41 ++++++
.../single-cartridge/ec2/artifacts/tomcat.json | 46 ++++++
samples/single-cartridge/ec2/deploy.sh | 11 ++
.../mock/artifacts/app_single_group.json | 18 +++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/dep_single_group.json | 42 ++++++
.../single-cartridge/mock/artifacts/tomcat.json | 52 +++++++
samples/single-cartridge/mock/deploy.sh | 15 ++
.../openstack/artifacts/app_single_group.json | 18 +++
.../openstack/artifacts/autoscale-policy.json | 14 ++
.../openstack/artifacts/dep_single_group.json | 41 ++++++
.../openstack/artifacts/tomcat.json | 52 +++++++
samples/single-cartridge/openstack/deploy.sh | 12 ++
.../mock/artifacts/app_single_group.json | 26 ++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/dep_single_group.json | 41 ++++++
.../mock/artifacts/group6c.json | 11 ++
.../mock/artifacts/tomcat.json | 52 +++++++
.../single-group-group-scaling/mock/deploy.sh | 16 +++
samples/single-group-v1/README.md | 7 +
.../ec2/artifacts/app_single_group.json | 43 ++++++
.../ec2/artifacts/app_single_group.json-para | 46 ++++++
.../ec2/artifacts/autoscale-policy.json | 14 ++
.../ec2/artifacts/dep_single_group.json | 56 ++++++++
.../single-group-v1/ec2/artifacts/group6c.json | 11 ++
.../single-group-v1/ec2/artifacts/tomcat.json | 46 ++++++
.../single-group-v1/ec2/artifacts/tomcat1.json | 47 +++++++
.../single-group-v1/ec2/artifacts/tomcat2.json | 47 +++++++
samples/single-group-v1/ec2/deploy.sh | 16 +++
.../mock/artifacts/app_single_group.json | 43 ++++++
.../mock/artifacts/app_single_group.json-para | 46 ++++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/dep_single_group.json | 56 ++++++++
.../single-group-v1/mock/artifacts/group6c.json | 11 ++
.../single-group-v1/mock/artifacts/tomcat.json | 46 ++++++
.../single-group-v1/mock/artifacts/tomcat1.json | 52 +++++++
.../single-group-v1/mock/artifacts/tomcat2.json | 52 +++++++
samples/single-group-v1/mock/deploy.sh | 16 +++
samples/single-group-v2/README.md | 7 +
.../ec2/artifacts/app_single_group.json-para | 46 ++++++
samples/single-group-v2/ec2/deploy.sh | 17 +++
.../mock/artifacts/app_single_group.json | 52 +++++++
.../mock/artifacts/app_single_group.json-para | 46 ++++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/dep_single_group.json | 56 ++++++++
.../single-group-v2/mock/artifacts/group6c.json | 14 ++
.../single-group-v2/mock/artifacts/tomcat.json | 52 +++++++
.../single-group-v2/mock/artifacts/tomcat1.json | 52 +++++++
.../single-group-v2/mock/artifacts/tomcat2.json | 52 +++++++
samples/single-group-v2/mock/deploy.sh | 17 +++
.../ec2/artifacts/app_single_group.json-para | 46 ++++++
samples/single-group-v3/ec2/deploy.sh | 15 ++
.../mock/artifacts/app_single_group.json | 27 ++++
.../mock/artifacts/app_single_group.json-para | 46 ++++++
.../mock/artifacts/autoscale-policy.json | 14 ++
.../mock/artifacts/dep_single_group.json | 41 ++++++
.../single-group-v3/mock/artifacts/group6c.json | 11 ++
.../single-group-v3/mock/artifacts/tomcat.json | 52 +++++++
.../single-group-v3/mock/artifacts/tomcat1.json | 52 +++++++
.../single-group-v3/mock/artifacts/tomcat2.json | 52 +++++++
samples/single-group-v3/mock/deploy.sh | 15 ++
180 files changed, 6626 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/README.md
----------------------------------------------------------------------
diff --git a/samples/README.md b/samples/README.md
new file mode 100644
index 0000000..370b030
--- /dev/null
+++ b/samples/README.md
@@ -0,0 +1,6 @@
+Stratos Sample Applications
+===========================
+
+This folder contains sample applications which demonstrate stratos features. In each sample there is a set of
+artifacts and a deploy.sh file. Run the deploy.sh file to deploy the sample application in a stratos instance
+running on the localhost.
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/README.md
----------------------------------------------------------------------
diff --git a/samples/complex-app/README.md b/samples/complex-app/README.md
new file mode 100644
index 0000000..117e787
--- /dev/null
+++ b/samples/complex-app/README.md
@@ -0,0 +1,6 @@
+complex-app
+===========
+
+- Using these artifacts you can deploy the complex application.
+- In this deployment scenario, it deployed two groups which are nested.
+- Run the deploy.sh to deploy this complex application.
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/application_definition.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/application_definition.json b/samples/complex-app/ec2/artifacts/application_definition.json
new file mode 100644
index 0000000..9424b2f
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/application_definition.json
@@ -0,0 +1,98 @@
+{
+ "applicationId": "app_boo",
+ "alias": "app_boo_r2",
+ "components": {
+ "groups": [
+ {
+ "name": "group6",
+ "alias": "mygroup6",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "groups": [
+ {
+ "name": "group7",
+ "alias": "mygroup7",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "cartridges": [
+ {
+ "type": "tomcat1",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group7tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat2",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group6tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ },
+ {
+ "name": "group8",
+ "alias": "mygroup8",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "groups": [
+ {
+ "name": "group9",
+ "alias": "mygroup9",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "cartridges": [
+ {
+ "type": "tomcat1",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group9tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat2",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group8tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ],
+ "dependencies": {
+ "startupOrders": [
+ "group.mygroup8,group.mygroup6,cartridge.mytomcat"
+ ],
+ "terminationBehaviour": "terminate-all"
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/autoscale-policy.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/autoscale-policy.json b/samples/complex-app/ec2/artifacts/autoscale-policy.json
new file mode 100755
index 0000000..e6572e7
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/autoscale-policy.json
@@ -0,0 +1,14 @@
+{
+ "id": "autoscale_policy_1",
+ "loadThresholds": {
+ "requestsInFlight": {
+ "upperLimit": 80
+ },
+ "memoryConsumption": {
+ "upperLimit": 90
+ },
+ "loadAverage": {
+ "upperLimit": 50
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/deployment-policy.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/deployment-policy.json b/samples/complex-app/ec2/artifacts/deployment-policy.json
new file mode 100644
index 0000000..2aac579
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/deployment-policy.json
@@ -0,0 +1,71 @@
+{
+ "applicationId": "app_boo",
+ "applicationPolicy": {
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "activeByDefault": "true",
+ "partitions": [
+ {
+ "id": "P1",
+ "provider": "ec2",
+ "property": [
+ {
+ "name": "region",
+ "value": "ap-southeast-1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "childPolicies": [
+ {
+ "alias": "mytomcat",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "mygroup6",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "mygroup8",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/group6c.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/group6c.json b/samples/complex-app/ec2/artifacts/group6c.json
new file mode 100755
index 0000000..74fea79
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/group6c.json
@@ -0,0 +1,21 @@
+{
+ "name": "group6",
+ "groups": [
+ {
+ "name": "group7",
+ "cartridges": [
+ "tomcat1"
+ ]
+ }
+ ],
+ "cartridges": [
+ "tomcat2"
+ ],
+ "dependencies": {
+ "startupOrders": [
+ "group.group7,cartridge.tomcat2"
+ ],
+ "terminationBehaviour": "terminate-all"
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/group8c.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/group8c.json b/samples/complex-app/ec2/artifacts/group8c.json
new file mode 100755
index 0000000..fac2096
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/group8c.json
@@ -0,0 +1,21 @@
+{
+ "name": "group8",
+ "groups": [
+ {
+ "name": "group9",
+ "cartridges": [
+ "tomcat1"
+ ]
+ }
+ ],
+ "cartridges": [
+ "tomcat2"
+ ],
+ "dependencies": {
+ "startupOrders": [
+ "group.group9,cartridge.tomcat2"
+ ],
+ "terminationBehaviour": "terminate-all"
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/tomcat.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/tomcat.json b/samples/complex-app/ec2/artifacts/tomcat.json
new file mode 100755
index 0000000..1779e62
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/tomcat.json
@@ -0,0 +1,46 @@
+{
+ "type": "tomcat",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat",
+ "description": "tomcat Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/tomcat1.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/tomcat1.json b/samples/complex-app/ec2/artifacts/tomcat1.json
new file mode 100755
index 0000000..9cafdb9
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/tomcat1.json
@@ -0,0 +1,47 @@
+{
+ "type": "tomcat1",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat1",
+ "description": "tomcat1 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/artifacts/tomcat2.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/artifacts/tomcat2.json b/samples/complex-app/ec2/artifacts/tomcat2.json
new file mode 100755
index 0000000..cf7b0be
--- /dev/null
+++ b/samples/complex-app/ec2/artifacts/tomcat2.json
@@ -0,0 +1,47 @@
+{
+ "type": "tomcat2",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat2",
+ "description": "tomcat2 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/ec2/deploy.sh
----------------------------------------------------------------------
diff --git a/samples/complex-app/ec2/deploy.sh b/samples/complex-app/ec2/deploy.sh
new file mode 100755
index 0000000..371b6d4
--- /dev/null
+++ b/samples/complex-app/ec2/deploy.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+# Create autoscale policy
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/autoscale-policy.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
+
+# Create tomcat cartridge
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+# Deploy tomcat1 cartride
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat1.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+# Deploy tomcat2 cartride
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat2.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+# Deploy group
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/group6c.json' -k -v -u admin:admin https://localhost:9443/api/groups
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/group8c.json' -k -v -u admin:admin https://localhost:9443/api/groups
+
+# GET group
+#curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/groups/group6
+
+sleep 5
+
+# Create application
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/application_definition.json' -k -v -u admin:admin https://localhost:9443/api/applications
+
+sleep 5
+
+# GET application
+# curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/applications/myapp1265
+
+# Deploy application
+
+sleep 3
+curl -X POST -H "Content-Type: application/json" -d@'artifacts/deployment-policy.json' -k -v -u admin:admin https://localhost:9443/api/applications/app_boo/deploy
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/application_definition.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/application_definition.json b/samples/complex-app/mock/artifacts/application_definition.json
new file mode 100644
index 0000000..9424b2f
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/application_definition.json
@@ -0,0 +1,98 @@
+{
+ "applicationId": "app_boo",
+ "alias": "app_boo_r2",
+ "components": {
+ "groups": [
+ {
+ "name": "group6",
+ "alias": "mygroup6",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "groups": [
+ {
+ "name": "group7",
+ "alias": "mygroup7",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "cartridges": [
+ {
+ "type": "tomcat1",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group7tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat2",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group6tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ },
+ {
+ "name": "group8",
+ "alias": "mygroup8",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "groups": [
+ {
+ "name": "group9",
+ "alias": "mygroup9",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 1,
+ "cartridges": [
+ {
+ "type": "tomcat1",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group9tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat2",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "group8tom",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ],
+ "dependencies": {
+ "startupOrders": [
+ "group.mygroup8,group.mygroup6,cartridge.mytomcat"
+ ],
+ "terminationBehaviour": "terminate-all"
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/autoscale-policy.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/autoscale-policy.json b/samples/complex-app/mock/artifacts/autoscale-policy.json
new file mode 100755
index 0000000..e6572e7
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/autoscale-policy.json
@@ -0,0 +1,14 @@
+{
+ "id": "autoscale_policy_1",
+ "loadThresholds": {
+ "requestsInFlight": {
+ "upperLimit": 80
+ },
+ "memoryConsumption": {
+ "upperLimit": 90
+ },
+ "loadAverage": {
+ "upperLimit": 50
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/deployment-policy.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/deployment-policy.json b/samples/complex-app/mock/artifacts/deployment-policy.json
new file mode 100644
index 0000000..a2d0e3a
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/deployment-policy.json
@@ -0,0 +1,71 @@
+{
+ "applicationId": "app_boo",
+ "applicationPolicy": {
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "activeByDefault": "true",
+ "partitions": [
+ {
+ "id": "P1",
+ "provider": "mock",
+ "property": [
+ {
+ "name": "region",
+ "value": "RegionOne"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "childPolicies": [
+ {
+ "alias": "mytomcat",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "mygroup6",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "mygroup8",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/group6c.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/group6c.json b/samples/complex-app/mock/artifacts/group6c.json
new file mode 100755
index 0000000..74fea79
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/group6c.json
@@ -0,0 +1,21 @@
+{
+ "name": "group6",
+ "groups": [
+ {
+ "name": "group7",
+ "cartridges": [
+ "tomcat1"
+ ]
+ }
+ ],
+ "cartridges": [
+ "tomcat2"
+ ],
+ "dependencies": {
+ "startupOrders": [
+ "group.group7,cartridge.tomcat2"
+ ],
+ "terminationBehaviour": "terminate-all"
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/group8c.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/group8c.json b/samples/complex-app/mock/artifacts/group8c.json
new file mode 100755
index 0000000..fac2096
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/group8c.json
@@ -0,0 +1,21 @@
+{
+ "name": "group8",
+ "groups": [
+ {
+ "name": "group9",
+ "cartridges": [
+ "tomcat1"
+ ]
+ }
+ ],
+ "cartridges": [
+ "tomcat2"
+ ],
+ "dependencies": {
+ "startupOrders": [
+ "group.group9,cartridge.tomcat2"
+ ],
+ "terminationBehaviour": "terminate-all"
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/tomcat.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/tomcat.json b/samples/complex-app/mock/artifacts/tomcat.json
new file mode 100755
index 0000000..7237b20
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/tomcat.json
@@ -0,0 +1,46 @@
+{
+ "type": "tomcat",
+ "provider": "apache",
+ "host": "isuruh.lk",
+ "category": "data",
+ "displayName": "tomcat",
+ "description": "tomcat Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "mock",
+ "imageId": "RegionOne/b4ca55e3-58ab-4937-82ce-817ebd10240e",
+ "networkInterfaces": [
+ {
+ "name": "network-non-routable",
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "reka"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/tomcat1.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/tomcat1.json b/samples/complex-app/mock/artifacts/tomcat1.json
new file mode 100755
index 0000000..eb57815
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/tomcat1.json
@@ -0,0 +1,52 @@
+{
+ "type": "tomcat1",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat1",
+ "description": "tomcat1 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "mock",
+ "imageId": "RegionOne/b4ca55e3-58ab-4937-82ce-817ebd10240e",
+ "networkInterfaces": [
+ {
+ "name": "network-non-routable",
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "reka"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/artifacts/tomcat2.json
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/artifacts/tomcat2.json b/samples/complex-app/mock/artifacts/tomcat2.json
new file mode 100755
index 0000000..63b4429
--- /dev/null
+++ b/samples/complex-app/mock/artifacts/tomcat2.json
@@ -0,0 +1,52 @@
+{
+ "type": "tomcat2",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat2",
+ "description": "tomcat2 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "mock",
+ "imageId": "RegionOne/b4ca55e3-58ab-4937-82ce-817ebd10240e",
+ "networkInterfaces": [
+ {
+ "name": "network-non-routable",
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "reka"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/complex-app/mock/deploy.sh
----------------------------------------------------------------------
diff --git a/samples/complex-app/mock/deploy.sh b/samples/complex-app/mock/deploy.sh
new file mode 100755
index 0000000..9e9ffcd
--- /dev/null
+++ b/samples/complex-app/mock/deploy.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# Create autoscale policy
+curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
+
+# Create tomcat cartridge
+curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+# Deploy tomcat1 cartride
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat1.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+# Deploy tomcat2 cartride
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat2.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+# Deploy group
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/group6c.json' -k -v -u admin:admin https://localhost:9443/api/groups
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/group8c.json' -k -v -u admin:admin https://localhost:9443/api/groups
+
+# GET group
+#curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/groups/group6
+
+
+sleep 5
+# Create application
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/application_definition.json' -k -v -u admin:admin https://localhost:9443/api/applications
+
+sleep 5
+# GET application
+# curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/applications/myapp1265
+
+# Deploy application
+
+sleep 3
+curl -X POST -H "Content-Type: application/json" -d@'artifacts/deployment-policy.json' -k -v -u admin:admin https://localhost:9443/api/applications/app_boo/deploy
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/ec2/artifacts/app_dependency_scaling.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/ec2/artifacts/app_dependency_scaling.json b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/app_dependency_scaling.json
new file mode 100644
index 0000000..97b53be
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/app_dependency_scaling.json
@@ -0,0 +1,32 @@
+{
+ "applicationId": "app_group_v1",
+ "alias": "mytestapp1",
+ "components": {
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ },
+ {
+ "type": "tomcat1",
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "subscribableInfo": {
+ "alias": "mytomcat1",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ],
+ "dependencies": {
+ "scalingDependants": [
+ "cartridge.mytomcat, cartridge.mytomcat1"
+ ],
+ "terminationBehaviour": "terminate-none"
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/ec2/artifacts/autoscale-policy.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/ec2/artifacts/autoscale-policy.json b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/autoscale-policy.json
new file mode 100755
index 0000000..bf2499e
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/autoscale-policy.json
@@ -0,0 +1,14 @@
+{
+ "id": "autoscale_policy_1",
+ "loadThresholds": {
+ "requestsInFlight": {
+ "threshold": 40
+ },
+ "memoryConsumption": {
+ "threshold": 70
+ },
+ "loadAverage": {
+ "threshold": 100
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/ec2/artifacts/dep_dependency_scaling.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/ec2/artifacts/dep_dependency_scaling.json b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/dep_dependency_scaling.json
new file mode 100644
index 0000000..cc08ec3
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/dep_dependency_scaling.json
@@ -0,0 +1,56 @@
+{
+ "applicationId": "app_group_v1",
+ "applicationPolicy": {
+ "applicationId": "app_group_v1",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "activeByDefault": "true",
+ "partitions": [
+ {
+ "id": "P1",
+ "provider": "ec2",
+ "property": [
+ {
+ "name": "region",
+ "value": "ap-southeast-1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "childPolicies": [
+ {
+ "alias": "mytomcat",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "mytomcat1",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 10
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat.json b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat.json
new file mode 100755
index 0000000..1779e62
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat.json
@@ -0,0 +1,46 @@
+{
+ "type": "tomcat",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat",
+ "description": "tomcat Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat1.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat1.json b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat1.json
new file mode 100755
index 0000000..9cafdb9
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/ec2/artifacts/tomcat1.json
@@ -0,0 +1,47 @@
+{
+ "type": "tomcat1",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat1",
+ "description": "tomcat1 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/ec2/deploy.sh
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/ec2/deploy.sh b/samples/dependency-scaling/sample-cartridges/ec2/deploy.sh
new file mode 100755
index 0000000..5a72510
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/ec2/deploy.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/autoscale-policy.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat1.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+sleep 2
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/app_dependency_scaling.json' -k -v -u admin:admin https://localhost:9443/api/applications
+
+sleep 2
+curl -X POST -H "Content-Type: application/json" -d@'artifacts/dep_dependency_scaling.json' -k -v -u admin:admin https://localhost:9443/api/applications/app_group_v1/deploy
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/mock/artifacts/app_dependency_scaling.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/mock/artifacts/app_dependency_scaling.json b/samples/dependency-scaling/sample-cartridges/mock/artifacts/app_dependency_scaling.json
new file mode 100644
index 0000000..e875a20
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/mock/artifacts/app_dependency_scaling.json
@@ -0,0 +1,32 @@
+{
+ "applicationId": "app_group_v1",
+ "alias": "mytestapp1",
+ "components": {
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ },
+ {
+ "type": "php",
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "subscribableInfo": {
+ "alias": "myphp",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ],
+ "dependencies": {
+ "scalingDependants": [
+ "cartridge.mytomcat, cartridge.myphp"
+ ],
+ "terminationBehaviour": "terminate-none"
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/mock/artifacts/autoscale-policy.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/mock/artifacts/autoscale-policy.json b/samples/dependency-scaling/sample-cartridges/mock/artifacts/autoscale-policy.json
new file mode 100755
index 0000000..f065167
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/mock/artifacts/autoscale-policy.json
@@ -0,0 +1,14 @@
+{
+ "id": "autoscale_policy_1",
+ "loadThresholds": {
+ "requestsInFlight": {
+ "threshold": 40
+ },
+ "memoryConsumption": {
+ "threshold": 40
+ },
+ "loadAverage": {
+ "threshold": 40
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/mock/artifacts/dep_dependency_scaling.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/mock/artifacts/dep_dependency_scaling.json b/samples/dependency-scaling/sample-cartridges/mock/artifacts/dep_dependency_scaling.json
new file mode 100644
index 0000000..05b3a04
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/mock/artifacts/dep_dependency_scaling.json
@@ -0,0 +1,55 @@
+{
+ "applicationId": "app_group_v1",
+ "applicationPolicy": {
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "activeByDefault": "true",
+ "partitions": [
+ {
+ "id": "P1",
+ "provider": "mock",
+ "property": [
+ {
+ "name": "region",
+ "value": "RegionOne"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "childPolicies": [
+ {
+ "alias": "mytomcat",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "myphp",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 10
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/mock/artifacts/php.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/mock/artifacts/php.json b/samples/dependency-scaling/sample-cartridges/mock/artifacts/php.json
new file mode 100755
index 0000000..272e6e8
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/mock/artifacts/php.json
@@ -0,0 +1,46 @@
+{
+ "type": "php",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "php",
+ "description": "php Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "mock",
+ "imageId": "RegionOne/b4ca55e3-58ab-4937-82ce-817ebd10240e",
+ "networkInterfaces": [
+ {
+ "name": "network-non-routable",
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "reka"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/mock/artifacts/tomcat.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/mock/artifacts/tomcat.json b/samples/dependency-scaling/sample-cartridges/mock/artifacts/tomcat.json
new file mode 100755
index 0000000..f2c9d5b
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/mock/artifacts/tomcat.json
@@ -0,0 +1,46 @@
+{
+ "type": "tomcat",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcatdisplayName",
+ "description": "tomcat Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "mock",
+ "imageId": "RegionOne/b4ca55e3-58ab-4937-82ce-817ebd10240e",
+ "networkInterfaces": [
+ {
+ "name": "network-non-routable",
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "reka"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/mock/deploy.sh
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/mock/deploy.sh b/samples/dependency-scaling/sample-cartridges/mock/deploy.sh
new file mode 100755
index 0000000..eb4caba
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/mock/deploy.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+echo "Adding autoscaling policy..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/autoscale-policy.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
+
+echo "Adding tomcat cartridge..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+echo "Adding php cartridge..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/php.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+sleep 3
+echo "Creating application..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/app_dependency_scaling.json' -k -v -u admin:admin https://localhost:9443/api/applications
+
+sleep 3
+echo "Deploying application..."
+curl -X POST -H "Content-Type: application/json" -d@'artifacts/dep_dependency_scaling.json' -k -v -u admin:admin https://localhost:9443/api/applications/app_group_v1/deploy
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/openstack/artifacts/app_dependency_scaling.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/openstack/artifacts/app_dependency_scaling.json b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/app_dependency_scaling.json
new file mode 100644
index 0000000..97b53be
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/app_dependency_scaling.json
@@ -0,0 +1,32 @@
+{
+ "applicationId": "app_group_v1",
+ "alias": "mytestapp1",
+ "components": {
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ },
+ {
+ "type": "tomcat1",
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "subscribableInfo": {
+ "alias": "mytomcat1",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ],
+ "dependencies": {
+ "scalingDependants": [
+ "cartridge.mytomcat, cartridge.mytomcat1"
+ ],
+ "terminationBehaviour": "terminate-none"
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/openstack/artifacts/autoscale-policy.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/openstack/artifacts/autoscale-policy.json b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/autoscale-policy.json
new file mode 100755
index 0000000..bf2499e
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/autoscale-policy.json
@@ -0,0 +1,14 @@
+{
+ "id": "autoscale_policy_1",
+ "loadThresholds": {
+ "requestsInFlight": {
+ "threshold": 40
+ },
+ "memoryConsumption": {
+ "threshold": 70
+ },
+ "loadAverage": {
+ "threshold": 100
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/openstack/artifacts/dep_dependency_scaling.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/openstack/artifacts/dep_dependency_scaling.json b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/dep_dependency_scaling.json
new file mode 100644
index 0000000..67fdcc1
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/dep_dependency_scaling.json
@@ -0,0 +1,56 @@
+{
+ "applicationId": "app_group_v1",
+ "applicationPolicy": {
+ "applicationId": "app_group_v1",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "activeByDefault": "true",
+ "partitions": [
+ {
+ "id": "P1",
+ "provider": "openstack",
+ "property": [
+ {
+ "name": "region",
+ "value": "RegionOne"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "childPolicies": [
+ {
+ "alias": "mytomcat",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "mytomcat1",
+ "networkPartition": [
+ {
+ "id": "openstack_R1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 10
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat.json b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat.json
new file mode 100755
index 0000000..39afc04
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat.json
@@ -0,0 +1,51 @@
+{
+ "type": "tomcat",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat",
+ "description": "tomcat Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "openstack",
+ "imageId": "RegionOne/a63609be-61df-436f-80bc-d2b6068a4c3a",
+ "networkInterfaces": [
+ {
+ "name": "network-non-routable",
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "lahiru-key"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat1.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat1.json b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat1.json
new file mode 100755
index 0000000..3976048
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/openstack/artifacts/tomcat1.json
@@ -0,0 +1,52 @@
+{
+ "type": "tomcat1",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat1",
+ "description": "tomcat1 Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "openstack",
+ "imageId": "RegionOne/a63609be-61df-436f-80bc-d2b6068a4c3a",
+ "networkInterfaces": [
+ {
+ "name": "network-non-routable",
+ "networkUuid": "b55f009a-1cc6-4b17-924f-4ae0ee18db5e"
+ }
+ ],
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "RegionOne/aa5f45a2-c6d6-419d-917a-9dd2e3888594"
+ },
+ {
+ "name": "keyPair",
+ "value": "lahiru-key"
+ },
+ {
+ "name": "securityGroups",
+ "value": "default"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-cartridges/openstack/deploy.sh
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-cartridges/openstack/deploy.sh b/samples/dependency-scaling/sample-cartridges/openstack/deploy.sh
new file mode 100755
index 0000000..7aef755
--- /dev/null
+++ b/samples/dependency-scaling/sample-cartridges/openstack/deploy.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+echo "Adding autoscaling policy..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/autoscale-policy.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
+
+echo "Adding tomcat cartridge..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+echo "Adding tomcat1 cartridge..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat1.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+
+sleep 2
+echo "Creating application..."
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/app_dependency_scaling.json' -k -v -u admin:admin https://localhost:9443/api/applications
+
+sleep 2
+echo "Deploying application..."
+curl -X POST -H "Content-Type: application/json" -d@'artifacts/dep_dependency_scaling.json' -k -v -u admin:admin https://localhost:9443/api/applications/app_group_v1/deploy
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/artifacts/app_single_group.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/artifacts/app_single_group.json b/samples/dependency-scaling/sample-groups/ec2/artifacts/app_single_group.json
new file mode 100644
index 0000000..d29a191
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/artifacts/app_single_group.json
@@ -0,0 +1,52 @@
+{
+ "applicationId": "app_group_v2",
+ "alias": "mytestapp1",
+ "components": {
+ "groups": [
+ {
+ "name": "group6",
+ "alias": "mygroup6",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 2,
+ "cartridges": [
+ {
+ "type": "esb",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "esbgroup6",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ },
+ {
+ "type": "php",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "phpgroup6",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ],
+ "dependencies": {
+ "scalingDependants": [
+ "group.mygroup6,cartridge.mytomcat"
+ ],
+ "terminationBehaviour": "terminate-none"
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/artifacts/autoscale-policy.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/artifacts/autoscale-policy.json b/samples/dependency-scaling/sample-groups/ec2/artifacts/autoscale-policy.json
new file mode 100755
index 0000000..d1d3134
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/artifacts/autoscale-policy.json
@@ -0,0 +1,14 @@
+{
+ "id": "autoscale_policy_1",
+ "loadThresholds": {
+ "requestsInFlight": {
+ "threshold": 50
+ },
+ "memoryConsumption": {
+ "threshold": 70
+ },
+ "loadAverage": {
+ "threshold": 1000
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/artifacts/dep_single_group.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/artifacts/dep_single_group.json b/samples/dependency-scaling/sample-groups/ec2/artifacts/dep_single_group.json
new file mode 100644
index 0000000..1e927ca
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/artifacts/dep_single_group.json
@@ -0,0 +1,56 @@
+{
+ "applicationId": "app_group_v2",
+ "applicationPolicy": {
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "activeByDefault": "true",
+ "partitions": [
+ {
+ "id": "P1",
+ "provider": "ec2",
+ "property": [
+ {
+ "name": "region",
+ "value": "ap-southeast-1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "childPolicies": [
+ {
+ "alias": "mytomcat",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "alias": "mygroup6",
+ "networkPartition": [
+ {
+ "id": "EC2-P1",
+ "partitionAlgo": "one-after-another",
+ "partitions": [
+ {
+ "id": "P1",
+ "max": 5
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/artifacts/esb.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/artifacts/esb.json b/samples/dependency-scaling/sample-groups/ec2/artifacts/esb.json
new file mode 100755
index 0000000..2a44e75
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/artifacts/esb.json
@@ -0,0 +1,40 @@
+{
+ "type": "esb",
+ "provider": "wso2",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "esb",
+ "description": "esb Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/artifacts/group6c.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/artifacts/group6c.json b/samples/dependency-scaling/sample-groups/ec2/artifacts/group6c.json
new file mode 100644
index 0000000..d11c8fc
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/artifacts/group6c.json
@@ -0,0 +1,15 @@
+{
+ "name": "group6",
+ "isGroupScalingEnabled": "true",
+ "cartridges": [
+ "esb",
+ "php"
+ ],
+ "dependencies": {
+ "startupOrders": [
+ "cartridge.esb,cartridge.php"
+ ],
+ "terminationBehaviour": "terminate-all"
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/artifacts/php.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/artifacts/php.json b/samples/dependency-scaling/sample-groups/ec2/artifacts/php.json
new file mode 100755
index 0000000..008c8ff
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/artifacts/php.json
@@ -0,0 +1,46 @@
+{
+ "type": "php",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "php",
+ "description": "php Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/artifacts/tomcat.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/artifacts/tomcat.json b/samples/dependency-scaling/sample-groups/ec2/artifacts/tomcat.json
new file mode 100755
index 0000000..1779e62
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/artifacts/tomcat.json
@@ -0,0 +1,46 @@
+{
+ "type": "tomcat",
+ "provider": "apache",
+ "category": "data",
+ "host": "isuruh.lk",
+ "displayName": "tomcat",
+ "description": "tomcat Cartridge",
+ "version": "7",
+ "multiTenant": "false",
+ "portMapping": [
+ {
+ "protocol": "http",
+ "port": "22",
+ "proxyPort": "8280"
+ }
+ ],
+ "deployment": {
+ },
+ "iaasProvider": [
+ {
+ "type": "ec2",
+ "imageId": "ap-southeast-1/ami-3c0f5d6e",
+ "maxInstanceLimit": "2",
+ "property": [
+ {
+ "name": "instanceType",
+ "value": "m1.medium"
+ },
+ {
+ "name": "keyPair",
+ "value": "manula"
+ },
+ {
+ "name": "securityGroups",
+ "value": "s2-2.0.0-rc1"
+ }
+ ]
+ }
+ ],
+ "loadBalancer": {
+ "property": {
+ "name": "no.load.balancer",
+ "value": "true"
+ }
+ },
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/ec2/deploy.sh
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/ec2/deploy.sh b/samples/dependency-scaling/sample-groups/ec2/deploy.sh
new file mode 100755
index 0000000..3a2e600
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/ec2/deploy.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/autoscale-policy.json' -k -v -u admin:admin https://localhost:9443/api/autoscalingPolicies
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/tomcat.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/esb.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/php.json' -k -v -u admin:admin https://localhost:9443/api/cartridges
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/group6c.json' -k -v -u admin:admin https://localhost:9443/api/groups
+
+sleep 3
+
+curl -X POST -H "Content-Type: application/json" -d @'artifacts/app_single_group.json' -k -v -u admin:admin https://localhost:9443/api/applications
+
+sleep 3
+
+curl -X POST -H "Content-Type: application/json" -d@'artifacts/dep_single_group.json' -k -v -u admin:admin https://localhost:9443/api/applications/app_group_v2/deploy
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json b/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json
new file mode 100644
index 0000000..76be30f
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json
@@ -0,0 +1,52 @@
+{
+ "applicationId": "app_group_v2",
+ "alias": "mytestapp1",
+ "components": {
+ "groups": [
+ {
+ "name": "group6",
+ "alias": "mygroup6",
+ "groupMinInstances": 1,
+ "groupMaxInstances": 2,
+ "cartridges": [
+ {
+ "type": "esb",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "esbgroup6",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ },
+ {
+ "type": "php",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "phpgroup6",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 2,
+ "cartridgeMax": 4,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ],
+ "dependencies": {
+ "scalingDependants": [
+ "group.group6, cartridge.tomcat"
+ ],
+ "terminationBehaviour": "terminate-none"
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/stratos/blob/704db4b7/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json-para
----------------------------------------------------------------------
diff --git a/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json-para b/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json-para
new file mode 100644
index 0000000..3ca673d
--- /dev/null
+++ b/samples/dependency-scaling/sample-groups/mock/artifacts/app_single_group.json-para
@@ -0,0 +1,46 @@
+{
+ "applicationId": "app_group_v1",
+ "alias": "mytestapp1",
+ "components": {
+ "groups" : [
+ {
+ "name": "group6",
+ "alias" : "mygroup6",
+ "groupMinInstances":1,
+ "groupMaxInstances":1,
+ "cartridges": [
+ {
+ "type": "tomcat2",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "tom2group6",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ },
+ {
+ "type": "tomcat1",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "tom1group6",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+ ],
+ "cartridges": [
+ {
+ "type": "tomcat",
+ "cartridgeMin": 1,
+ "cartridgeMax": 2,
+ "subscribableInfo": {
+ "alias": "mytomcat",
+ "autoscalingPolicy": "autoscale_policy_1"
+ }
+ }
+ ]
+ }
+}
+