Restructuring the Sample Application Added undeploying scripts
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/1c966cbc Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/1c966cbc Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/1c966cbc Branch: refs/heads/master Commit: 1c966cbc676f70c0801c8edb87f84fd77b1d73b6 Parents: 5a3e530 Author: Vishanth <[email protected]> Authored: Tue Jan 27 14:47:33 2015 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Tue Jan 27 18:05:09 2015 +0530 ---------------------------------------------------------------------- .../artifacts/application_definition.json | 108 ++++++++++ .../artifacts/autoscale-policy.json | 14 ++ .../complex-app-with-lb/iaases/deploy.sh | 57 ++++++ .../mock/artifacts/deployment-policy.json | 71 +++++++ .../iaases/mock/artifacts/lb.json | 46 +++++ .../complex-app-with-lb/iaases/undeploy.sh | 33 ++++ samples/applications/complex-app/README.md | 6 + .../artifacts/application-definition.json | 128 ++++++++++++ .../complex-app/artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/deployment-policy.json | 71 +++++++ .../complex-app/iaases/ec2/deploy.sh | 56 ++++++ .../complex-app/iaases/ec2/undeploy.sh | 30 +++ .../kubernetes/artifacts/deployment-policy.json | 72 +++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../complex-app/iaases/kubernetes/deploy.sh | 66 +++++++ .../complex-app/iaases/kubernetes/undeploy.sh | 34 ++++ .../mock/artifacts/deployment-policy.json | 71 +++++++ .../complex-app/iaases/mock/deploy.sh | 56 ++++++ .../complex-app/iaases/mock/undeploy.sh | 30 +++ .../openstack/artifacts/deployment-policy.json | 71 +++++++ .../complex-app/iaases/openstack/deploy.sh | 56 ++++++ .../complex-app/iaases/openstack/undeploy.sh | 30 +++ .../artifacts/app_dependency_scaling.json | 44 +++++ .../artifacts/autoscale-policy.json | 14 ++ .../ec2/artifacts/dep_dependency_scaling.json | 56 ++++++ .../sample-cartridges/iaases/ec2/deploy.sh | 41 ++++ .../sample-cartridges/iaases/ec2/undeploy.sh | 24 +++ .../artifacts/dep_dependency_scaling.json | 56 ++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../iaases/kubernetes/deploy.sh | 47 +++++ .../iaases/kubernetes/undeploy.sh | 28 +++ .../mock/artifacts/dep_dependency_scaling.json | 55 ++++++ .../sample-cartridges/iaases/mock/deploy.sh | 41 ++++ .../sample-cartridges/iaases/mock/undeploy.sh | 24 +++ .../artifacts/dep_dependency_scaling.json | 56 ++++++ .../iaases/openstack/deploy.sh | 41 ++++ .../iaases/openstack/undeploy.sh | 24 +++ .../artifacts/app_single_group.json | 70 +++++++ .../artifacts/app_single_group.json-para | 64 ++++++ .../artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/dep_single_group.json | 56 ++++++ .../sample-groups/iaases/ec2/deploy.sh | 53 +++++ .../sample-groups/iaases/ec2/undeploy.sh | 29 +++ .../kubernetes/artifacts/dep_single_group.json | 57 ++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../sample-groups/iaases/kubernetes/deploy.sh | 60 ++++++ .../sample-groups/iaases/kubernetes/undeploy.sh | 33 ++++ .../iaases/mock/artifacts/dep_single_group.json | 56 ++++++ .../sample-groups/iaases/mock/deploy.sh | 53 +++++ .../sample-groups/iaases/mock/undeploy.sh | 29 +++ .../openstack/artifacts/dep_single_group.json | 56 ++++++ .../sample-groups/iaases/openstack/deploy.sh | 53 +++++ .../sample-groups/iaases/openstack/undeploy.sh | 29 +++ .../artifacts/autoscale-policy-c1.json | 14 ++ .../artifacts/autoscale-policy-c2.json | 14 ++ .../artifacts/autoscale-policy-c3.json | 14 ++ .../artifacts/autoscale-policy-c4.json | 14 ++ .../artifacts/composite_application.json | 47 +++++ .../ec2/artifacts/app_deployment_policy.json | 67 +++++++ .../group-scaling-v1/iaases/ec2/deploy.sh | 69 +++++++ .../group-scaling-v1/iaases/ec2/undeploy.sh | 33 ++++ .../artifacts/app_deployment_policy.json | 68 +++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../iaases/kubernetes/deploy.sh | 77 ++++++++ .../iaases/kubernetes/undeploy.sh | 37 ++++ .../mock/artifacts/app_deployment_policy.json | 67 +++++++ .../group-scaling-v1/iaases/mock/deploy.sh | 67 +++++++ .../group-scaling-v1/iaases/mock/undeploy.sh | 33 ++++ .../artifacts/app_deployment_policy.json | 67 +++++++ .../group-scaling-v1/iaases/openstack/deploy.sh | 66 +++++++ .../iaases/openstack/undeploy.sh | 33 ++++ .../artifacts/autoscale-policy-c1.json | 14 ++ .../artifacts/autoscale-policy-c2.json | 14 ++ .../artifacts/autoscale-policy-c3.json | 14 ++ .../artifacts/autoscale-policy-c4.json | 14 ++ .../artifacts/composite_application.json | 95 +++++++++ .../ec2/artifacts/app_deployment_policy.json | 71 +++++++ .../group-scaling/iaases/ec2/deploy.sh | 69 +++++++ .../group-scaling/iaases/ec2/undeploy.sh | 34 ++++ .../artifacts/app_deployment_policy.json | 72 +++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../group-scaling/iaases/kubernetes/deploy.sh | 78 ++++++++ .../group-scaling/iaases/kubernetes/undeploy.sh | 38 ++++ .../mock/artifacts/app_deployment_policy.json | 71 +++++++ .../group-scaling/iaases/mock/deploy.sh | 69 +++++++ .../group-scaling/iaases/mock/undeploy.sh | 34 ++++ .../artifacts/app_deployment_policy.json | 71 +++++++ .../group-scaling/iaases/openstack/deploy.sh | 69 +++++++ .../group-scaling/iaases/openstack/undeploy.sh | 34 ++++ samples/applications/more-complex-app/README.md | 11 ++ .../artifacts/application_definition.json | 196 +++++++++++++++++++ .../artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/deployment-policy.json | 87 ++++++++ .../more-complex-app/iaases/ec2/deploy.sh | 57 ++++++ .../more-complex-app/iaases/ec2/undeploy.sh | 30 +++ .../kubernetes/artifacts/deployment-policy.json | 88 +++++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../iaases/kubernetes/deploy.sh | 66 +++++++ .../iaases/kubernetes/undeploy.sh | 34 ++++ .../mock/artifacts/deployment-policy.json | 87 ++++++++ .../more-complex-app/iaases/mock/deploy.sh | 57 ++++++ .../more-complex-app/iaases/mock/undeploy.sh | 30 +++ .../openstack/artifacts/deployment-policy.json | 87 ++++++++ .../more-complex-app/iaases/openstack/deploy.sh | 57 ++++++ .../iaases/openstack/undeploy.sh | 30 +++ samples/applications/nested-group/README.md | 8 + .../artifacts/application-definition.json | 80 ++++++++ .../artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/deployment-policy.json | 55 ++++++ .../nested-group/iaases/ec2/deploy.sh | 53 +++++ .../nested-group/iaases/ec2/undeploy.sh | 29 +++ .../kubernetes/artifacts/deployment-policy.json | 56 ++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../nested-group/iaases/kubernetes/deploy.sh | 61 ++++++ .../nested-group/iaases/kubernetes/undeploy.sh | 33 ++++ .../mock/artifacts/deployment-policy.json | 55 ++++++ .../nested-group/iaases/mock/deploy.sh | 53 +++++ .../nested-group/iaases/mock/undeploy.sh | 29 +++ .../openstack/artifacts/deployment-policy.json | 55 ++++++ .../nested-group/iaases/openstack/deploy.sh | 53 +++++ .../nested-group/iaases/openstack/undeploy.sh | 29 +++ samples/applications/single-cartridge/README.md | 8 + .../artifacts/application-signup.json | 18 ++ .../single-cartridge/artifacts/application.json | 24 +++ .../artifacts/autoscale-policy.json | 14 ++ .../artifacts/domain-mappings.json | 9 + .../artifacts/network-partition.json | 16 ++ .../iaases/ec2/artifacts/dep_single_group.json | 41 ++++ .../single-cartridge/iaases/ec2/deploy.sh | 39 ++++ .../single-cartridge/iaases/ec2/undeploy.sh | 23 +++ .../kubernetes/artifacts/deployment-policy.json | 40 ++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../iaases/kubernetes/deploy.sh | 45 +++++ .../iaases/kubernetes/get-application.sh | 3 + .../iaases/kubernetes/get-deployment-policy.sh | 3 + .../iaases/kubernetes/list-applications.sh | 3 + .../iaases/kubernetes/undeploy.sh | 27 +++ .../iaases/mock/add-domain-mappings.sh | 9 + .../iaases/mock/add-network-partition.sh | 9 + .../mock/artifacts/deployment-policy.json | 41 ++++ .../single-cartridge/iaases/mock/deploy.sh | 39 ++++ .../iaases/mock/list-domain-mappings.sh | 2 + .../iaases/mock/list-network-partition.sh | 2 + .../single-cartridge/iaases/mock/undeploy.sh | 23 +++ .../openstack/artifacts/dep_single_group.json | 41 ++++ .../single-cartridge/iaases/openstack/deploy.sh | 39 ++++ .../iaases/openstack/undeploy.sh | 23 +++ .../artifacts/app_single_group.json | 32 +++ .../artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/dep_single_group.json | 41 ++++ .../iaases/ec2/deploy.sh | 46 +++++ .../iaases/ec2/undeploy.sh | 27 +++ .../kubernetes/artifacts/dep_single_group.json | 42 ++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../iaases/kubernetes/deploy.sh | 54 +++++ .../iaases/kubernetes/undeploy.sh | 31 +++ .../iaases/mock/artifacts/dep_single_group.json | 41 ++++ .../iaases/mock/deploy.sh | 46 +++++ .../iaases/mock/undeploy.sh | 27 +++ .../openstack/artifacts/dep_single_group.json | 41 ++++ .../iaases/openstack/deploy.sh | 46 +++++ .../iaases/openstack/undeploy.sh | 27 +++ samples/applications/single-group-v1/README.md | 7 + .../artifacts/app_single_group.json | 55 ++++++ .../artifacts/app_single_group.json-para | 64 ++++++ .../artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/dep_single_group.json | 56 ++++++ .../single-group-v1/iaases/ec2/deploy.sh | 53 +++++ .../single-group-v1/iaases/ec2/undeploy.sh | 29 +++ .../kubernetes/artifacts/dep_single_group.json | 57 ++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../single-group-v1/iaases/kubernetes/deploy.sh | 61 ++++++ .../iaases/kubernetes/undeploy.sh | 33 ++++ .../iaases/mock/artifacts/dep_single_group.json | 56 ++++++ .../single-group-v1/iaases/mock/deploy.sh | 52 +++++ .../single-group-v1/iaases/mock/undeploy.sh | 29 +++ .../openstack/artifacts/dep_single_group.json | 56 ++++++ .../single-group-v1/iaases/openstack/deploy.sh | 53 +++++ .../iaases/openstack/undeploy.sh | 29 +++ samples/applications/single-group-v2/README.md | 7 + .../artifacts/app_single_group.json | 70 +++++++ .../artifacts/app_single_group.json-para | 64 ++++++ .../artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/dep_single_group.json | 56 ++++++ .../single-group-v2/iaases/ec2/deploy.sh | 53 +++++ .../single-group-v2/iaases/ec2/undeploy.sh | 29 +++ .../kubernetes/artifacts/dep_single_group.json | 57 ++++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../single-group-v2/iaases/kubernetes/deploy.sh | 61 ++++++ .../iaases/kubernetes/undeploy.sh | 33 ++++ .../iaases/mock/artifacts/dep_single_group.json | 56 ++++++ .../single-group-v2/iaases/mock/deploy.sh | 53 +++++ .../single-group-v2/iaases/mock/undeploy.sh | 29 +++ .../openstack/artifacts/dep_single_group.json | 56 ++++++ .../single-group-v2/iaases/openstack/deploy.sh | 53 +++++ .../iaases/openstack/undeploy.sh | 29 +++ .../artifacts/app_single_group.json | 33 ++++ .../artifacts/app_single_group.json-para | 64 ++++++ .../artifacts/autoscale-policy.json | 14 ++ .../iaases/ec2/artifacts/dep_single_group.json | 41 ++++ .../single-group-v3/iaases/ec2/deploy.sh | 53 +++++ .../single-group-v3/iaases/ec2/undeploy.sh | 29 +++ .../kubernetes/artifacts/dep_single_group.json | 42 ++++ .../artifacts/kubernetes-cluster.json | 55 ++++++ .../single-group-v3/iaases/kubernetes/deploy.sh | 62 ++++++ .../iaases/kubernetes/undeploy.sh | 33 ++++ .../iaases/mock/artifacts/app_single_group.json | 27 +++ .../mock/artifacts/app_single_group.json-para | 46 +++++ .../iaases/mock/artifacts/autoscale-policy.json | 14 ++ .../iaases/mock/artifacts/dep_single_group.json | 41 ++++ .../iaases/mock/artifacts/group6c.json | 11 ++ .../iaases/mock/artifacts/tomcat.json | 46 +++++ .../iaases/mock/artifacts/tomcat1.json | 46 +++++ .../iaases/mock/artifacts/tomcat2.json | 46 +++++ .../single-group-v3/iaases/mock/deploy.sh | 53 +++++ .../single-group-v3/iaases/mock/undeploy.sh | 29 +++ .../openstack/artifacts/dep_single_group.json | 41 ++++ .../single-group-v3/iaases/openstack/deploy.sh | 53 +++++ .../iaases/openstack/undeploy.sh | 29 +++ samples/cartridges-groups/group1.json | 35 ++++ samples/cartridges-groups/group1b.json | 18 ++ samples/cartridges-groups/group6c.json | 21 ++ samples/cartridges-groups/group6c2.json | 15 ++ samples/cartridges-groups/group6c3.json | 34 ++++ samples/cartridges-groups/group6c4.json | 11 ++ samples/cartridges-groups/group6c5.json | 11 ++ samples/cartridges-groups/group6c6.json | 14 ++ samples/cartridges-groups/group8c.json | 21 ++ samples/cartridges-groups/group8c3.json | 23 +++ samples/cartridges/ec2/c1.json | 40 ++++ samples/cartridges/ec2/c2.json | 40 ++++ samples/cartridges/ec2/c3.json | 40 ++++ samples/cartridges/ec2/c4.json | 40 ++++ samples/cartridges/ec2/esb.json | 40 ++++ samples/cartridges/ec2/php.json | 40 ++++ samples/cartridges/ec2/tomcat.json | 40 ++++ samples/cartridges/ec2/tomcat1.json | 41 ++++ samples/cartridges/ec2/tomcat2.json | 41 ++++ samples/cartridges/kubernetes/c1.json | 46 +++++ samples/cartridges/kubernetes/c2.json | 46 +++++ samples/cartridges/kubernetes/c3.json | 46 +++++ samples/cartridges/kubernetes/c4.json | 46 +++++ samples/cartridges/kubernetes/esb.json | 34 ++++ samples/cartridges/kubernetes/php.json | 34 ++++ samples/cartridges/kubernetes/tomcat.json | 34 ++++ samples/cartridges/kubernetes/tomcat1.json | 34 ++++ samples/cartridges/kubernetes/tomcat2.json | 34 ++++ samples/cartridges/mock/c1.json | 46 +++++ samples/cartridges/mock/c2.json | 46 +++++ samples/cartridges/mock/c3.json | 46 +++++ samples/cartridges/mock/c4.json | 46 +++++ samples/cartridges/mock/esb.json | 46 +++++ samples/cartridges/mock/php.json | 46 +++++ samples/cartridges/mock/tomcat.json | 46 +++++ samples/cartridges/mock/tomcat1.json | 46 +++++ samples/cartridges/mock/tomcat2.json | 46 +++++ samples/cartridges/openstack/c1.json | 46 +++++ samples/cartridges/openstack/c2.json | 46 +++++ samples/cartridges/openstack/c3.json | 46 +++++ samples/cartridges/openstack/c4.json | 46 +++++ samples/cartridges/openstack/esb.json | 45 +++++ samples/cartridges/openstack/php.json | 46 +++++ samples/cartridges/openstack/tomcat.json | 46 +++++ samples/cartridges/openstack/tomcat1.json | 47 +++++ samples/cartridges/openstack/tomcat2.json | 47 +++++ 265 files changed, 11366 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app-with-lb/artifacts/application_definition.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app-with-lb/artifacts/application_definition.json b/samples/applications/complex-app-with-lb/artifacts/application_definition.json new file mode 100644 index 0000000..c1262c2 --- /dev/null +++ b/samples/applications/complex-app-with-lb/artifacts/application_definition.json @@ -0,0 +1,108 @@ +{ + "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": "lb", + "cartridgeMin": 1, + "cartridgeMax": 2, + "subscribableInfo": { + "alias": "mylb", + "autoscalingPolicy": "autoscale_policy_1" + } + }, + { + "type": "tomcat2", + "cartridgeMin": 1, + "cartridgeMax": 2, + "subscribableInfo": { + "alias": "mytomcat", + "autoscalingPolicy": "autoscale_policy_1" + } + } + + ], + "dependencies": { + "startupOrders": [ + "cartridge.tomcat2,cartridge.lb,group.group6" + ], + "terminationBehaviour": "terminate-all" + } + } +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app-with-lb/artifacts/autoscale-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app-with-lb/artifacts/autoscale-policy.json b/samples/applications/complex-app-with-lb/artifacts/autoscale-policy.json new file mode 100755 index 0000000..a921663 --- /dev/null +++ b/samples/applications/complex-app-with-lb/artifacts/autoscale-policy.json @@ -0,0 +1,14 @@ +{ + "id": "autoscale_policy_2", + "loadThresholds": { + "requestsInFlight": { + "threshold": 80 + }, + "memoryConsumption": { + "threshold": 90 + }, + "loadAverage": { + "threshold": 50 + } + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app-with-lb/iaases/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app-with-lb/iaases/deploy.sh b/samples/applications/complex-app-with-lb/iaases/deploy.sh new file mode 100755 index 0000000..a63308d --- /dev/null +++ b/samples/applications/complex-app-with-lb/iaases/deploy.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +export iaas="mock" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../cartridges/${iaas}" +export cartridges_groups_path="../../../../cartridges-groups" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding load balancer +echo "Adding load balancer..." +curl -X POST -H "Content-Type: application/json" -d @'artifacts/lb.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat1 cartridge + echo "Adding tomcat1 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat1.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat2 cartridge +echo "Adding tomcat2 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat2.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c +echo "Adding group6c group..." +curl -X POST -H "Content-Type: application/json" -d @'artifacts/group6c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups + + # Adding group8c +echo "Adding group8c group..." +curl -X POST -H "Content-Type: application/json" -d @'artifacts/group8c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application_definition.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 3 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/deployment-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/deploy http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app-with-lb/iaases/mock/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app-with-lb/iaases/mock/artifacts/deployment-policy.json b/samples/applications/complex-app-with-lb/iaases/mock/artifacts/deployment-policy.json new file mode 100644 index 0000000..7ce7fd7 --- /dev/null +++ b/samples/applications/complex-app-with-lb/iaases/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": "mylb", + "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/1c966cbc/samples/applications/complex-app-with-lb/iaases/mock/artifacts/lb.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app-with-lb/iaases/mock/artifacts/lb.json b/samples/applications/complex-app-with-lb/iaases/mock/artifacts/lb.json new file mode 100755 index 0000000..9dd9b4a --- /dev/null +++ b/samples/applications/complex-app-with-lb/iaases/mock/artifacts/lb.json @@ -0,0 +1,46 @@ +{ + "type": "lb", + "provider": "apache", + "category": "lb", + "host": "isuruh.lk", + "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/1c966cbc/samples/applications/complex-app-with-lb/iaases/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app-with-lb/iaases/undeploy.sh b/samples/applications/complex-app-with-lb/iaases/undeploy.sh new file mode 100755 index 0000000..c6a3a1a --- /dev/null +++ b/samples/applications/complex-app-with-lb/iaases/undeploy.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +export host_ip="localhost" + +set -e + +# Undeploying application +echo "Undeploying application..." +curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/undeploy + +sleep 5 + +# Deleting application +echo "Deleting application..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo + +# Removing groups +echo "Removing groups..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group8 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group6 + +# Removing cartridges +echo "Removing cartridges..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat1 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat2 + +# Removing load balancer +echo "Removing load balancer..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/lb + +# Removing autoscale policies +echo "Removing autoscale policies..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies/autoscale_policy_1 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/README.md ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/README.md b/samples/applications/complex-app/README.md new file mode 100644 index 0000000..117e787 --- /dev/null +++ b/samples/applications/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/1c966cbc/samples/applications/complex-app/artifacts/application-definition.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/artifacts/application-definition.json b/samples/applications/complex-app/artifacts/application-definition.json new file mode 100644 index 0000000..caa9668 --- /dev/null +++ b/samples/applications/complex-app/artifacts/application-definition.json @@ -0,0 +1,128 @@ +{ + "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", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat1-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ] + } + ], + "cartridges": [ + { + "type": "tomcat2", + "cartridgeMin": 1, + "cartridgeMax": 2, + "subscribableInfo": { + "alias": "group6tom", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat2-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ] + }, + { + "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", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat1-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ] + } + ], + "cartridges": [ + { + "type": "tomcat2", + "cartridgeMin": 1, + "cartridgeMax": 2, + "subscribableInfo": { + "alias": "group8tom", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat2-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ] + } + ], + "cartridges": [ + { + "type": "tomcat", + "cartridgeMin": 1, + "cartridgeMax": 2, + "subscribableInfo": { + "alias": "mytomcat", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ], + "dependencies": { + "startupOrders": [ + "group.group8,cartridge.tomcat,group.group6" + ], + "terminationBehaviour": "terminate-all" + } + } +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/artifacts/autoscale-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/artifacts/autoscale-policy.json b/samples/applications/complex-app/artifacts/autoscale-policy.json new file mode 100755 index 0000000..9e9ad99 --- /dev/null +++ b/samples/applications/complex-app/artifacts/autoscale-policy.json @@ -0,0 +1,14 @@ +{ + "id": "autoscale_policy_1", + "loadThresholds": { + "requestsInFlight": { + "threshold": 80 + }, + "memoryConsumption": { + "threshold": 90 + }, + "loadAverage": { + "threshold": 50 + } + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/ec2/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/ec2/artifacts/deployment-policy.json b/samples/applications/complex-app/iaases/ec2/artifacts/deployment-policy.json new file mode 100644 index 0000000..2aac579 --- /dev/null +++ b/samples/applications/complex-app/iaases/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/1c966cbc/samples/applications/complex-app/iaases/ec2/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/ec2/deploy.sh b/samples/applications/complex-app/iaases/ec2/deploy.sh new file mode 100755 index 0000000..d38d611 --- /dev/null +++ b/samples/applications/complex-app/iaases/ec2/deploy.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +export iaas="ec2" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../cartridges/${iaas}" +export cartridges_groups_path="../../../../cartridges-groups" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat1 cartridge +echo "Adding tomcat1 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat1.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat2 cartridge +echo "Adding tomcat2 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat2.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c +echo "Adding group6c group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups + + # Adding group8c +echo "Adding group8c group..." +curl -X POST -H "Content-Type: application/json" -d @'group8c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application-definition.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 5 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/deployment-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/deploy http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/ec2/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/ec2/undeploy.sh b/samples/applications/complex-app/iaases/ec2/undeploy.sh new file mode 100644 index 0000000..16209a9 --- /dev/null +++ b/samples/applications/complex-app/iaases/ec2/undeploy.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +export host_ip="localhost" + +set -e + +# Undeploying application +echo "Undeploying application..." +curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/undeploy + +sleep 10 + +# Deleting application +echo "Deleting application..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo + +# Removing groups +echo "Removing groups..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group8 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group6 + +# Removing cartridges +echo "Removing cartridges..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat1 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat2 + +# Removing autoscale policies +echo "Removing autoscale policies..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies/autoscale_policy_1 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/kubernetes/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/kubernetes/artifacts/deployment-policy.json b/samples/applications/complex-app/iaases/kubernetes/artifacts/deployment-policy.json new file mode 100644 index 0000000..82a3b40 --- /dev/null +++ b/samples/applications/complex-app/iaases/kubernetes/artifacts/deployment-policy.json @@ -0,0 +1,72 @@ +{ + "applicationId": "app_boo", + "applicationPolicy": { + "networkPartition": [ + { + "id":"network-p1", + "kubernetesClusterId":"kubernetes-cluster-1", + "activeByDefault": "true", + "partitions": [ + { + "id": "P1", + "provider": "mock", + "property": [ + { + "name": "region", + "value": "default" + } + ] + } + ] + } + ] + }, + "childPolicies": [ + { + "alias": "mytomcat", + "networkPartition": [ + { + "id": "network-p1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + }, + { + "alias": "mygroup6", + "networkPartition": [ + { + "id": "network-p1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + }, + { + "alias": "mygroup8", + "networkPartition": [ + { + "id": "network-p1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + } + ] +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/kubernetes/artifacts/kubernetes-cluster.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/kubernetes/artifacts/kubernetes-cluster.json b/samples/applications/complex-app/iaases/kubernetes/artifacts/kubernetes-cluster.json new file mode 100644 index 0000000..228eeb3 --- /dev/null +++ b/samples/applications/complex-app/iaases/kubernetes/artifacts/kubernetes-cluster.json @@ -0,0 +1,55 @@ +{ + "clusterId": "kubernetes-cluster-1", + "description": "Kubernetes CoreOS cluster", + "kubernetesMaster": { + "hostId" : "KubHostMaster1", + "hostname" : "master.dev.kubernetes.example.org", + "hostIpAddress" : "172.17.8.100", + "property" : [ + ] + }, + + "portRange" : { + "upper": "5000", + "lower": "4500" + }, + + "kubernetesHosts": [ + { + "hostId" : "KubHostSlave1", + "hostname" : "slave1.dev.kubernetes.example.org", + "hostIpAddress" : "172.17.8.101", + "property" : [ + ] + }, + { + "hostId" : "KubHostSlave2", + "hostname" : "slave2.dev.kubernetes.example.org", + "hostIpAddress" : "172.17.8.102", + "property" : [ + ] + } + ], + "property":[ + { + "name":"payload_parameter.MB_IP", + "value":"172.17.8.1" + }, + { + "name":"payload_parameter.MB_PORT", + "value":"1883" + }, + { + "name":"payload_parameter.CEP_IP", + "value":"172.17.8.1" + }, + { + "name":"payload_parameter.CEP_PORT", + "value":"7711" + }, + { + "name":"payload_parameter.LOG_LEVEL", + "value":"DEBUG" + } + ] +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/kubernetes/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/kubernetes/deploy.sh b/samples/applications/complex-app/iaases/kubernetes/deploy.sh new file mode 100755 index 0000000..ef5a074 --- /dev/null +++ b/samples/applications/complex-app/iaases/kubernetes/deploy.sh @@ -0,0 +1,66 @@ +#!/bin/sh + +export iaas="ec2" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../cartridges/${iaas}" +export cartridges_groups_path="../../../../cartridges-groups" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat1 cartridge +echo "Adding tomcat1 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat1.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat2 cartridge +echo "Adding tomcat2 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat2.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + + +sleep 5 + +# Adding kubernetes cluster +echo "Adding kubernetes cluster..." +curl -X POST -H "Content-Type: application/json" -d @'artifacts/kubernetes-cluster.json' -k -u admin:admin https://${host_ip}:9443/api/kubernetesClusters + +sleep 2 + + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c +echo "Adding group6c group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups + + # Adding group8c +echo "Adding group8c group..." +curl -X POST -H "Content-Type: application/json" -d @'group8c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application-definition.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 5 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/deployment-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/deploy http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/kubernetes/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/kubernetes/undeploy.sh b/samples/applications/complex-app/iaases/kubernetes/undeploy.sh new file mode 100644 index 0000000..8b2c07b --- /dev/null +++ b/samples/applications/complex-app/iaases/kubernetes/undeploy.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +export host_ip="localhost" + +set -e + +# Undeploying application +echo "Undeploying application..." +curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/undeploy + +sleep 5 + +# Deleting application +echo "Deleting application..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo + +# Removing groups +echo "Removing groups..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group8 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group6 + +# Removing cartridges +echo "Removing cartridges..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat1 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat2 + +# Removing kubernetes +echo "Removing kubernetes cluster..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/kubernetesClusters/kubernetes-cluster-1 + +# Removing autoscale policies +echo "Removing autoscale policies..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies/autoscale_policy_1 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/mock/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/mock/artifacts/deployment-policy.json b/samples/applications/complex-app/iaases/mock/artifacts/deployment-policy.json new file mode 100644 index 0000000..a2d0e3a --- /dev/null +++ b/samples/applications/complex-app/iaases/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/1c966cbc/samples/applications/complex-app/iaases/mock/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/mock/deploy.sh b/samples/applications/complex-app/iaases/mock/deploy.sh new file mode 100755 index 0000000..11d0707 --- /dev/null +++ b/samples/applications/complex-app/iaases/mock/deploy.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +export iaas="mock" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../cartridges/${iaas}" +export cartridges_groups_path="../../../../cartridges-groups" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat1 cartridge +echo "Adding tomcat1 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat1.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat2 cartridge +echo "Adding tomcat2 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat2.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c +echo "Adding group6c group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups + + # Adding group8c +echo "Adding group8c group..." +curl -X POST -H "Content-Type: application/json" -d @'group8c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application-definition.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 5 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/deployment-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/deploy http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/mock/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/mock/undeploy.sh b/samples/applications/complex-app/iaases/mock/undeploy.sh new file mode 100644 index 0000000..3fe27b3 --- /dev/null +++ b/samples/applications/complex-app/iaases/mock/undeploy.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +export host_ip="localhost" + +set -e + +# Undeploying application +echo "Undeploying application..." +curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/undeploy + +sleep 5 + +# Deleting application +echo "Deleting application..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo + +# Removing groups +echo "Removing groups..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group8 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group6 + +# Removing cartridges +echo "Removing cartridges..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat1 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat2 + +# Removing autoscale policies +echo "Removing autoscale policies..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies/autoscale_policy_1 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/openstack/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/openstack/artifacts/deployment-policy.json b/samples/applications/complex-app/iaases/openstack/artifacts/deployment-policy.json new file mode 100644 index 0000000..173365a --- /dev/null +++ b/samples/applications/complex-app/iaases/openstack/artifacts/deployment-policy.json @@ -0,0 +1,71 @@ +{ + "applicationId": "app_boo", + "applicationPolicy": { + "networkPartition": [ + { + "id": "OS-P1", + "activeByDefault": "true", + "partitions": [ + { + "id": "P1", + "provider": "openstack", + "property": [ + { + "name": "region", + "value": "RegionOne" + } + ] + } + ] + } + ] + }, + "childPolicies": [ + { + "alias": "mytomcat", + "networkPartition": [ + { + "id": "OS-P1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + }, + { + "alias": "mygroup6", + "networkPartition": [ + { + "id": "OS-P1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + }, + { + "alias": "mygroup8", + "networkPartition": [ + { + "id": "OS-P1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + } + ] +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/openstack/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/openstack/deploy.sh b/samples/applications/complex-app/iaases/openstack/deploy.sh new file mode 100755 index 0000000..d4aa68a --- /dev/null +++ b/samples/applications/complex-app/iaases/openstack/deploy.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +export iaas="openstack" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../cartridges/${iaas}" +export cartridges_groups_path="../../../../cartridges-groups" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat1 cartridge +echo "Adding tomcat1 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat1.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding tomcat2 cartridge +echo "Adding tomcat2 cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat2.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c +echo "Adding group6c group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups + + # Adding group8c +echo "Adding group8c group..." +curl -X POST -H "Content-Type: application/json" -d @'group8c.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application-definition.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 5 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/deployment-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/deploy http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/complex-app/iaases/openstack/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/complex-app/iaases/openstack/undeploy.sh b/samples/applications/complex-app/iaases/openstack/undeploy.sh new file mode 100644 index 0000000..8b27fe2 --- /dev/null +++ b/samples/applications/complex-app/iaases/openstack/undeploy.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +export host_ip="localhost" + +set -e + +# Undeploying application +echo "Undeploying application..." +curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo/undeploy + +sleep 30 + +# Deleting application +echo "Deleting application..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_boo + +# Removing groups +echo "Removing groups..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group8 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups/group6 + +# Removing cartridges +echo "Removing cartridges..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat1 +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat2 + +# Removing autoscale policies +echo "Removing autoscale policies..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies/autoscale_policy_1 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/artifacts/app_dependency_scaling.json ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/artifacts/app_dependency_scaling.json b/samples/applications/dependency-scaling/sample-cartridges/artifacts/app_dependency_scaling.json new file mode 100644 index 0000000..0d8a9d2 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/artifacts/app_dependency_scaling.json @@ -0,0 +1,44 @@ +{ + "applicationId": "app_group_v1", + "alias": "mytestapp1", + "components": { + "cartridges": [ + { + "type": "tomcat", + "cartridgeMin": 1, + "cartridgeMax": 2, + "subscribableInfo": { + "alias": "mytomcat", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + }, + { + "type": "php", + "cartridgeMin": 2, + "cartridgeMax": 4, + "subscribableInfo": { + "alias": "myphp", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-php-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ], + "dependencies": { + "scalingDependants": [ + "cartridge.tomcat, cartridge.php" + ], + "terminationBehaviour": "terminate-none" + } + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/artifacts/autoscale-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/artifacts/autoscale-policy.json b/samples/applications/dependency-scaling/sample-cartridges/artifacts/autoscale-policy.json new file mode 100755 index 0000000..f065167 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/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/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/artifacts/dep_dependency_scaling.json ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/artifacts/dep_dependency_scaling.json b/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/artifacts/dep_dependency_scaling.json new file mode 100644 index 0000000..1fa241f --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/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": "myphp", + "networkPartition": [ + { + "id": "EC2-P1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 10 + } + ] + } + ] + } + ] +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/deploy.sh b/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/deploy.sh new file mode 100755 index 0000000..91f08b3 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/deploy.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +export iaas="ec2" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../../cartridges/${iaas}" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding php cartridge +echo "Adding php cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'php.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +sleep 2 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'app_dependency_scaling.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 2 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/dep_dependency_scaling.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_group_v1/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/undeploy.sh b/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/undeploy.sh new file mode 100644 index 0000000..c513607 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/ec2/undeploy.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +export host_ip="localhost" + +set -e + +# Undeploying application +echo "Undeploying application..." +curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_group_v1/undeploy + +sleep 30 + +# Deleting application +echo "Deleting application..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_group_v1 + +# Removing cartridges +echo "Removing cartridges..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/php + +# Removing autoscale policies +echo "Removing autoscale policies..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies/autoscale_policy_1 http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/dep_dependency_scaling.json ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/dep_dependency_scaling.json b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/dep_dependency_scaling.json new file mode 100644 index 0000000..5cbf891 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/dep_dependency_scaling.json @@ -0,0 +1,56 @@ +{ + "applicationId": "app_group_v1", + "applicationPolicy": { + "networkPartition": [ + { + "id":"network-p1", + "kubernetesClusterId":"kubernetes-cluster-1", + "activeByDefault": "true", + "partitions": [ + { + "id": "P1", + "provider": "kubernetes", + "property": [ + { + "name": "region", + "value": "default" + } + ] + } + ] + } + ] + }, + "childPolicies": [ + { + "alias": "mytomcat", + "networkPartition": [ + { + "id": "network-p1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + }, + { + "alias": "myphp", + "networkPartition": [ + { + "id": "network-p1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 10 + } + ] + } + ] + } + ] +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/kubernetes-cluster.json ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/kubernetes-cluster.json b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/kubernetes-cluster.json new file mode 100644 index 0000000..228eeb3 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/artifacts/kubernetes-cluster.json @@ -0,0 +1,55 @@ +{ + "clusterId": "kubernetes-cluster-1", + "description": "Kubernetes CoreOS cluster", + "kubernetesMaster": { + "hostId" : "KubHostMaster1", + "hostname" : "master.dev.kubernetes.example.org", + "hostIpAddress" : "172.17.8.100", + "property" : [ + ] + }, + + "portRange" : { + "upper": "5000", + "lower": "4500" + }, + + "kubernetesHosts": [ + { + "hostId" : "KubHostSlave1", + "hostname" : "slave1.dev.kubernetes.example.org", + "hostIpAddress" : "172.17.8.101", + "property" : [ + ] + }, + { + "hostId" : "KubHostSlave2", + "hostname" : "slave2.dev.kubernetes.example.org", + "hostIpAddress" : "172.17.8.102", + "property" : [ + ] + } + ], + "property":[ + { + "name":"payload_parameter.MB_IP", + "value":"172.17.8.1" + }, + { + "name":"payload_parameter.MB_PORT", + "value":"1883" + }, + { + "name":"payload_parameter.CEP_IP", + "value":"172.17.8.1" + }, + { + "name":"payload_parameter.CEP_PORT", + "value":"7711" + }, + { + "name":"payload_parameter.LOG_LEVEL", + "value":"DEBUG" + } + ] +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/deploy.sh b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/deploy.sh new file mode 100755 index 0000000..b1cfe3b --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/deploy.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +export iaas="kubernetes" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../../cartridges/${iaas}" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding php cartridge +echo "Adding php cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'php.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +sleep 3 + +# Adding kubernetes cluster +echo "Adding kubernetes cluster..." +curl -X POST -H "Content-Type: application/json" -d @'artifacts/kubernetes-cluster.json' -k -u admin:admin https://${host_ip}:9443/api/kubernetesClusters + +sleep 2 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'app_dependency_scaling.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 3 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/dep_dependency_scaling.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_group_v1/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/undeploy.sh b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/undeploy.sh new file mode 100644 index 0000000..b0980ee --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/kubernetes/undeploy.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +export host_ip="localhost" + +set -e + +# Undeploying application +echo "Undeploying application..." +curl -X POST -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_group_v1/undeploy + +sleep 5 + +# Deleting application +echo "Deleting application..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_group_v1 + +# Removing cartridges +echo "Removing cartridges..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/tomcat +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/cartridges/php + +# Removing kubernetes +echo "Removing kubernetes cluster..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/kubernetesClusters/kubernetes-cluster-1 + +# Removing autoscale policies +echo "Removing autoscale policies..." +curl -X DELETE -H "Content-Type: application/json" -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies/autoscale_policy_1 http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/mock/artifacts/dep_dependency_scaling.json ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/mock/artifacts/dep_dependency_scaling.json b/samples/applications/dependency-scaling/sample-cartridges/iaases/mock/artifacts/dep_dependency_scaling.json new file mode 100644 index 0000000..05b3a04 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/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/1c966cbc/samples/applications/dependency-scaling/sample-cartridges/iaases/mock/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/dependency-scaling/sample-cartridges/iaases/mock/deploy.sh b/samples/applications/dependency-scaling/sample-cartridges/iaases/mock/deploy.sh new file mode 100755 index 0000000..6b16c20 --- /dev/null +++ b/samples/applications/dependency-scaling/sample-cartridges/iaases/mock/deploy.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +export iaas="ec2" #[openstack, ec2, mock, kubernetes] +export host_ip="localhost" + +export artifacts_path="../../artifacts" +export cartridges_path="../../../../../cartridges/${iaas}" + +set -e + +# Adding autoscale policy +pushd ${artifacts_path} +echo "Adding autoscale policy..." +curl -X POST -H "Content-Type: application/json" -d @'autoscale-policy.json' -k -v -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges + + # Adding php cartridge +echo "Adding php cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'php.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +sleep 3 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'app_dependency_scaling.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications +popd + +sleep 3 + +# Deploy application +echo "Deploying application..." +curl -X POST -H "Content-Type: application/json" -d@'artifacts/dep_dependency_scaling.json' -k -v -u admin:admin https://${host_ip}:9443/api/applications/app_group_v1/deploy +
