http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/ec2/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/ec2/deploy.sh b/samples/applications/nested-group/iaases/ec2/deploy.sh new file mode 100755 index 0000000..1b9d183 --- /dev/null +++ b/samples/applications/nested-group/iaases/ec2/deploy.sh @@ -0,0 +1,53 @@ +#!/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 +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/myapp1265/deploy +
http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/ec2/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/ec2/undeploy.sh b/samples/applications/nested-group/iaases/ec2/undeploy.sh new file mode 100644 index 0000000..584c4d6 --- /dev/null +++ b/samples/applications/nested-group/iaases/ec2/undeploy.sh @@ -0,0 +1,29 @@ +#!/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/myapp1265/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/myapp1265 + +# Removing groups +echo "Removing groups..." +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/nested-group/iaases/kubernetes/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/kubernetes/artifacts/deployment-policy.json b/samples/applications/nested-group/iaases/kubernetes/artifacts/deployment-policy.json new file mode 100644 index 0000000..220f394 --- /dev/null +++ b/samples/applications/nested-group/iaases/kubernetes/artifacts/deployment-policy.json @@ -0,0 +1,56 @@ +{ + "applicationId": "myapp1265", + "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": "mygroup6", + "networkPartition": [ + { + "id": "network-p1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + } + ] +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/kubernetes/artifacts/kubernetes-cluster.json ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/kubernetes/artifacts/kubernetes-cluster.json b/samples/applications/nested-group/iaases/kubernetes/artifacts/kubernetes-cluster.json new file mode 100644 index 0000000..228eeb3 --- /dev/null +++ b/samples/applications/nested-group/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/nested-group/iaases/kubernetes/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/kubernetes/deploy.sh b/samples/applications/nested-group/iaases/kubernetes/deploy.sh new file mode 100755 index 0000000..370780b --- /dev/null +++ b/samples/applications/nested-group/iaases/kubernetes/deploy.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +export iaas="kubernetes" #[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 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 + +# 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 +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/myapp1265/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/kubernetes/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/kubernetes/undeploy.sh b/samples/applications/nested-group/iaases/kubernetes/undeploy.sh new file mode 100644 index 0000000..3d74bb7 --- /dev/null +++ b/samples/applications/nested-group/iaases/kubernetes/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/myapp1265/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/myapp1265 + +# Removing groups +echo "Removing groups..." +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/nested-group/iaases/mock/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/mock/artifacts/deployment-policy.json b/samples/applications/nested-group/iaases/mock/artifacts/deployment-policy.json new file mode 100644 index 0000000..2ab3665 --- /dev/null +++ b/samples/applications/nested-group/iaases/mock/artifacts/deployment-policy.json @@ -0,0 +1,55 @@ +{ + "applicationId": "myapp1265", + "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 + } + ] + } + ] + } + ] +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/mock/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/mock/deploy.sh b/samples/applications/nested-group/iaases/mock/deploy.sh new file mode 100755 index 0000000..6a8bef3 --- /dev/null +++ b/samples/applications/nested-group/iaases/mock/deploy.sh @@ -0,0 +1,53 @@ +#!/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_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 +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/myapp1265/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/mock/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/mock/undeploy.sh b/samples/applications/nested-group/iaases/mock/undeploy.sh new file mode 100644 index 0000000..be268be --- /dev/null +++ b/samples/applications/nested-group/iaases/mock/undeploy.sh @@ -0,0 +1,29 @@ +#!/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/myapp1265/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/myapp1265 + +# Removing groups +echo "Removing groups..." +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/nested-group/iaases/openstack/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/openstack/artifacts/deployment-policy.json b/samples/applications/nested-group/iaases/openstack/artifacts/deployment-policy.json new file mode 100644 index 0000000..e0fbcd1 --- /dev/null +++ b/samples/applications/nested-group/iaases/openstack/artifacts/deployment-policy.json @@ -0,0 +1,55 @@ +{ + "applicationId": "myapp1265", + "applicationPolicy": { + "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": "mygroup6", + "networkPartition": [ + { + "id": "openstack_R1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + } + ] +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/openstack/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/openstack/deploy.sh b/samples/applications/nested-group/iaases/openstack/deploy.sh new file mode 100755 index 0000000..2e987b1 --- /dev/null +++ b/samples/applications/nested-group/iaases/openstack/deploy.sh @@ -0,0 +1,53 @@ +#!/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 +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/myapp1265/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/nested-group/iaases/openstack/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/nested-group/iaases/openstack/undeploy.sh b/samples/applications/nested-group/iaases/openstack/undeploy.sh new file mode 100644 index 0000000..584c4d6 --- /dev/null +++ b/samples/applications/nested-group/iaases/openstack/undeploy.sh @@ -0,0 +1,29 @@ +#!/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/myapp1265/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/myapp1265 + +# Removing groups +echo "Removing groups..." +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/single-cartridge/README.md ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/README.md b/samples/applications/single-cartridge/README.md new file mode 100644 index 0000000..7025dff --- /dev/null +++ b/samples/applications/single-cartridge/README.md @@ -0,0 +1,8 @@ +single_cartridge +================ +i) In this artifact sample you can find we have listed them as mock and openstack. + +ii) In this sample artifact, it deployed simple tomcat cartridge and start it. + +iii) You can choose the IaaS and navigate to it and simply run the single_cartridge.sh file. It'll deploy the relevant artifacts and start the application. + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/artifacts/application-signup.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/artifacts/application-signup.json b/samples/applications/single-cartridge/artifacts/application-signup.json new file mode 100644 index 0000000..138648e --- /dev/null +++ b/samples/applications/single-cartridge/artifacts/application-signup.json @@ -0,0 +1,18 @@ +{ + "artifactRepositories":[ + { + "alias":"php", + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-php-applications.git", + "repoUsername":"", + "repoPassword":"" + }, + { + "alias":"tomcat", + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat-applications.git", + "repoUsername":"", + "repoPassword":"" + } + ] +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/artifacts/application.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/artifacts/application.json b/samples/applications/single-cartridge/artifacts/application.json new file mode 100644 index 0000000..8dc17f5 --- /dev/null +++ b/samples/applications/single-cartridge/artifacts/application.json @@ -0,0 +1,24 @@ +{ + "applicationId":"single-cartridge-app", + "alias":"single-cartridge-app", + "multiTenant":true, + "components":{ + "cartridges":[ + { + "type":"tomcat", + "cartridgeMin": 1, + "cartridgeMax": 10, + "subscribableInfo":{ + "alias":"tomcat", + "autoscalingPolicy":"autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ] + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/artifacts/autoscale-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/artifacts/autoscale-policy.json b/samples/applications/single-cartridge/artifacts/autoscale-policy.json new file mode 100644 index 0000000..431c11f --- /dev/null +++ b/samples/applications/single-cartridge/artifacts/autoscale-policy.json @@ -0,0 +1,14 @@ +{ + "id": "autoscale_policy_1", + "loadThresholds": { + "requestsInFlight": { + "threshold": 50 + }, + "memoryConsumption": { + "threshold": 40 + }, + "loadAverage": { + "threshold": 40 + } + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/artifacts/domain-mappings.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/artifacts/domain-mappings.json b/samples/applications/single-cartridge/artifacts/domain-mappings.json new file mode 100644 index 0000000..2b96d58 --- /dev/null +++ b/samples/applications/single-cartridge/artifacts/domain-mappings.json @@ -0,0 +1,9 @@ +{ + "domainMappings": [ + { + "cartridgeAlias":"tomcat", + "domainName":"abc.com", + "contextPath":"/abc/app" + } + ] +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/artifacts/network-partition.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/artifacts/network-partition.json b/samples/applications/single-cartridge/artifacts/network-partition.json new file mode 100644 index 0000000..c9334c6 --- /dev/null +++ b/samples/applications/single-cartridge/artifacts/network-partition.json @@ -0,0 +1,16 @@ +{ + "id": "network-p1", + "activeByDefault": "true", + "partitions": [ + { + "id": "p1", + "provider": "mock", + "property": [ + { + "name": "region", + "value": "default" + } + ] + } + ] +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/ec2/artifacts/dep_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/ec2/artifacts/dep_single_group.json b/samples/applications/single-cartridge/iaases/ec2/artifacts/dep_single_group.json new file mode 100644 index 0000000..eacc2eb --- /dev/null +++ b/samples/applications/single-cartridge/iaases/ec2/artifacts/dep_single_group.json @@ -0,0 +1,41 @@ +{ + "applicationId": "single-cartridge-app", + "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": 8 + } + ] + } + ] + } + ] +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/ec2/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/ec2/deploy.sh b/samples/applications/single-cartridge/iaases/ec2/deploy.sh new file mode 100755 index 0000000..2272655 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/ec2/deploy.sh @@ -0,0 +1,39 @@ +#!/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 -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +sleep 1 + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application.json' -k -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/dep_single_group.json' -k -u admin:admin https://${host_ip}:9443/api/applications/single-cartridge-app/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/ec2/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/ec2/undeploy.sh b/samples/applications/single-cartridge/iaases/ec2/undeploy.sh new file mode 100644 index 0000000..993970f --- /dev/null +++ b/samples/applications/single-cartridge/iaases/ec2/undeploy.sh @@ -0,0 +1,23 @@ +#!/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/single-cartridge-app/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/single-cartridge-app + +# 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 + +# 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/single-cartridge/iaases/kubernetes/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/kubernetes/artifacts/deployment-policy.json b/samples/applications/single-cartridge/iaases/kubernetes/artifacts/deployment-policy.json new file mode 100644 index 0000000..a85c0f2 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/kubernetes/artifacts/deployment-policy.json @@ -0,0 +1,40 @@ +{ + "applicationPolicy":{ + "networkPartition":[ + { + "id":"network-p1", + "kubernetesClusterId":"kubernetes-cluster-1", + "activeByDefault":"true", + "partitions":[ + { + "id":"p1", + "provider":"kubernetes", + "property":[ + { + "name":"region", + "value":"default" + } + ] + } + ] + } + ] + }, + "childPolicies":[ + { + "alias":"php", + "networkPartition":[ + { + "id":"network-p1", + "partitionAlgo":"one-after-another", + "partitions":[ + { + "id":"p1", + "max":5 + } + ] + } + ] + } + ] +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/kubernetes/artifacts/kubernetes-cluster.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/kubernetes/artifacts/kubernetes-cluster.json b/samples/applications/single-cartridge/iaases/kubernetes/artifacts/kubernetes-cluster.json new file mode 100644 index 0000000..228eeb3 --- /dev/null +++ b/samples/applications/single-cartridge/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/single-cartridge/iaases/kubernetes/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/kubernetes/deploy.sh b/samples/applications/single-cartridge/iaases/kubernetes/deploy.sh new file mode 100755 index 0000000..b8b9f98 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/kubernetes/deploy.sh @@ -0,0 +1,45 @@ +#!/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 -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +sleep 1 + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -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 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application.json' -k -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 -u admin:admin https://${host_ip}:9443/api/applications/single-cartridge-app/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/kubernetes/get-application.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/kubernetes/get-application.sh b/samples/applications/single-cartridge/iaases/kubernetes/get-application.sh new file mode 100755 index 0000000..f7c30cb --- /dev/null +++ b/samples/applications/single-cartridge/iaases/kubernetes/get-application.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/applications/$1 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/kubernetes/get-deployment-policy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/kubernetes/get-deployment-policy.sh b/samples/applications/single-cartridge/iaases/kubernetes/get-deployment-policy.sh new file mode 100755 index 0000000..ec88eed --- /dev/null +++ b/samples/applications/single-cartridge/iaases/kubernetes/get-deployment-policy.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/applications/$1/deploymentPolicy http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/kubernetes/list-applications.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/kubernetes/list-applications.sh b/samples/applications/single-cartridge/iaases/kubernetes/list-applications.sh new file mode 100755 index 0000000..6607a8c --- /dev/null +++ b/samples/applications/single-cartridge/iaases/kubernetes/list-applications.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +curl -X GET -H "Content-Type: application/json" -k -v -u admin:admin https://localhost:9443/api/applications \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/kubernetes/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/kubernetes/undeploy.sh b/samples/applications/single-cartridge/iaases/kubernetes/undeploy.sh new file mode 100644 index 0000000..f464eb8 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/kubernetes/undeploy.sh @@ -0,0 +1,27 @@ +#!/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/single-cartridge-app/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/single-cartridge-app + +# 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 + +# 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/single-cartridge/iaases/mock/add-domain-mappings.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/mock/add-domain-mappings.sh b/samples/applications/single-cartridge/iaases/mock/add-domain-mappings.sh new file mode 100755 index 0000000..8b2e148 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/mock/add-domain-mappings.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +export host_ip="localhost" +export artifacts_path="../../artifacts" + +pushd ${artifacts_path} +echo "Adding domain mappings..." +curl -X POST -H "Content-Type: application/json" -d @'domain-mappings.json' -k -u admin:admin https://${host_ip}:9443/api/applications/single-cartridge-app/domainMappings +popd \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/mock/add-network-partition.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/mock/add-network-partition.sh b/samples/applications/single-cartridge/iaases/mock/add-network-partition.sh new file mode 100644 index 0000000..3b17a27 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/mock/add-network-partition.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +export host_ip="localhost" +export artifacts_path="../../artifacts" + +pushd ${artifacts_path} +echo "Adding network partition..." +curl -X POST -H "Content-Type: application/json" -d @'network-partition.json' -kv -u admin:admin https://${host_ip}:9443/api/networkPartitions +popd \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/mock/artifacts/deployment-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/mock/artifacts/deployment-policy.json b/samples/applications/single-cartridge/iaases/mock/artifacts/deployment-policy.json new file mode 100644 index 0000000..76768bd --- /dev/null +++ b/samples/applications/single-cartridge/iaases/mock/artifacts/deployment-policy.json @@ -0,0 +1,41 @@ +{ + "applicationId":"single-cartridge-app", + "applicationPolicy": { + "networkPartition": [ + { + "id": "network-p1", + "activeByDefault": "true", + "partitions": [ + { + "id": "p1", + "provider": "mock", + "property": [ + { + "name": "region", + "value": "default" + } + ] + } + ] + } + ] + }, + "childPolicies": [ + { + "alias": "tomcat", + "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/single-cartridge/iaases/mock/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/mock/deploy.sh b/samples/applications/single-cartridge/iaases/mock/deploy.sh new file mode 100755 index 0000000..6514ed0 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/mock/deploy.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +export iaas="mock" #[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 -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +sleep 1 + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application.json' -k -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 -u admin:admin https://${host_ip}:9443/api/applications/single-cartridge-app/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/mock/list-domain-mappings.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/mock/list-domain-mappings.sh b/samples/applications/single-cartridge/iaases/mock/list-domain-mappings.sh new file mode 100755 index 0000000..4bbfcb5 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/mock/list-domain-mappings.sh @@ -0,0 +1,2 @@ +echo "Listing domain mappings..." +curl -X GET -H "Content-Type: application/json" -k -u admin:admin https://localhost:9443/api/applications/single-cartridge-app/domainMappings \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/mock/list-network-partition.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/mock/list-network-partition.sh b/samples/applications/single-cartridge/iaases/mock/list-network-partition.sh new file mode 100644 index 0000000..ed2b301 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/mock/list-network-partition.sh @@ -0,0 +1,2 @@ +echo "Listing network partitions..." +curl -X GET -H "Content-Type: application/json" -k -u admin:admin https://localhost:9443/api/networkPartitions \ No newline at end of file http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/mock/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/mock/undeploy.sh b/samples/applications/single-cartridge/iaases/mock/undeploy.sh new file mode 100644 index 0000000..9f9670c --- /dev/null +++ b/samples/applications/single-cartridge/iaases/mock/undeploy.sh @@ -0,0 +1,23 @@ +#!/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/single-cartridge-app/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/single-cartridge-app + +# 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 + +# 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/single-cartridge/iaases/openstack/artifacts/dep_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/openstack/artifacts/dep_single_group.json b/samples/applications/single-cartridge/iaases/openstack/artifacts/dep_single_group.json new file mode 100644 index 0000000..75ec7a3 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/openstack/artifacts/dep_single_group.json @@ -0,0 +1,41 @@ +{ + "applicationId": "single-cartridge-app", + "applicationPolicy": { + "networkPartition": [ + { + "id": "openstack_R1", + "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": 8 + } + ] + } + ] + } + ] +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/openstack/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/openstack/deploy.sh b/samples/applications/single-cartridge/iaases/openstack/deploy.sh new file mode 100755 index 0000000..6681e27 --- /dev/null +++ b/samples/applications/single-cartridge/iaases/openstack/deploy.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +export iaas="openstack" #[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 -u admin:admin https://${host_ip}:9443/api/autoscalingPolicies +popd + +sleep 1 + +# Adding cartridges +pushd ${cartridges_path} + # Adding tomcat cartridge +echo "Adding tomcat cartridge..." +curl -X POST -H "Content-Type: application/json" -d @'tomcat.json' -k -u admin:admin https://${host_ip}:9443/api/cartridges +popd + +sleep 5 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'application.json' -k -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/dep_single_group.json' -k -u admin:admin https://${host_ip}:9443/api/applications/single-cartridge-app/deploy + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-cartridge/iaases/openstack/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-cartridge/iaases/openstack/undeploy.sh b/samples/applications/single-cartridge/iaases/openstack/undeploy.sh new file mode 100644 index 0000000..993970f --- /dev/null +++ b/samples/applications/single-cartridge/iaases/openstack/undeploy.sh @@ -0,0 +1,23 @@ +#!/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/single-cartridge-app/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/single-cartridge-app + +# 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 + +# 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/single-group-group-scaling/artifacts/app_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/artifacts/app_single_group.json b/samples/applications/single-group-group-scaling/artifacts/app_single_group.json new file mode 100644 index 0000000..e3792c7 --- /dev/null +++ b/samples/applications/single-group-group-scaling/artifacts/app_single_group.json @@ -0,0 +1,32 @@ +{ + "applicationId": "app_group_v1", + "alias": "mytestapp1", + "components": { + "groups": [ + { + "name": "group6", + "alias": "mygroup6", + "groupMinInstances": 1, + "groupMaxInstances": 3, + "cartridges": [ + { + "type": "tomcat", + "cartridgeMin": 1, + "cartridgeMax": 4, + "subscribableInfo": { + "alias": "tom1group6", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ] + } + ] + } +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-group-group-scaling/artifacts/autoscale-policy.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/artifacts/autoscale-policy.json b/samples/applications/single-group-group-scaling/artifacts/autoscale-policy.json new file mode 100755 index 0000000..dcebb1e --- /dev/null +++ b/samples/applications/single-group-group-scaling/artifacts/autoscale-policy.json @@ -0,0 +1,14 @@ +{ + "id": "autoscale_policy_1", + "loadThresholds": { + "requestsInFlight": { + "threshold": 80 + }, + "memoryConsumption": { + "threshold": 40 + }, + "loadAverage": { + "threshold": 40 + } + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-group-group-scaling/iaases/ec2/artifacts/dep_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/ec2/artifacts/dep_single_group.json b/samples/applications/single-group-group-scaling/iaases/ec2/artifacts/dep_single_group.json new file mode 100644 index 0000000..566c5f3 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/ec2/artifacts/dep_single_group.json @@ -0,0 +1,41 @@ +{ + "applicationId": "app_group_v1", + "applicationPolicy": { + "networkPartition": [ + { + "id": "EC-P1", + "activeByDefault": "true", + "partitions": [ + { + "id": "P1", + "provider": "ec2", + "property": [ + { + "name": "region", + "value": "ap-southeast-1" + } + ] + } + ] + } + ] + }, + "childPolicies": [ + { + "alias": "mygroup6", + "networkPartition": [ + { + "id": "EC-P1", + "partitionAlgo": "one-after-another", + "partitions": [ + { + "id": "P1", + "max": 5 + } + ] + } + ] + } + ] +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-group-group-scaling/iaases/ec2/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/ec2/deploy.sh b/samples/applications/single-group-group-scaling/iaases/ec2/deploy.sh new file mode 100755 index 0000000..aa93738 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/ec2/deploy.sh @@ -0,0 +1,46 @@ +#!/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 +popd + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c4 +echo "Adding group6c4 group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c4.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 3 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'app_single_group.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_single_group.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/single-group-group-scaling/iaases/ec2/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/ec2/undeploy.sh b/samples/applications/single-group-group-scaling/iaases/ec2/undeploy.sh new file mode 100644 index 0000000..21a9f4b --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/ec2/undeploy.sh @@ -0,0 +1,27 @@ +#!/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 groups +echo "Removing groups..." +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 + +# 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/single-group-group-scaling/iaases/kubernetes/artifacts/dep_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/kubernetes/artifacts/dep_single_group.json b/samples/applications/single-group-group-scaling/iaases/kubernetes/artifacts/dep_single_group.json new file mode 100644 index 0000000..ca8423c --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/kubernetes/artifacts/dep_single_group.json @@ -0,0 +1,42 @@ +{ + "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": "mygroup6", + "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/single-group-group-scaling/iaases/kubernetes/artifacts/kubernetes-cluster.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/kubernetes/artifacts/kubernetes-cluster.json b/samples/applications/single-group-group-scaling/iaases/kubernetes/artifacts/kubernetes-cluster.json new file mode 100644 index 0000000..228eeb3 --- /dev/null +++ b/samples/applications/single-group-group-scaling/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/single-group-group-scaling/iaases/kubernetes/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/kubernetes/deploy.sh b/samples/applications/single-group-group-scaling/iaases/kubernetes/deploy.sh new file mode 100755 index 0000000..0014787 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/kubernetes/deploy.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +export iaas="kubernetes" #[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 +popd + +sleep 3 + +# Adding kubernetes cluster +pushd ${cartridges_groups_path} +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 +popd + +sleep 2 + +# Adding groups + # Adding group6c4 +echo "Adding group6c4 group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c4.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups + +sleep 3 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'app_single_group.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_single_group.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/single-group-group-scaling/iaases/kubernetes/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/kubernetes/undeploy.sh b/samples/applications/single-group-group-scaling/iaases/kubernetes/undeploy.sh new file mode 100644 index 0000000..2a7f7c7 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/kubernetes/undeploy.sh @@ -0,0 +1,31 @@ +#!/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 groups +echo "Removing groups..." +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 + +# 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/single-group-group-scaling/iaases/mock/artifacts/dep_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/mock/artifacts/dep_single_group.json b/samples/applications/single-group-group-scaling/iaases/mock/artifacts/dep_single_group.json new file mode 100644 index 0000000..4ac69f9 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/mock/artifacts/dep_single_group.json @@ -0,0 +1,41 @@ +{ + "applicationId": "app_group_v1", + "applicationPolicy": { + "networkPartition": [ + { + "id": "openstack_R1", + "activeByDefault": "true", + "partitions": [ + { + "id": "P1", + "provider": "mock", + "property": [ + { + "name": "region", + "value": "RegionOne" + } + ] + } + ] + } + ] + }, + "childPolicies": [ + { + "alias": "mygroup6", + "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/single-group-group-scaling/iaases/mock/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/mock/deploy.sh b/samples/applications/single-group-group-scaling/iaases/mock/deploy.sh new file mode 100755 index 0000000..ab98818 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/mock/deploy.sh @@ -0,0 +1,46 @@ +#!/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 +popd + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c4 +echo "Adding group6c4 group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c4.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 3 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'app_single_group.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_single_group.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/single-group-group-scaling/iaases/mock/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/mock/undeploy.sh b/samples/applications/single-group-group-scaling/iaases/mock/undeploy.sh new file mode 100644 index 0000000..f000a76 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/mock/undeploy.sh @@ -0,0 +1,27 @@ +#!/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 groups +echo "Removing groups..." +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 + +# 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/single-group-group-scaling/iaases/openstack/artifacts/dep_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/openstack/artifacts/dep_single_group.json b/samples/applications/single-group-group-scaling/iaases/openstack/artifacts/dep_single_group.json new file mode 100644 index 0000000..dd4d8c3 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/openstack/artifacts/dep_single_group.json @@ -0,0 +1,41 @@ +{ + "applicationId": "app_group_v1", + "applicationPolicy": { + "networkPartition": [ + { + "id": "openstack_R1", + "activeByDefault": "true", + "partitions": [ + { + "id": "P1", + "provider": "openstack", + "property": [ + { + "name": "region", + "value": "RegionOne" + } + ] + } + ] + } + ] + }, + "childPolicies": [ + { + "alias": "mygroup6", + "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/single-group-group-scaling/iaases/openstack/deploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/openstack/deploy.sh b/samples/applications/single-group-group-scaling/iaases/openstack/deploy.sh new file mode 100755 index 0000000..7bdb746 --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/openstack/deploy.sh @@ -0,0 +1,46 @@ +#!/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 +popd + +# Adding groups +pushd ${cartridges_groups_path} + # Adding group6c4 +echo "Adding group6c4 group..." +curl -X POST -H "Content-Type: application/json" -d @'group6c4.json' -k -v -u admin:admin https://${host_ip}:9443/api/cartridgeGroups +popd + +sleep 3 + +# Creating application +pushd ${artifacts_path} +echo "Creating application..." +curl -X POST -H "Content-Type: application/json" -d @'app_single_group.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_single_group.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/single-group-group-scaling/iaases/openstack/undeploy.sh ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-group-scaling/iaases/openstack/undeploy.sh b/samples/applications/single-group-group-scaling/iaases/openstack/undeploy.sh new file mode 100644 index 0000000..21a9f4b --- /dev/null +++ b/samples/applications/single-group-group-scaling/iaases/openstack/undeploy.sh @@ -0,0 +1,27 @@ +#!/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 groups +echo "Removing groups..." +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 + +# 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/single-group-v1/README.md ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-v1/README.md b/samples/applications/single-group-v1/README.md new file mode 100644 index 0000000..33a7903 --- /dev/null +++ b/samples/applications/single-group-v1/README.md @@ -0,0 +1,7 @@ +single_group_v1 +============== + +i) Using these artifacts you can deploy the single group application. + +ii) You can simply run the single_group.sh script to deploy the single group application. + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-group-v1/artifacts/app_single_group.json ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-v1/artifacts/app_single_group.json b/samples/applications/single-group-v1/artifacts/app_single_group.json new file mode 100644 index 0000000..cc4d5ce --- /dev/null +++ b/samples/applications/single-group-v1/artifacts/app_single_group.json @@ -0,0 +1,55 @@ +{ + "applicationId": "app_group_v1", + "alias": "mytestapp1", + "components": { + "groups": [ + { + "name": "group6", + "alias": "mygroup6", + "groupMinInstances": 2, + "groupMaxInstances": 3, + "cartridges": [ + { + "type": "tomcat2", + "cartridgeMin": 1, + "cartridgeMax": 1, + "subscribableInfo": { + "alias": "tom2group6", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat2-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ] + } + ], + "cartridges": [ + { + "type": "tomcat", + "cartridgeMin": 1, + "cartridgeMax": 1, + "subscribableInfo": { + "alias": "mytomcat", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + } + ], + "dependencies": { + "startupOrders": [ + "group.group6,cartridge.tomcat" + ], + "terminationBehaviour": "terminate-none" + } + } +} + http://git-wip-us.apache.org/repos/asf/stratos/blob/1c966cbc/samples/applications/single-group-v1/artifacts/app_single_group.json-para ---------------------------------------------------------------------- diff --git a/samples/applications/single-group-v1/artifacts/app_single_group.json-para b/samples/applications/single-group-v1/artifacts/app_single_group.json-para new file mode 100644 index 0000000..589f0d9 --- /dev/null +++ b/samples/applications/single-group-v1/artifacts/app_single_group.json-para @@ -0,0 +1,64 @@ +{ + "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", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat2-applications.git", + "repoUsername":"", + "repoPassword":"" + } + } + }, + { + "type": "tomcat1", + "cartridgeMin": 1, + "cartridgeMax": 2, + "subscribableInfo": { + "alias": "tom1group6", + "autoscalingPolicy": "autoscale_policy_1", + "artifactRepository":{ + "privateRepo":false, + "repoUrl":"https://github.com/imesh/stratos-tomcat1-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":"" + } + } + } + ] + } +} +
