You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ma...@apache.org on 2013/08/20 09:30:17 UTC

[8/8] git commit: apache stratos installer created using stratos2 openstack installer

apache stratos installer created using stratos2 openstack installer

Signed-off-by: Manula Thantriwatte <ma...@wso2.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/c71457c0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/c71457c0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/c71457c0

Branch: refs/heads/master
Commit: c71457c084f483bb4f52d0a864bcd7c9047dd439
Parents: 245b690
Author: Imesh Gunaratne <im...@wso2.com>
Authored: Tue Aug 20 12:27:08 2013 +0530
Committer: Manula Thantriwatte <ma...@wso2.com>
Committed: Tue Aug 20 12:56:04 2013 +0530

----------------------------------------------------------------------
 tools/stratos-installer/LICENSE.txt             |  17 +
 tools/stratos-installer/LICENSE.txt~            |   4 +
 tools/stratos-installer/README.txt              |  66 ++
 tools/stratos-installer/README.txt~             |  66 ++
 tools/stratos-installer/cartridges/mysql.xml    |  46 +
 tools/stratos-installer/cartridges/php.xml      |  45 +
 tools/stratos-installer/clean.sh                | 112 +++
 tools/stratos-installer/clean.sh~               | 112 +++
 tools/stratos-installer/conf/setup.conf         | 198 +++++
 tools/stratos-installer/conf/setup.conf~        | 198 +++++
 .../config/agent/bin/stratos.sh                 | 298 +++++++
 .../agent/repository/conf/agent.properties      |  26 +
 .../config/agent/repository/conf/carbon.xml     | 583 +++++++++++++
 .../config/bam/bin/wso2server.sh                | 294 +++++++
 .../config/bam/repository/conf/carbon.xml       | 575 +++++++++++++
 .../conf/datasources/master-datasources.xml     | 106 +++
 .../repository/conf/etc/cassandra-component.xml |  24 +
 .../bam/repository/conf/etc/cassandra.yaml      | 542 ++++++++++++
 .../stratos-installer/config/cc/bin/stratos.sh  | 296 +++++++
 .../conf/advanced/qpid-virtualhosts.xml         |  69 ++
 .../config/cc/repository/conf/carbon.xml        | 583 +++++++++++++
 .../cc/repository/conf/cloud-controller.xml     |  86 ++
 .../cc/repository/deployment/server/mysql.xml   |  46 +
 .../cc/repository/deployment/server/php.xml     |  45 +
 .../stratos-installer/config/elb/bin/stratos.sh | 298 +++++++
 .../config/elb/repository/conf/axis2/axis2.xml  | 526 ++++++++++++
 .../conf/datasources/master-datasources.xml     |  87 ++
 .../elb/repository/conf/loadbalancer.conf       |  85 ++
 .../config/is/repository/conf/axis2/axis2.xml   | 713 ++++++++++++++++
 .../conf/datasources/master-datasources.xml     |  67 ++
 .../config/is/repository/conf/tenant-mgt.xml    |  37 +
 .../repository/conf/tomcat/catalina-server.xml  |  98 +++
 .../config/is/repository/conf/user-mgt.xml      | 245 ++++++
 .../stratos-installer/config/sc/bin/stratos.sh  | 298 +++++++
 .../config/sc/repository/conf/axis2/axis2.xml   | 721 ++++++++++++++++
 .../config/sc/repository/conf/carbon.xml        | 583 +++++++++++++
 .../repository/conf/cartridge-config.properties |  35 +
 .../conf/datasources/master-datasources.xml     | 107 +++
 .../conf/datasources/stratos-datasources.xml    |  51 ++
 .../sc/repository/conf/etc/logging-config.xml   |  39 +
 .../config/sc/repository/conf/log4j.properties  | 166 ++++
 .../resources/user-data/ssl-cert-snakeoil.key   |  16 +
 .../resources/user-data/ssl-cert-snakeoil.pem   |  14 +
 tools/stratos-installer/ec2-cartridge-setup.sh  |  39 +
 tools/stratos-installer/ec2-cartridge-setup.sh~ |  39 +
 tools/stratos-installer/imageupload.sh          | 101 +++
 tools/stratos-installer/imageupload.sh~         | 101 +++
 .../openstack-cartridge-setup.sh                | 123 +++
 .../openstack-cartridge-setup.sh~               | 123 +++
 .../resources/add_entry_zone_file.sh            |  50 ++
 .../resources/billing-mysql.sql                 | 124 +++
 .../stratos-installer/resources/db.stratos.com  |  15 +
 tools/stratos-installer/resources/git           |  74 ++
 .../resources/gitolite-suexec-wrapper.sh        |  10 +
 .../resources/metering_mysql.sql                | 153 ++++
 tools/stratos-installer/resources/notify.php    |  41 +
 tools/stratos-installer/resources/registry.sql  | 388 +++++++++
 .../resources/remove_entry_zone_file.sh         |  55 ++
 .../resources/stratos_foundation.sql            | 121 +++
 tools/stratos-installer/resources/userstore.sql | 388 +++++++++
 .../scripts/add_entry_zone_file.sh              |  50 ++
 .../scripts/copy-private-key.sh                 |  35 +
 tools/stratos-installer/scripts/create-app.sh   |  38 +
 .../scripts/git-folder-structure.sh             |  47 ++
 tools/stratos-installer/scripts/keygen.sh       |  32 +
 .../scripts/manage-git-repo.sh                  |  95 +++
 .../scripts/remove_entry_zone_file.sh           |  55 ++
 .../scripts/set-mysql-password.sh               |  35 +
 .../scripts/update-instance.sh                  |  34 +
 tools/stratos-installer/setup.sh                | 834 ++++++++++++++++++
 tools/stratos-installer/setup.sh~               | 836 +++++++++++++++++++
 tools/stratos-installer/start-servers.sh        | 149 ++++
 tools/stratos-installer/start-servers.sh~       | 149 ++++
 73 files changed, 12957 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/LICENSE.txt
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/LICENSE.txt b/tools/stratos-installer/LICENSE.txt
new file mode 100644
index 0000000..2342ce0
--- /dev/null
+++ b/tools/stratos-installer/LICENSE.txt
@@ -0,0 +1,17 @@
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/LICENSE.txt~
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/LICENSE.txt~ b/tools/stratos-installer/LICENSE.txt~
new file mode 100644
index 0000000..c62cd25
--- /dev/null
+++ b/tools/stratos-installer/LICENSE.txt~
@@ -0,0 +1,4 @@
+This product is licensed by WSO2 Inc. under Apache License 2.0. The license
+can be downloaded from the following locations:
+	http://www.apache.org/licenses/LICENSE-2.0.html
+	http://www.apache.org/licenses/LICENSE-2.0.txt

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/README.txt
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/README.txt b/tools/stratos-installer/README.txt
new file mode 100644
index 0000000..4afe592
--- /dev/null
+++ b/tools/stratos-installer/README.txt
@@ -0,0 +1,66 @@
+Apahe Stratos version 3.0.0
+---------------------------------
+
+20th August 2013
+Welcome to the Apache Stratos 3.0.0
+
+
+Important
+----------------------------------------
+
+Apache Stratos could be installed on a single node or on multiple nodes. If you are installing on
+multiple nodes copy stratos_installer to each node and update configuration parameters in conf/setup.conf accordingly.
+
+
+How to install
+----------------------------------------
+
+1. Install following prerequisites:
+
+    java    -jdk1.6.x
+    git
+    facter
+    zip
+    mysql-server
+    Gitblits    
+
+2. Build Apache Stratos from source:
+
+   git clone https://git-wip-us.apache.org/repos/asf/incubator-stratos.git
+   cd incubator-stratos
+   mvn clean install
+
+3. Copy cloud controller, stratos controller, elb, agent and cli packages to a folder inside stratos_installer. May be this could be called "stratos_installer/packages":
+    
+   apache-stratos-cc-<version>.zip 
+   apache-stratos-sc-<version>.zip
+   apache-stratos-elb-<version>.zip   
+   apache-stratos-agent-<version>.zip
+   apache-stratos-cli-<version>.zip    
+  
+4. Download MySql Java connector from http://dev.mysql.com/downloads and copy the jar file to the above packages folder.
+
+5. Create and download the keys from IaaSs and store them on a secure location.
+
+6. If Apache Stratos being setup in multiple nodes open up the security rules in IaaSs for the following ports (defined in ./conf/setup.conf)
+   22, 443, 8280, 4103, 4100, agent_https_port, agent_http_port, elb_port, agent_clustering_port, sc_cluster_port, elb_cluster_port,
+   cassandra_port, stratos_db_port and userstore_db_port.
+
+7. Prepare cartridge images and upload them to the IaaSs. Please refer Apache Stratos documentation for more information on creating cartridge images.
+
+8. Update ./conf/setup.conf and configure parameters. 
+
+9. Run setup.sh as root to install.
+
+    E.g -
+    sudo JAVA_HOME=<java-home-path> ./setup.sh -p"<product-list>"
+    <product-list> could be defined as "cc sc elb agent" or any other combination according to the deployment configuration.
+
+    If you need to clean the setup
+    clean.sh
+    E.g. -
+    sudo ./clean.sh -a<host-name> -b<host-username> -c<mysql-username> -d<mysql-password>
+
+---------------------------------------------------------------------------
+Thanks for using Apache Stratos
+Apache Stratos Team

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/README.txt~
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/README.txt~ b/tools/stratos-installer/README.txt~
new file mode 100644
index 0000000..4afe592
--- /dev/null
+++ b/tools/stratos-installer/README.txt~
@@ -0,0 +1,66 @@
+Apahe Stratos version 3.0.0
+---------------------------------
+
+20th August 2013
+Welcome to the Apache Stratos 3.0.0
+
+
+Important
+----------------------------------------
+
+Apache Stratos could be installed on a single node or on multiple nodes. If you are installing on
+multiple nodes copy stratos_installer to each node and update configuration parameters in conf/setup.conf accordingly.
+
+
+How to install
+----------------------------------------
+
+1. Install following prerequisites:
+
+    java    -jdk1.6.x
+    git
+    facter
+    zip
+    mysql-server
+    Gitblits    
+
+2. Build Apache Stratos from source:
+
+   git clone https://git-wip-us.apache.org/repos/asf/incubator-stratos.git
+   cd incubator-stratos
+   mvn clean install
+
+3. Copy cloud controller, stratos controller, elb, agent and cli packages to a folder inside stratos_installer. May be this could be called "stratos_installer/packages":
+    
+   apache-stratos-cc-<version>.zip 
+   apache-stratos-sc-<version>.zip
+   apache-stratos-elb-<version>.zip   
+   apache-stratos-agent-<version>.zip
+   apache-stratos-cli-<version>.zip    
+  
+4. Download MySql Java connector from http://dev.mysql.com/downloads and copy the jar file to the above packages folder.
+
+5. Create and download the keys from IaaSs and store them on a secure location.
+
+6. If Apache Stratos being setup in multiple nodes open up the security rules in IaaSs for the following ports (defined in ./conf/setup.conf)
+   22, 443, 8280, 4103, 4100, agent_https_port, agent_http_port, elb_port, agent_clustering_port, sc_cluster_port, elb_cluster_port,
+   cassandra_port, stratos_db_port and userstore_db_port.
+
+7. Prepare cartridge images and upload them to the IaaSs. Please refer Apache Stratos documentation for more information on creating cartridge images.
+
+8. Update ./conf/setup.conf and configure parameters. 
+
+9. Run setup.sh as root to install.
+
+    E.g -
+    sudo JAVA_HOME=<java-home-path> ./setup.sh -p"<product-list>"
+    <product-list> could be defined as "cc sc elb agent" or any other combination according to the deployment configuration.
+
+    If you need to clean the setup
+    clean.sh
+    E.g. -
+    sudo ./clean.sh -a<host-name> -b<host-username> -c<mysql-username> -d<mysql-password>
+
+---------------------------------------------------------------------------
+Thanks for using Apache Stratos
+Apache Stratos Team

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/cartridges/mysql.xml
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/cartridges/mysql.xml b/tools/stratos-installer/cartridges/mysql.xml
new file mode 100644
index 0000000..1c279f2
--- /dev/null
+++ b/tools/stratos-installer/cartridges/mysql.xml
@@ -0,0 +1,46 @@
+<!-- Use below section to specify properties that are needed in order to start Cartridges.  -->
+    <cartridges>
+
+        <!-- You can have 1..n cartridge elements. -->
+        <cartridge type="mysql" host="mysql.STRATOS_DOMAIN" provider="data" version="5.5" multiTenant="false">
+            <!-- cartridge element can have 0..n properties, and they'll be overwritten by the properties
+                 specified under iaasProvider child elements of cartridge element. -->
+
+            <displayName>MySQL Database</displayName>
+            <description>MySQL - The world's most popular open source database</description>
+            <!-- A cartridge element should add a reference to an existing IaaS provider (specified
+                 in the above &lt;iaasProviders&gt; section) or it can create a completely new IaaS
+                 Provider (which should have a unique "type" attribute. -->
+            <iaasProvider type="openstack" >
+                <imageId>nova/d6e5dbe9-f781-460d-b554-23a133a887cd</imageId>
+                <property name="keyPair" value="stratos-demo"/>
+                <property name="instanceType" value="nova/1"/>
+                <property name="securityGroups" value="default"/>
+                <!--<property name="payload" value="resources/as.txt"/>-->
+            </iaasProvider>
+            <!--<iaasProvider type="ec2" >
+                <imageId>us-east-1/ami-ef49e786</imageId>           
+                <property name="keyPair" value="aa"/>
+                <property name="securityGroups" value="default"/>
+                <property name="instanceType" value="m1.large"/>
+                <property name="payload" value="resources/as-ec2.txt"/>
+            </iaasProvider>-->
+            <deployment baseDir="/var/www">
+                <dir>public=copy#app#files#here</dir>
+                <dir>simplesamlphp=copy#saml#libraries#here</dir>
+            </deployment>
+	   <portMapping>
+               <http port="80" proxyPort="8280"/>
+               <https port="443" proxyPort="8243"/>
+           </portMapping>
+           <property name="sshPort" value="22"/>
+           <property name="dataPort" value="3306"/>
+            <!--<appTypes>
+                <property name="axis2services" isBothmapping="false"/>
+                <property name="webapps" isBothmapping="true"/>
+                <property name="jaxwebapps" isBothmapping="true"/>
+                <property name="jaggeryapps" isBothmapping="true"/>
+            </appTypes>-->
+        </cartridge>
+
+    </cartridges>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/cartridges/php.xml
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/cartridges/php.xml b/tools/stratos-installer/cartridges/php.xml
new file mode 100644
index 0000000..4f17159
--- /dev/null
+++ b/tools/stratos-installer/cartridges/php.xml
@@ -0,0 +1,45 @@
+<!-- Use below section to specify properties that are needed in order to start Cartridges.  -->
+    <cartridges>
+
+        <!-- You can have 1..n cartridge elements. -->
+        <cartridge type="php" host="php.STRATOS_DOMAIN" provider="zend-provider" version="5.5" multiTenant="false">
+            <!-- cartridge element can have 0..n properties, and they'll be overwritten by the properties
+                 specified under iaasProvider child elements of cartridge element. -->
+
+            <displayName>PHP</displayName>
+            <description>PHP Cartridge</description>
+            <!-- A cartridge element should add a reference to an existing IaaS provider (specified
+                 in the above &lt;iaasProviders&gt; section) or it can create a completely new IaaS
+                 Provider (which should have a unique "type" attribute. -->
+            <iaasProvider type="openstack" >
+                <imageId>nova/3a4000c8-0973-421a-94f8-dbfe8b7b5250</imageId>
+                <property name="keyPair" value="stratos-demo"/>
+                <property name="instanceType" value="nova/1"/>
+                <property name="securityGroups" value="default"/>
+                <!--<property name="payload" value="resources/as.txt"/>-->
+            </iaasProvider>
+            <!--<iaasProvider type="ec2" >
+                <imageId>us-east-1/ami-ef49e786</imageId>           
+                <property name="keyPair" value="aa"/>
+                <property name="securityGroups" value="default"/>
+                <property name="instanceType" value="m1.large"/>
+                <property name="payload" value="resources/as-ec2.txt"/>
+            </iaasProvider>-->
+            <deployment baseDir="/var/www">
+                <dir>www=copy#app#files#here</dir>
+                <dir>simplesamlphp=copy#saml#libraries#here</dir>
+		<dir>sql=copy#saml#libraries#here</dir>
+            </deployment>
+	   <portMapping>
+               <http port="80" proxyPort="8280"/>
+               <https port="443" proxyPort="8243"/>
+           </portMapping>
+            <!--<appTypes>
+                <property name="axis2services" isBothmapping="false"/>
+                <property name="webapps" isBothmapping="true"/>
+                <property name="jaxwebapps" isBothmapping="true"/>
+                <property name="jaggeryapps" isBothmapping="true"/>
+            </appTypes>-->
+        </cartridge>
+
+    </cartridges>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/clean.sh
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/clean.sh b/tools/stratos-installer/clean.sh
new file mode 100755
index 0000000..cd3087d
--- /dev/null
+++ b/tools/stratos-installer/clean.sh
@@ -0,0 +1,112 @@
+#!/bin/bash
+# ----------------------------------------------------------------------------
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#
+# ----------------------------------------------------------------------------
+#
+# This script is for cleaning the host machine where one or more of the Stratos servers are run.
+# Make sure the user is running as root.
+# ----------------------------------------------------------------------------
+
+
+if [ "$UID" -ne "0" ]; then
+	echo ; echo "  You must be root to run $0.  (Try running 'sudo bash' first.)" ; echo 
+	exit 69
+fi
+
+function help {
+    echo ""
+    echo "Clean the host machine where one or more of the Stratos2 servers are run."
+    echo "usage:"
+    echo "clean.sh -a<hostname> -b<stratos username> -c<mysql username> -d<mysql password>"
+    echo ""
+}
+
+while getopts a:b:c:d: opts
+do
+  case $opts in
+    a)
+        hostname=${OPTARG}
+        ;;
+    b)
+        host_user=${OPTARG}
+        ;;
+    c)
+        mysql_user=${OPTARG}
+        ;;
+    d)
+        mysql_pass=${OPTARG}
+        ;;
+    *)
+        help
+        exit 1
+        ;;
+  esac
+done
+
+function helpclean {
+    echo ""
+    echo "usage:"
+    echo "clean.sh -a<hostname> -b<stratos username> -c<mysql username> -d<mysql password>"
+    echo ""
+}
+
+function clean_validate {
+
+if [[ ( -z $hostname || -z $host_user || -z $mysql_user || -z $mysql_pass ) ]]; then
+    helpclean
+    exit 1
+fi
+}
+
+clean_validate
+
+if [[ -d /home/git ]]; then
+    deluser git
+    rm -fr /home/git
+fi
+mysql -u $mysql_user -p$mysql_pass -e "DROP DATABASE IF EXISTS stratos_foundation;"
+mysql -u $mysql_user -p$mysql_pass -e "DROP DATABASE IF EXISTS userstore;"
+#mysql -u $mysql_user -p$mysql_pass -e "DROP DATABASE IF EXISTS billing;"
+
+killall java
+sleep 15
+rm -rf $stratos_path/*
+rm -rf $log_path/*
+#rm -f /home/$host_user/.ssh/id_rsa
+
+#remove contents of upload folder
+if [[ -d /home/$host_user/upload ]]; then
+    rm -f /home/$host_user/upload/*
+fi
+
+#clean /etc/hosts
+KEYWORD='git.'
+if grep -Fxq "$KEYWORD" /etc/hosts
+then
+    cat /etc/hosts | grep -v "$KEYWORD" > /tmp/hosts
+    mv /tmp/hosts /etc/hosts
+fi
+
+#if grep -Fxq "$hostname" /etc/hosts
+#then
+#    cat /etc/hosts | grep -v "$hostname" > /tmp/hosts
+#    mv /tmp/hosts /etc/hosts
+#fi
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/clean.sh~
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/clean.sh~ b/tools/stratos-installer/clean.sh~
new file mode 100755
index 0000000..8554091
--- /dev/null
+++ b/tools/stratos-installer/clean.sh~
@@ -0,0 +1,112 @@
+#!/bin/bash
+# ----------------------------------------------------------------------------
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#
+# ----------------------------------------------------------------------------
+#
+# This script is for cleaning the host machine where one or more of the Stratos servers are run.
+# Make sure the user is running as root.
+# ----------------------------------------------------------------------------
+
+
+if [ "$UID" -ne "0" ]; then
+	echo ; echo "  You must be root to run $0.  (Try running 'sudo bash' first.)" ; echo 
+	exit 69
+fi
+
+function help {
+    echo ""
+    echo "Clean the host machine where one or more of the Stratos2 servers are run."
+    echo "usage:"
+    echo "clean.sh -a<hostname> -b<stratos user name> -c<mysql user name> -d<mysql user password>"
+    echo ""
+}
+
+while getopts a:b:c:d: opts
+do
+  case $opts in
+    a)
+        hostname=${OPTARG}
+        ;;
+    b)
+        host_user=${OPTARG}
+        ;;
+    c)
+        mysql_user=${OPTARG}
+        ;;
+    d)
+        mysql_pass=${OPTARG}
+        ;;
+    *)
+        help
+        exit 1
+        ;;
+  esac
+done
+
+function helpclean {
+    echo ""
+    echo "usage:"
+    echo "clean.sh -a<hostname> -b<stratos username> -c<mysql username> -d<mysql password>"
+    echo ""
+}
+
+function clean_validate {
+
+if [[ ( -z $hostname || -z $host_user || -z $mysql_user || -z $mysql_pass ) ]]; then
+    helpclean
+    exit 1
+fi
+}
+
+clean_validate
+
+if [[ -d /home/git ]]; then
+    deluser git
+    rm -fr /home/git
+fi
+mysql -u $mysql_user -p$mysql_pass -e "DROP DATABASE IF EXISTS stratos_foundation;"
+mysql -u $mysql_user -p$mysql_pass -e "DROP DATABASE IF EXISTS userstore;"
+#mysql -u $mysql_user -p$mysql_pass -e "DROP DATABASE IF EXISTS billing;"
+
+killall java
+sleep 15
+rm -rf $stratos_path/*
+rm -rf $log_path/*
+#rm -f /home/$host_user/.ssh/id_rsa
+
+#remove contents of upload folder
+if [[ -d /home/$host_user/upload ]]; then
+    rm -f /home/$host_user/upload/*
+fi
+
+#clean /etc/hosts
+KEYWORD='git.'
+if grep -Fxq "$KEYWORD" /etc/hosts
+then
+    cat /etc/hosts | grep -v "$KEYWORD" > /tmp/hosts
+    mv /tmp/hosts /etc/hosts
+fi
+
+#if grep -Fxq "$hostname" /etc/hosts
+#then
+#    cat /etc/hosts | grep -v "$hostname" > /tmp/hosts
+#    mv /tmp/hosts /etc/hosts
+#fi
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/conf/setup.conf
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/conf/setup.conf b/tools/stratos-installer/conf/setup.conf
new file mode 100644
index 0000000..a14c6b2
--- /dev/null
+++ b/tools/stratos-installer/conf/setup.conf
@@ -0,0 +1,198 @@
+#!/bin/bash
+# ----------------------------------------------------------------------------
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#
+# ----------------------------------------------------------------------------
+#
+#  Server configuration script for Apache Stratos
+# ----------------------------------------------------------------------------
+#
+#  Configure below parameters to install Apache Stratos using ../setup.sh.
+#  General configuration parameters are mandatory and other sections are optional. Configure each section on each node where
+#  Stratos product is installed.
+#
+# ----------------------------------------------------------------------------
+
+
+# General configuration
+# ----------------------------------------------------------------------------
+export setup_path= #Folder path containing stratos_setup
+export stratos_pack_path= #Folder path containing stratos packages 
+export stratos_path= #Folder which stratos will be installed
+
+export resource_path=$setup_path/resources
+export script_path=$setup_path/scripts
+export log_path=/var/log/apache-stratos
+export hostip="ip" #Machine ip on which setup script run
+export host_user="" #A host user account for stratos. If not provided deafult is assumed stratos. If no account #named stratos exist it will be created.
+export mysql_connector_jar=$stratos_pack_path/"mysql-connector-java-5.1.25.jar" #mysql connector jar file name
+
+
+# SC configuration
+# ----------------------------------------------------------------------------
+export sc_path=$stratos_path/"apache-stratos-sc-3.0.0-SNAPSHOT"
+export sc_pack=$stratos_pack_path/"apache-stratos-sc-3.0.0-SNAPSHOT.zip"
+#export lib_path="/opt/lib"
+#export script_path="/opt/scripts"
+#export resource_path="/opt/resources"
+
+export stratos2_domain="stratos.apache.org"
+
+export userstore_db_hostname="stratos.apache.org"
+export userstore_db_schema="userstore"
+export userstore_db_port="3306"
+export userstore_db_user="root"
+export userstore_db_pass="mysql"
+
+export s_foundation_db_hostname="stratos.apache.org"
+export s_foundation_db_schema="stratos_foundation"
+export s_foundation_db_port="3306"
+export s_foundation_db_user="root"
+export s_foundation_db_pass="mysql"
+
+export sc_https_port="9445"
+export sc_http_port="9765"
+export sc_port_offset=2
+export sc_hostname="stratos.apache.org"
+export elb_ip=$hostip
+export cassandra_port="9163"
+export sc_ip=$hostip
+export agent_ip=$hostip
+
+
+# Billing configuration
+# ----------------------------------------------------------------------------
+
+#export billing_db_hostanme="stratos.apache.org"
+#export billing_db_username="root"
+#export billing_db_password="root"
+#export billing_db_port="3306"
+#export billing_db_schema="billing"
+
+
+# Git repo cofiguration. This will be needed only if you need to setup an internal git repo.
+# ----------------------------------------------------------------------------
+export git_user="git"
+export email="git@stratos.apache.org"
+export git_hostname="stratos.apache.org"
+export git_ip=$hostip
+export axis2c_path="axis2c-1.6.2"
+export axis2c_pack="axis2-1.6.2-bin.zip"
+
+
+# CC configuration
+# ----------------------------------------------------------------------------
+
+export cc_path=$stratos_path/"apache-stratos-cc-3.0.0-SNAPSHOT"
+export cc_pack=$stratos_pack_path/"apache-stratos-cc-3.0.0-SNAPSHOT.zip"
+
+export cc_https_port="9444"
+export mb_listen_port="5673"
+export cc_port_offset=1
+export cc_hostname="stratos.apache.org"
+export mb_cassandra_host="localhost"
+export mb_cassandra_port="9161"
+
+
+# ELB configuration
+# ----------------------------------------------------------------------------
+
+export elb_path=$stratos_path/"apache-stratos-elb-3.0.0-SNAPSHOT"
+export elb_pack=$stratos_pack_path/"apache-stratos-elb-3.0.0-SNAPSHOT.zip"
+export elb_hostname="stratos.apache.org"
+export enable_autoscaler=true
+export enable_embedded_autoscaler=false
+export elb_port_offset=0
+export elb_port="9443"
+
+
+# Agent configuration
+# ----------------------------------------------------------------------------
+
+export agent_path=$stratos_path/"apache-stratos-agent-3.0.0-SNAPSHOT"
+export agent_pack=$stratos_pack_path/"apache-stratos-agent-3.0.0-SNAPSHOT.zip"
+export agent_clustering_port="4025"
+export agent_hostname="stratos.apache.org"
+export agent_http_port="9767"
+export agent_https_port="9447"
+export agent_port_offset=4
+
+
+# BAM configuration
+# ----------------------------------------------------------------------------
+#export bam_port_offset=3
+#export bam_port="9446"
+#export bam_ip=$hostip
+#export bam_reciever_port="7614"
+#export bam_reciever_secured_port="7714"
+#export bam_hostname="stratos.apache.org"
+#export bam_path="wso2bam-2.3.0"
+#export bam_pack="wso2bam-2.3.0.zip"
+
+
+# IaaS Providers
+# ----------------------------------------------------------------------------
+# EC2
+#export ec2_provider_enable=false
+#export ec2_identity=""
+#export ec2_credential=""
+#export ec2_keypair=""
+#export ec2_scaleup_order=1
+#export ec2_scaledown_order=2
+#export ec2_availability_zone="us-east-1c"
+#export ec2_security_groups="manager,cep,mb,default"
+#export ec2_instance_type="m1.large"
+#export ec2_image_id=""
+
+# Openstack
+export openstack_provider_enable=true
+export openstack_identity="stratos:stratos" # Openstack project name:Openstack login user
+export openstack_credential="password" # Openstack login password
+export openstack_tenant="stratos" # openstack project name
+export openstack_project_id=$openstack_tenant
+export openstack_jclouds_endpoint="http://10.100.0.30:5000/"
+export openstack_scaleup_order=2
+export openstack_scaledown_order=3
+
+export openstack_keypair_name="key-pair-name" #Name of the openstack key pair. The name should match
+#<property name="keyPair" value="key-pair-name"/> under Openstack provider in cartridge xml files
+
+export openstack_image_id="RegionOne/" #No need to change this as of now
+export nova_region="RegionOne"
+export openstack_instance_type_tiny="RegionOne\/1"
+export openstack_instance_type_small="RegionOne\/2"
+export openstack_security_group="security-group-name"
+export php_cartridge_image_id=""
+export mysql_cartridge_image_id=""
+export tomcat_cartridge_image_id=""
+
+
+# Cassandra configuration
+# ----------------------------------------------------------------------------
+export cassandra_port1=9160
+export cassandra_port2=7000
+
+# Hadoop configuration
+# ----------------------------------------------------------------------------
+export hadoop_port1=5140
+export hadoop_port2=9000
+
+export sc_cluster_port="5001"
+export elb_cluster_port="4000"
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/conf/setup.conf~
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/conf/setup.conf~ b/tools/stratos-installer/conf/setup.conf~
new file mode 100644
index 0000000..a14c6b2
--- /dev/null
+++ b/tools/stratos-installer/conf/setup.conf~
@@ -0,0 +1,198 @@
+#!/bin/bash
+# ----------------------------------------------------------------------------
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#
+# ----------------------------------------------------------------------------
+#
+#  Server configuration script for Apache Stratos
+# ----------------------------------------------------------------------------
+#
+#  Configure below parameters to install Apache Stratos using ../setup.sh.
+#  General configuration parameters are mandatory and other sections are optional. Configure each section on each node where
+#  Stratos product is installed.
+#
+# ----------------------------------------------------------------------------
+
+
+# General configuration
+# ----------------------------------------------------------------------------
+export setup_path= #Folder path containing stratos_setup
+export stratos_pack_path= #Folder path containing stratos packages 
+export stratos_path= #Folder which stratos will be installed
+
+export resource_path=$setup_path/resources
+export script_path=$setup_path/scripts
+export log_path=/var/log/apache-stratos
+export hostip="ip" #Machine ip on which setup script run
+export host_user="" #A host user account for stratos. If not provided deafult is assumed stratos. If no account #named stratos exist it will be created.
+export mysql_connector_jar=$stratos_pack_path/"mysql-connector-java-5.1.25.jar" #mysql connector jar file name
+
+
+# SC configuration
+# ----------------------------------------------------------------------------
+export sc_path=$stratos_path/"apache-stratos-sc-3.0.0-SNAPSHOT"
+export sc_pack=$stratos_pack_path/"apache-stratos-sc-3.0.0-SNAPSHOT.zip"
+#export lib_path="/opt/lib"
+#export script_path="/opt/scripts"
+#export resource_path="/opt/resources"
+
+export stratos2_domain="stratos.apache.org"
+
+export userstore_db_hostname="stratos.apache.org"
+export userstore_db_schema="userstore"
+export userstore_db_port="3306"
+export userstore_db_user="root"
+export userstore_db_pass="mysql"
+
+export s_foundation_db_hostname="stratos.apache.org"
+export s_foundation_db_schema="stratos_foundation"
+export s_foundation_db_port="3306"
+export s_foundation_db_user="root"
+export s_foundation_db_pass="mysql"
+
+export sc_https_port="9445"
+export sc_http_port="9765"
+export sc_port_offset=2
+export sc_hostname="stratos.apache.org"
+export elb_ip=$hostip
+export cassandra_port="9163"
+export sc_ip=$hostip
+export agent_ip=$hostip
+
+
+# Billing configuration
+# ----------------------------------------------------------------------------
+
+#export billing_db_hostanme="stratos.apache.org"
+#export billing_db_username="root"
+#export billing_db_password="root"
+#export billing_db_port="3306"
+#export billing_db_schema="billing"
+
+
+# Git repo cofiguration. This will be needed only if you need to setup an internal git repo.
+# ----------------------------------------------------------------------------
+export git_user="git"
+export email="git@stratos.apache.org"
+export git_hostname="stratos.apache.org"
+export git_ip=$hostip
+export axis2c_path="axis2c-1.6.2"
+export axis2c_pack="axis2-1.6.2-bin.zip"
+
+
+# CC configuration
+# ----------------------------------------------------------------------------
+
+export cc_path=$stratos_path/"apache-stratos-cc-3.0.0-SNAPSHOT"
+export cc_pack=$stratos_pack_path/"apache-stratos-cc-3.0.0-SNAPSHOT.zip"
+
+export cc_https_port="9444"
+export mb_listen_port="5673"
+export cc_port_offset=1
+export cc_hostname="stratos.apache.org"
+export mb_cassandra_host="localhost"
+export mb_cassandra_port="9161"
+
+
+# ELB configuration
+# ----------------------------------------------------------------------------
+
+export elb_path=$stratos_path/"apache-stratos-elb-3.0.0-SNAPSHOT"
+export elb_pack=$stratos_pack_path/"apache-stratos-elb-3.0.0-SNAPSHOT.zip"
+export elb_hostname="stratos.apache.org"
+export enable_autoscaler=true
+export enable_embedded_autoscaler=false
+export elb_port_offset=0
+export elb_port="9443"
+
+
+# Agent configuration
+# ----------------------------------------------------------------------------
+
+export agent_path=$stratos_path/"apache-stratos-agent-3.0.0-SNAPSHOT"
+export agent_pack=$stratos_pack_path/"apache-stratos-agent-3.0.0-SNAPSHOT.zip"
+export agent_clustering_port="4025"
+export agent_hostname="stratos.apache.org"
+export agent_http_port="9767"
+export agent_https_port="9447"
+export agent_port_offset=4
+
+
+# BAM configuration
+# ----------------------------------------------------------------------------
+#export bam_port_offset=3
+#export bam_port="9446"
+#export bam_ip=$hostip
+#export bam_reciever_port="7614"
+#export bam_reciever_secured_port="7714"
+#export bam_hostname="stratos.apache.org"
+#export bam_path="wso2bam-2.3.0"
+#export bam_pack="wso2bam-2.3.0.zip"
+
+
+# IaaS Providers
+# ----------------------------------------------------------------------------
+# EC2
+#export ec2_provider_enable=false
+#export ec2_identity=""
+#export ec2_credential=""
+#export ec2_keypair=""
+#export ec2_scaleup_order=1
+#export ec2_scaledown_order=2
+#export ec2_availability_zone="us-east-1c"
+#export ec2_security_groups="manager,cep,mb,default"
+#export ec2_instance_type="m1.large"
+#export ec2_image_id=""
+
+# Openstack
+export openstack_provider_enable=true
+export openstack_identity="stratos:stratos" # Openstack project name:Openstack login user
+export openstack_credential="password" # Openstack login password
+export openstack_tenant="stratos" # openstack project name
+export openstack_project_id=$openstack_tenant
+export openstack_jclouds_endpoint="http://10.100.0.30:5000/"
+export openstack_scaleup_order=2
+export openstack_scaledown_order=3
+
+export openstack_keypair_name="key-pair-name" #Name of the openstack key pair. The name should match
+#<property name="keyPair" value="key-pair-name"/> under Openstack provider in cartridge xml files
+
+export openstack_image_id="RegionOne/" #No need to change this as of now
+export nova_region="RegionOne"
+export openstack_instance_type_tiny="RegionOne\/1"
+export openstack_instance_type_small="RegionOne\/2"
+export openstack_security_group="security-group-name"
+export php_cartridge_image_id=""
+export mysql_cartridge_image_id=""
+export tomcat_cartridge_image_id=""
+
+
+# Cassandra configuration
+# ----------------------------------------------------------------------------
+export cassandra_port1=9160
+export cassandra_port2=7000
+
+# Hadoop configuration
+# ----------------------------------------------------------------------------
+export hadoop_port1=5140
+export hadoop_port2=9000
+
+export sc_cluster_port="5001"
+export elb_cluster_port="4000"
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/config/agent/bin/stratos.sh
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/config/agent/bin/stratos.sh b/tools/stratos-installer/config/agent/bin/stratos.sh
new file mode 100644
index 0000000..4c6260c
--- /dev/null
+++ b/tools/stratos-installer/config/agent/bin/stratos.sh
@@ -0,0 +1,298 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+# ----------------------------------------------------------------------------
+#  Main Script for the Apache Stratos
+#
+#  Environment Variable Prerequisites
+#
+#   JAVA_HOME       Must point at your Java Development Kit installation.
+#
+#   JAVA_OPTS       (Optional) Java runtime options used when the commands
+#                   is executed.
+#
+#  NOTE: Borrowed generously from Apache Tomcat startup scripts.
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+
+cygwin=false;
+darwin=false;
+os400=false;
+mingw=false;
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+MINGW*) mingw=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true
+        if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+# Only set CARBON_HOME if not already set
+[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd`
+
+# Set AXIS2_HOME. Needed for One Click JAR Download
+AXIS2_HOME=$CARBON_HOME
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CARBON_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
+  [ -n "$AXIS2_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
+fi
+
+# For OS400
+if $os400; then
+  # Set job priority to standard for interactive (interactive - 6) by using
+  # the interactive priority - 6, the helper threads that respond to requests
+  # will be running at the same priority as interactive jobs.
+  COMMAND='chgjob job('$JOBNAME') runpty(6)'
+  system $COMMAND
+
+  # Enable multi threading
+  QIBM_MULTI_THREADED=Y
+  export QIBM_MULTI_THREADED
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$CARBON_HOME" ] &&
+    CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+  [ -n "$AXIS2_HOME" ] &&
+    CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
+  # TODO classpath?
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD=java
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo " CARBON cannot execute $JAVACMD"
+  exit 1
+fi
+
+# if JAVA_HOME is not set we're not happy
+if [ -z "$JAVA_HOME" ]; then
+  echo "You must set the JAVA_HOME variable before running CARBON."
+  exit 1
+fi
+
+# ----- Process the input command ----------------------------------------------
+for c in $*
+do
+    if [ "$c" = "--debug" ] || [ "$c" = "-debug" ] || [ "$c" = "debug" ]; then
+          CMD="--debug"
+          continue
+    elif [ "$CMD" = "--debug" ]; then
+          if [ -z "$PORT" ]; then
+                PORT=$c
+          fi
+    elif [ "$c" = "--n" ] || [ "$c" = "-n" ] || [ "$c" = "n" ]; then
+          CMD="--n"
+          continue
+    elif [ "$CMD" = "--n" ]; then
+          if [ -z "$INSTANCES" ]; then
+                INSTANCES=$c
+          fi
+    elif [ "$c" = "--stop" ] || [ "$c" = "-stop" ] || [ "$c" = "stop" ]; then
+          CMD="stop"
+    elif [ "$c" = "--start" ] || [ "$c" = "-start" ] || [ "$c" = "start" ]; then
+          CMD="start"
+    elif [ "$c" = "--console" ] || [ "$c" = "-console" ] || [ "$c" = "console" ]; then
+          CMD="console"
+    elif [ "$c" = "--version" ] || [ "$c" = "-version" ] || [ "$c" = "version" ]; then
+          CMD="version"
+    elif [ "$c" = "--restart" ] || [ "$c" = "-restart" ] || [ "$c" = "restart" ]; then
+          CMD="restart"
+    elif [ "$c" = "--dump" ] || [ "$c" = "-dump" ] || [ "$c" = "dump" ]; then
+          CMD="dump"
+    elif [ "$c" = "--test" ] || [ "$c" = "-test" ] || [ "$c" = "test" ]; then
+          CMD="test"
+    elif [ "$c" = "--status" ] || [ "$c" = "-status" ] || [ "$c" = "status" ]; then
+          CMD="status"
+    fi
+done
+
+if [ "$CMD" = "--debug" ]; then
+  if [ "$PORT" = "" ]; then
+    echo " Please specify the debug port after the --debug option"
+    exit 1
+  fi
+  if [ -n "$JAVA_OPTS" ]; then
+    echo "Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option."
+  fi
+  CMD="RUN"
+  JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$PORT"
+  echo "Please start the remote debugging client to continue..."
+elif [ "$CMD" = "--n" ]; then
+  if [ "$INSTANCES" = "" ] || [ ! -z `echo $INSTANCES | sed 's/[0-9]//g'` ]]; then
+    echo " Please specify the number of instances to start after the --n option"
+    exit 1
+  fi
+elif [ "$CMD" = "start" ]; then
+  export CARBON_HOME=$CARBON_HOME
+  nohup $CARBON_HOME/bin/stratos.sh &
+  exit 0
+elif [ "$CMD" = "stop" ]; then
+  export CARBON_HOME=$CARBON_HOME
+  kill -9 `cat $CARBON_HOME/wso2carbon.pid`
+  exit 0
+elif [ "$CMD" = "restart" ]; then
+  export CARBON_HOME=$CARBON_HOME
+  kill -term `cat $CARBON_HOME/wso2carbon.pid`
+  process_status=0
+  pid=`cat $CARBON_HOME/wso2carbon.pid`
+  while [ "$process_status" -eq "0" ]
+  do
+    sleep 1;
+    ps -p$pid 2>&1 > /dev/null
+    process_status=$?
+  done
+
+  # using nohup bash to avoid erros in solaris OS.TODO
+  nohup bash $CARBON_HOME/bin/stratos.sh > /dev/null 2>&1 &
+  exit 0
+elif [ "$CMD" = "test" ]; then
+    JAVACMD="exec "$JAVACMD""
+elif [ "$CMD" = "version" ]; then
+  cat $CARBON_HOME/bin/version.txt
+  cat $CARBON_HOME/bin/wso2carbon-version.txt
+  exit 0
+fi
+
+jdk_16=`$JAVA_HOME/bin/java -version 2>&1 | grep "1.[6|7]"`
+
+if [ "$jdk_16" = "" ]; then
+   echo " [ERROR] CARBON is supported only on JDK 1.6 and 1.7"
+   exit 1
+fi
+
+CARBON_CLASSPATH=""
+if [ -e "$JAVA_HOME/lib/tools.jar" ]; then
+   if [ "$f" != "$JAVA_HOME/lib/tools.jar" ];then
+        CARBON_CLASSPATH="$JAVA_HOME/lib/tools.jar"
+   fi
+fi
+
+CARBON_XBOOTCLASSPATH=""
+for f in "$CARBON_HOME"/lib/xboot/*.jar
+do
+    if [ "$f" != "$CARBON_HOME/lib/xboot/*.jar" ];then
+        CARBON_XBOOTCLASSPATH="$CARBON_XBOOTCLASSPATH":$f
+    fi
+done
+
+JAVA_ENDORSED_DIRS="$CARBON_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed"
+
+for f in "$CARBON_HOME"/bin/*.jar
+do
+    if [ "$f" != "$CARBON_HOME/bin/*.jar" ];then
+        CARBON_CLASSPATH="$CARBON_CLASSPATH":$f
+    fi
+done
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
+  CARBON_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
+  AXIS2_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
+  CARBON_CLASSPATH=`cygpath --path --windows "$CARBON_CLASSPATH"`
+  CARBON_XBOOTCLASSPATH=`cygpath --path --windows "$CARBON_XBOOTCLASSPATH"`
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+echo JAVA_HOME environment variable is set to $JAVA_HOME
+echo CARBON_HOME environment variable is set to $CARBON_HOME
+
+cd "$CARBON_HOME"
+
+exec "$JAVACMD" \
+        -Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \
+        -d64 \
+        -server \
+        -Xms1500m -Xmx3000m \
+        -XX:PermSize=256m -XX:MaxPermSize=512m \
+        -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:-UseGCOverheadLimit \
+        -XX:+CMSClassUnloadingEnabled \
+        -XX:+OptimizeStringConcat \
+        -XX:+HeapDumpOnOutOfMemoryError \
+        -XX:OnOutOfMemoryError="kill -9 `echo $$`;nohup ./stratos.sh &" \
+        -XX:HeapDumpPath=repository/logs/heap-dump.hprof \
+        -XX:ErrorFile=repository/logs/hs_err_pid.log \
+        -XX:OnError="nohup ./stratos.sh &" \
+        $JAVA_OPTS \
+        -Dcarbon.pid=$$ \
+        -Dcom.sun.management.jmxremote \
+        -Dwso2.loadbalancer=true \
+        -classpath "$CARBON_CLASSPATH" \
+        -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+        -Djava.io.tmpdir="$CARBON_HOME/tmp" \
+        -Dwso2.server.standalone=true \
+        -Dcarbon.registry.root=/ \
+        -Dcarbon.home="$CARBON_HOME" \
+        -Dloadbalancer.conf=file:repository/conf/loadbalancer.conf \
+        -Djava.util.logging.config.file="$CARBON_HOME/lib/log4j.properties" \
+        -Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" \
+        -Dconf.location="$CARBON_HOME/repository/conf" \
+        -Dcomponents.repo="$CARBON_HOME/repository/components/plugins" \
+        -Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" \
+        -Dcom.atomikos.icatch.hide_init_file_path=true \
+        -Dorg.terracotta.quartz.skipUpdateCheck=true \
+        org.wso2.carbon.bootstrap.Bootstrap $*
+
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/config/agent/repository/conf/agent.properties
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/config/agent/repository/conf/agent.properties b/tools/stratos-installer/config/agent/repository/conf/agent.properties
new file mode 100644
index 0000000..392d0d1
--- /dev/null
+++ b/tools/stratos-installer/config/agent/repository/conf/agent.properties
@@ -0,0 +1,26 @@
+loadBalancerDomain=lb.domain
+
+# Registrant health check interval in seconds
+registrant.heathCheckInterval=10
+
+
+#Registrant health checkers pool size
+registrant.healthCheckThreadPoolSize=2000
+
+# Clustering parameters of Cartridge agent member
+clustering.membershipScheme=wka
+clustering.maxRetries=10
+clustering.localMemberHost=AGENT_HOSTNAME
+#clustering.localMemberBindPort=4026
+clustering.localMemberPort=AGENT_CLUSTERING_PORT
+
+# ELB members
+members.1.host=ELB_HOSTNAME
+members.1.port=ELB_CLUSTER_PORT
+
+# TRustrore
+wso2.carbon.truststore=SC_PATH/repository/resources/security/wso2carbon.jks
+
+# SC
+adc.host=SC_HOSTNAME
+adc.port=SC_HTTPS_PORT

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/config/agent/repository/conf/carbon.xml
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/config/agent/repository/conf/carbon.xml b/tools/stratos-installer/config/agent/repository/conf/carbon.xml
new file mode 100644
index 0000000..98882f6
--- /dev/null
+++ b/tools/stratos-installer/config/agent/repository/conf/carbon.xml
@@ -0,0 +1,583 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+  ~ Copyright 2005-2011 WSO2, Inc. (http://wso2.com)
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<!--
+    This is the main server configuration file
+    
+    ${carbon.home} represents the carbon.home system property.
+    Other system properties can be specified in a similar manner.
+-->
+<Server xmlns="http://wso2.org/projects/carbon/carbon.xml">
+
+    <!--
+       Product Name
+    -->
+    <Name>Apache Stratos Agent</Name>
+
+    <!--
+       machine readable unique key to identify each product
+    -->
+    <ServerKey>Agent</ServerKey>
+
+    <!--
+       Product Version
+    -->
+    <Version>3.0.0-SNAPSHOT</Version>
+
+    <!--
+       Host name or IP address of the machine hosting this server
+       e.g. www.wso2.org, 192.168.1.10
+       This is will become part of the End Point Reference of the
+       services deployed on this server instance.
+    -->
+    <!--HostName>www.wso2.org</HostName-->
+
+    <!--
+    Host name to be used for the Carbon management console
+    -->
+    <!--MgtHostName>mgt.wso2.org</MgtHostName-->
+
+    <!--
+        The URL of the back end server. This is where the admin services are hosted and
+        will be used by the clients in the front end server.
+        This is required only for the Front-end server. This is used when seperating BE server from FE server
+       -->
+    <ServerURL>local:/${carbon.context}/services/</ServerURL>
+    <!--
+    <ServerURL>https://${carbon.local.ip}:${carbon.management.port}${carbon.context}/services/</ServerURL>
+    -->
+     <!--
+     The URL of the index page. This is where the user will be redirected after signing in to the
+     carbon server.
+     -->
+    <!-- IndexPageURL>/carbon/admin/index.jsp</IndexPageURL-->
+
+    <!--
+    For cApp deployment, we have to identify the roles that can be acted by the current server.
+    The following property is used for that purpose. Any number of roles can be defined here.
+    Regular expressions can be used in the role.
+    Ex : <Role>.*</Role> means this server can act any role
+    -->
+    <ServerRoles>
+        <Role>ElasticLoadBalancer</Role>
+    </ServerRoles>
+
+    <!-- uncommnet this line to subscribe to a bam instance automatically -->
+    <!--<BamServerURL>https://bamhost:bamport/services/</BamServerURL>-->
+
+    <!--
+       The fully qualified name of the server
+    -->
+    <Package>org.wso2.carbon</Package>
+
+    <!--
+       Webapp context root of WSO2 Carbon.
+    -->
+    <WebContextRoot>/</WebContextRoot>
+
+    <!-- In-order to  get the registry http Port from the back-end when the default http transport is not the same-->
+    <!--RegistryHttpPort>9763</RegistryHttpPort-->
+
+    <!--
+    Number of items to be displayed on a management console page. This is used at the
+    backend server for pagination of various items.
+    -->
+    <ItemsPerPage>15</ItemsPerPage>
+
+    <!-- The endpoint URL of the cloud instance management Web service -->
+    <!--<InstanceMgtWSEndpoint>https://ec2.amazonaws.com/</InstanceMgtWSEndpoint>-->
+
+    <!--
+       Ports used by this server
+    -->
+    <Ports>
+
+        <!-- Ports offset. This entry will set the value of the ports defined below to
+         the define value + Offset.
+         e.g. Offset=2 and HTTPS port=9443 will set the effective HTTPS port to 9445
+         -->
+        <Offset>AGENT_PORT_OFFSET</Offset>
+
+        <!-- The JMX Ports -->
+        <JMX>
+            <!--The port RMI registry is exposed-->
+            <RMIRegistryPort>9999</RMIRegistryPort>
+            <!--The port RMI server should be exposed-->
+            <RMIServerPort>11111</RMIServerPort>
+        </JMX>
+
+        <!-- Embedded LDAP server specific ports -->
+        <EmbeddedLDAP>
+            <!-- Port which embedded LDAP server runs -->
+            <LDAPServerPort>10389</LDAPServerPort>
+            <!-- Port which KDC (Kerberos Key Distribution Center) server runs -->
+            <KDCServerPort>8000</KDCServerPort>
+        </EmbeddedLDAP>
+	
+	    <!-- Embedded Qpid broker ports -->
+        <EmbeddedQpid>
+	    <!-- Broker TCP Port -->
+            <BrokerPort>5672</BrokerPort>
+	    <!-- SSL Port -->
+            <BrokerSSLPort>8672</BrokerSSLPort>
+        </EmbeddedQpid>
+	
+	<!-- 
+             Override datasources JNDIproviderPort defined in bps.xml and datasources.properties files
+	-->
+	<!--<JNDIProviderPort>2199</JNDIProviderPort>-->
+	<!--Override receive port of thrift based entitlement service.-->
+	<ThriftEntitlementReceivePort>10500</ThriftEntitlementReceivePort>
+
+    </Ports>
+
+    <!--
+        JNDI Configuration
+    -->
+    <JNDI>
+        <!-- 
+             The fully qualified name of the default initial context factory
+        -->
+        <DefaultInitialContextFactory>org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory</DefaultInitialContextFactory>
+        <!-- 
+             The restrictions that are done to various JNDI Contexts in a Multi-tenant environment 
+        -->
+        <Restrictions>
+            <!--
+                Contexts that will be available only to the super-tenant
+            -->
+            <!-- <SuperTenantOnly>
+                <UrlContexts>
+                    <UrlContext>
+                        <Scheme>foo</Scheme>
+                    </UrlContext>
+                    <UrlContext>
+                        <Scheme>bar</Scheme>
+                    </UrlContext>
+                </UrlContexts>
+            </SuperTenantOnly> -->
+            <!-- 
+                Contexts that are common to all tenants
+            -->
+            <AllTenants>
+                <UrlContexts>
+                    <UrlContext>
+                        <Scheme>java</Scheme>
+                    </UrlContext>
+                    <!-- <UrlContext>
+                        <Scheme>foo</Scheme>
+                    </UrlContext> -->
+                </UrlContexts>
+            </AllTenants>
+            <!-- 
+                 All other contexts not mentioned above will be available on a per-tenant basis 
+                 (i.e. will not be shared among tenants)
+            -->
+        </Restrictions>
+    </JNDI>
+
+    <!--
+        Property to determine if the server is running an a cloud deployment environment.
+        This property should only be used to determine deployment specific details that are
+        applicable only in a cloud deployment, i.e when the server deployed *-as-a-service.
+    -->
+    <IsCloudDeployment>false</IsCloudDeployment>
+
+    <!--
+	Property to determine whether usage data should be collected for metering purposes
+    -->
+    <EnableMetering>false</EnableMetering>
+
+    <!-- The Max time a thread should take for execution in seconds -->
+    <MaxThreadExecutionTime>600</MaxThreadExecutionTime>
+
+    <!--
+        A flag to enable or disable Ghost Deployer. By default this is set to false. That is
+        because the Ghost Deployer works only with the HTTP/S transports. If you are using
+        other transports, don't enable Ghost Deployer.
+    -->
+    <GhostDeployment>
+        <Enabled>false</Enabled>
+        <PartialUpdate>false</PartialUpdate>
+    </GhostDeployment>
+
+    <!--
+    Axis2 related configurations
+    -->
+    <Axis2Config>
+        <!--
+             Location of the Axis2 Services & Modules repository
+
+             This can be a directory in the local file system, or a URL.
+
+             e.g.
+             1. /home/wso2wsas/repository/ - An absolute path
+             2. repository - In this case, the path is relative to CARBON_HOME
+             3. file:///home/wso2wsas/repository/
+             4. http://wso2wsas/repository/
+        -->
+        <RepositoryLocation>${carbon.home}/repository/deployment/server/</RepositoryLocation>
+
+        <!--
+         Deployment update interval in seconds. This is the interval between repository listener
+         executions. 
+        -->
+        <DeploymentUpdateInterval>15</DeploymentUpdateInterval>
+
+        <!--
+            Location of the main Axis2 configuration descriptor file, a.k.a. axis2.xml file
+
+            This can be a file on the local file system, or a URL
+
+            e.g.
+            1. /home/repository/axis2.xml - An absolute path
+            2. conf/axis2.xml - In this case, the path is relative to CARBON_HOME
+            3. file:///home/carbon/repository/axis2.xml
+            4. http://repository/conf/axis2.xml
+        -->
+        <ConfigurationFile>${carbon.home}/repository/conf/axis2/axis2.xml</ConfigurationFile>
+
+        <!--
+          ServiceGroupContextIdleTime, which will be set in ConfigurationContex
+          for multiple clients which are going to access the same ServiceGroupContext
+          Default Value is 30 Sec.
+        -->
+        <ServiceGroupContextIdleTime>30000</ServiceGroupContextIdleTime>
+
+        <!--
+          This repository location is used to crete the client side configuration
+          context used by the server when calling admin services.
+        -->
+        <ClientRepositoryLocation>${carbon.home}/repository/deployment/client/</ClientRepositoryLocation>
+        <!-- This axis2 xml is used in createing the configuration context by the FE server
+         calling to BE server -->
+        <clientAxis2XmlLocation>${carbon.home}/repository/conf/axis2/axis2_client.xml</clientAxis2XmlLocation>
+        <!-- If this parameter is set, the ?wsdl on an admin service will not give the admin service wsdl. -->
+        <HideAdminServiceWSDLs>true</HideAdminServiceWSDLs>
+	
+	<!--WARNING-Use With Care! Uncommenting bellow parameter would expose all AdminServices in HTTP transport.
+	With HTTP transport your credentials and data routed in public channels are vulnerable for sniffing attacks. 
+	Use bellow parameter ONLY if your communication channels are confirmed to be secured by other means -->
+        <!--HttpAdminServices>*</HttpAdminServices-->
+
+    </Axis2Config>
+
+    <!--
+       The default user roles which will be created when the server
+       is started up for the first time.
+    -->
+    <ServiceUserRoles>
+        <Role>
+            <Name>admin</Name>
+            <Description>Default Administrator Role</Description>
+        </Role>
+        <Role>
+            <Name>user</Name>
+            <Description>Default User Role</Description>
+        </Role>
+    </ServiceUserRoles>
+    
+    <!-- 
+      Enable following config to allow Emails as usernames. 	
+    -->	    	
+    <!--EnableEmailUserName>true</EnableEmailUserName-->	
+
+    <!--
+      Security configurations
+    -->
+    <Security>
+        <!--
+            KeyStore which will be used for encrypting/decrypting passwords
+            and other sensitive information.
+        -->
+        <KeyStore>
+            <!-- Keystore file location-->
+            <Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location>
+            <!-- Keystore type (JKS/PKCS12 etc.)-->
+            <Type>JKS</Type>
+            <!-- Keystore password-->
+            <Password>wso2carbon</Password>
+            <!-- Private Key alias-->
+            <KeyAlias>wso2carbon</KeyAlias>
+            <!-- Private Key password-->
+            <KeyPassword>wso2carbon</KeyPassword>
+        </KeyStore>
+
+        <!--
+            System wide trust-store which is used to maintain the certificates of all
+            the trusted parties.
+        -->
+        <TrustStore>
+            <!-- trust-store file location -->
+            <Location>${carbon.home}/repository/resources/security/client-truststore.jks</Location>
+            <!-- trust-store type (JKS/PKCS12 etc.) -->
+            <Type>JKS</Type>
+            <!-- trust-store password -->
+            <Password>wso2carbon</Password>
+        </TrustStore>
+
+        <!--
+            The Authenticator configuration to be used at the JVM level. We extend the
+            java.net.Authenticator to make it possible to authenticate to given servers and 
+            proxies.
+        -->
+        <NetworkAuthenticatorConfig>
+            <!-- 
+                Below is a sample configuration for a single authenticator. Please note that
+                all child elements are mandatory. Not having some child elements would lead to
+                exceptions at runtime.
+            -->
+            <!-- <Credential> -->
+                <!-- 
+                    the pattern that would match a subset of URLs for which this authenticator
+                    would be used
+                -->
+                <!-- <Pattern>regularExpression</Pattern> -->
+                <!-- 
+                    the type of this authenticator. Allowed values are:
+                    1. server
+                    2. proxy
+                -->
+                <!-- <Type>proxy</Type> -->
+                <!-- the username used to log in to server/proxy -->
+                <!-- <Username>username</Username> -->
+                <!-- the password used to log in to server/proxy -->
+                <!-- <Password>password</Password> -->
+            <!-- </Credential> -->
+        </NetworkAuthenticatorConfig>
+
+        <!--
+         The Tomcat realm to be used for hosted Web applications. Allowed values are;
+         1. UserManager
+         2. Memory
+
+         If this is set to 'UserManager', the realm will pick users & roles from the system's
+         WSO2 User Manager. If it is set to 'memory', the realm will pick users & roles from
+         CARBON_HOME/repository/conf/tomcat/tomcat-users.xml
+        -->
+        <TomcatRealm>UserManager</TomcatRealm>
+
+	<!--Option to disable storing of tokens issued by STS-->
+	<DisableTokenStore>false</DisableTokenStore>
+
+	<!--
+	 Security token store class name. If this is not set, default class will be
+	 org.wso2.carbon.security.util.SecurityTokenStore
+	-->
+	<!--<TokenStoreClassName>org.wso2.carbon.security.util.SecurityTokenStore</TokenStoreClassName> -->
+    </Security>
+
+    <!--
+       The temporary work directory
+    -->
+    <WorkDirectory>${carbon.home}/tmp/work</WorkDirectory>
+
+    <!--
+       House-keeping configuration
+    -->
+    <HouseKeeping>
+
+        <!--
+           true  - Start House-keeping thread on server startup
+           false - Do not start House-keeping thread on server startup.
+                   The user will run it manually as and when he wishes.
+        -->
+        <AutoStart>true</AutoStart>
+
+        <!--
+           The interval in *minutes*, between house-keeping runs
+        -->
+        <Interval>10</Interval>
+
+        <!--
+          The maximum time in *minutes*, temp files are allowed to live
+          in the system. Files/directories which were modified more than
+          "MaxTempFileLifetime" minutes ago will be removed by the
+          house-keeping task
+        -->
+        <MaxTempFileLifetime>30</MaxTempFileLifetime>
+    </HouseKeeping>
+
+    <!--
+       Configuration for handling different types of file upload & other file uploading related
+       config parameters.
+       To map all actions to a particular FileUploadExecutor, use
+       <Action>*</Action>
+    -->
+    <FileUploadConfig>
+        <!--
+           The total file upload size limit in MB
+        -->
+        <TotalFileSizeLimit>100</TotalFileSizeLimit>
+
+        <Mapping>
+            <Actions>
+                <Action>keystore</Action>
+                <Action>certificate</Action>
+                <Action>*</Action>
+            </Actions>
+            <Class>org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor</Class>
+        </Mapping>
+
+        <Mapping>
+            <Actions>
+                <Action>jarZip</Action>
+            </Actions>
+            <Class>org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor</Class>
+        </Mapping>
+        <Mapping>
+            <Actions>
+                <Action>dbs</Action>
+            </Actions>
+            <Class>org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor</Class>
+        </Mapping>
+        <Mapping>
+            <Actions>
+                <Action>tools</Action>
+            </Actions>
+            <Class>org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor</Class>
+        </Mapping>
+        <Mapping>
+            <Actions>
+                <Action>toolsAny</Action>
+            </Actions>
+            <Class>org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor</Class>
+        </Mapping>
+    </FileUploadConfig>
+
+    <!--
+       Processors which process special HTTP GET requests such as ?wsdl, ?policy etc.
+
+       In order to plug in a processor to handle a special request, simply add an entry to this
+       section.
+
+       The value of the Item element is the first parameter in the query string(e.g. ?wsdl)
+       which needs special processing
+       
+       The value of the Class element is a class which implements
+       org.wso2.carbon.transport.HttpGetRequestProcessor
+    -->
+    <HttpGetRequestProcessors>
+        <Processor>
+            <Item>info</Item>
+            <Class>org.wso2.carbon.core.transports.util.InfoProcessor</Class>
+        </Processor>
+        <Processor>
+            <Item>wsdl</Item>
+            <Class>org.wso2.carbon.core.transports.util.Wsdl11Processor</Class>
+        </Processor>
+        <Processor>
+            <Item>wsdl2</Item>
+            <Class>org.wso2.carbon.core.transports.util.Wsdl20Processor</Class>
+        </Processor>
+        <Processor>
+            <Item>xsd</Item>
+            <Class>org.wso2.carbon.core.transports.util.XsdProcessor</Class>
+        </Processor>
+    </HttpGetRequestProcessors>
+
+    <!-- Deployment Synchronizer Configuration. Uncomment the following section when running with "svn based" dep sync.
+	In master nodes you need to set both AutoCommit and AutoCheckout to true 
+	and in  worker nodes set only AutoCheckout to true.
+    -->
+    <!--<DeploymentSynchronizer>
+        <Enabled>true</Enabled>
+        <AutoCommit>false</AutoCommit>
+        <AutoCheckout>true</AutoCheckout>
+        <RepositoryType>svn</RepositoryType>
+        <SvnUrl>http://svnrepo.example.com/repos/</SvnUrl>
+        <SvnUser>username</SvnUser>
+        <SvnPassword>password</SvnPassword>
+        <SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
+    </DeploymentSynchronizer>-->
+
+    <!-- Deployment Synchronizer Configuration. Uncomment the following section when running with "registry based" dep sync.
+        In master nodes you need to set both AutoCommit and AutoCheckout to true 
+        and in  worker nodes set only AutoCheckout to true.
+    -->
+    <!--<DeploymentSynchronizer>
+        <Enabled>true</Enabled>
+        <AutoCommit>false</AutoCommit>
+        <AutoCheckout>true</AutoCheckout>
+    </DeploymentSynchronizer>-->
+
+    <!-- Mediation persistence configurations. Only valid if mediation features are available i.e. ESB -->
+    <!--<MediationConfig>
+        <LoadFromRegistry>false</LoadFromRegistry>
+        <SaveToFile>false</SaveToFile>
+        <Persistence>enabled</Persistence>
+        <RegistryPersistence>enabled</RegistryPersistence>
+    </MediationConfig>-->
+
+    <!--
+    Server intializing code, specified as implementation classes of org.wso2.carbon.core.ServerInitializer.
+    This code will be run when the Carbon server is initialized
+    -->
+    <ServerInitializers>
+        <!--<Initializer></Initializer>-->
+    </ServerInitializers>
+    
+    <!--
+    Indicates whether the Carbon Servlet is required by the system, and whether it should be
+    registered
+    -->
+    <RequireCarbonServlet>${require.carbon.servlet}</RequireCarbonServlet>
+
+    <!--
+    Carbon H2 OSGI Configuration
+    By default non of the servers start.
+        name="web" - Start the web server with the H2 Console
+        name="webPort" - The port (default: 8082)
+        name="webAllowOthers" - Allow other computers to connect
+        name="webSSL" - Use encrypted (HTTPS) connections
+        name="tcp" - Start the TCP server
+        name="tcpPort" - The port (default: 9092)
+        name="tcpAllowOthers" - Allow other computers to connect
+        name="tcpSSL" - Use encrypted (SSL) connections
+        name="pg" - Start the PG server
+        name="pgPort"  - The port (default: 5435)
+        name="pgAllowOthers"  - Allow other computers to connect
+        name="trace" - Print additional trace information; for all servers
+        name="baseDir" - The base directory for H2 databases; for all servers  
+    -->
+    <!--H2DatabaseConfiguration>
+        <property name="web" />
+        <property name="webPort">8082</property>
+        <property name="webAllowOthers" />
+        <property name="webSSL" />
+        <property name="tcp" />
+        <property name="tcpPort">9092</property>
+        <property name="tcpAllowOthers" />
+        <property name="tcpSSL" />
+        <property name="pg" />
+        <property name="pgPort">5435</property>
+        <property name="pgAllowOthers" />
+        <property name="trace" />
+        <property name="baseDir">${carbon.home}</property>
+    </H2DatabaseConfiguration-->
+    <!--Disabling statistics reporter by default-->
+    <StatisticsReporterDisabled>true</StatisticsReporterDisabled>
+
+    <!--
+       Default Feature Repository of WSO2 Carbon.
+    -->
+    <FeatureRepository>
+	<RepositoryName>default repository</RepositoryName>
+	<RepositoryURL>http://dist.wso2.org/p2/carbon/releases/4.1.1</RepositoryURL>
+    </FeatureRepository>
+</Server>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c71457c0/tools/stratos-installer/config/bam/bin/wso2server.sh
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/config/bam/bin/wso2server.sh b/tools/stratos-installer/config/bam/bin/wso2server.sh
new file mode 100644
index 0000000..1445a49
--- /dev/null
+++ b/tools/stratos-installer/config/bam/bin/wso2server.sh
@@ -0,0 +1,294 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+#  Copyright 2005-2012 WSO2, Inc. http://www.wso2.org
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+# ----------------------------------------------------------------------------
+# Main Script for the WSO2 Carbon Server
+#
+# Environment Variable Prequisites
+#
+#   CARBON_HOME   Home of WSO2 Carbon installation. If not set I will  try
+#                   to figure it out.
+#
+#   JAVA_HOME       Must point at your Java Development Kit installation.
+#
+#   JAVA_OPTS       (Optional) Java runtime options used when the commands
+#                   is executed.
+#
+# NOTE: Borrowed generously from Apache Tomcat startup scripts.
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+#ulimit -n 100000
+
+cygwin=false;
+darwin=false;
+os400=false;
+mingw=false;
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+MINGW*) mingw=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true
+        if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+# Only set CARBON_HOME if not already set
+[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd`
+
+# Set AXIS2_HOME. Needed for One Click JAR Download
+AXIS2_HOME=$CARBON_HOME
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CARBON_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
+  [ -n "$AXIS2_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"`
+fi
+
+# For OS400
+if $os400; then
+  # Set job priority to standard for interactive (interactive - 6) by using
+  # the interactive priority - 6, the helper threads that respond to requests
+  # will be running at the same priority as interactive jobs.
+  COMMAND='chgjob job('$JOBNAME') runpty(6)'
+  system $COMMAND
+
+  # Enable multi threading
+  QIBM_MULTI_THREADED=Y
+  export QIBM_MULTI_THREADED
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$CARBON_HOME" ] &&
+    CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+  [ -n "$AXIS2_HOME" ] &&
+    CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`"
+  # TODO classpath?
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD=java
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo " CARBON cannot execute $JAVACMD"
+  exit 1
+fi
+
+# if JAVA_HOME is not set we're not happy
+if [ -z "$JAVA_HOME" ]; then
+  echo "You must set the JAVA_HOME variable before running CARBON."
+  exit 1
+fi
+
+if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then
+  PID=`cat "$CARBON_HOME"/wso2carbon.pid`
+fi
+
+# ----- Process the input command ----------------------------------------------
+for c in $*
+do
+    if [ "$c" = "--debug" ] || [ "$c" = "-debug" ] || [ "$c" = "debug" ]; then
+          CMD="--debug"
+          continue
+    elif [ "$CMD" = "--debug" ]; then
+          if [ -z "$PORT" ]; then
+                PORT=$c
+          fi
+    elif [ "$c" = "--stop" ] || [ "$c" = "-stop" ] || [ "$c" = "stop" ]; then
+          CMD="stop"
+    elif [ "$c" = "--start" ] || [ "$c" = "-start" ] || [ "$c" = "start" ]; then
+          CMD="start"
+    elif [ "$c" = "--version" ] || [ "$c" = "-version" ] || [ "$c" = "version" ]; then
+          CMD="version"
+    elif [ "$c" = "--restart" ] || [ "$c" = "-restart" ] || [ "$c" = "restart" ]; then
+          CMD="restart"
+    elif [ "$c" = "--test" ] || [ "$c" = "-test" ] || [ "$c" = "test" ]; then
+          CMD="test"
+    fi
+done
+
+if [ "$CMD" = "--debug" ]; then
+  if [ "$PORT" = "" ]; then
+    echo " Please specify the debug port after the --debug option"
+    exit 1
+  fi
+  if [ -n "$JAVA_OPTS" ]; then
+    echo "Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option."
+  fi
+  CMD="RUN"
+  JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$PORT"
+  echo "Please start the remote debugging client to continue..."
+elif [ "$CMD" = "start" ]; then
+  if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then
+    if  ps -p $PID >&- ; then
+      echo "Process is already running"
+      exit 0
+    fi
+  fi
+  export CARBON_HOME=$CARBON_HOME
+# using nohup bash to avoid erros in solaris OS.TODO
+  nohup bash $CARBON_HOME/bin/wso2server.sh > /dev/null 2>&1 &
+  exit 0
+elif [ "$CMD" = "stop" ]; then
+  export CARBON_HOME=$CARBON_HOME
+  kill -term `cat $CARBON_HOME/wso2carbon.pid`
+  exit 0
+elif [ "$CMD" = "restart" ]; then
+  export CARBON_HOME=$CARBON_HOME
+  kill -term `cat $CARBON_HOME/wso2carbon.pid`
+  process_status=0
+  pid=`cat $CARBON_HOME/wso2carbon.pid`
+  while [ "$process_status" -eq "0" ]
+  do
+        sleep 1;
+        ps -p$pid 2>&1 > /dev/null
+        process_status=$?
+  done
+
+# using nohup bash to avoid erros in solaris OS.TODO
+  nohup bash $CARBON_HOME/bin/wso2server.sh > /dev/null 2>&1 &
+  exit 0
+elif [ "$CMD" = "test" ]; then
+    JAVACMD="exec "$JAVACMD""
+elif [ "$CMD" = "version" ]; then
+  cat $CARBON_HOME/bin/version.txt
+  cat $CARBON_HOME/bin/wso2carbon-version.txt
+  exit 0
+fi
+
+# ---------- Handle the SSL Issue with proper JDK version --------------------
+jdk_16=`$JAVA_HOME/bin/java -version 2>&1 | grep "1.[6|7]"`
+if [ "$jdk_16" = "" ]; then
+   echo " Starting WSO2 Carbon (in unsupported JDK)"
+   echo " [ERROR] CARBON is supported only on JDK 1.6 and 1.7"
+fi
+
+CARBON_XBOOTCLASSPATH=""
+for f in "$CARBON_HOME"/lib/xboot/*.jar
+do
+    if [ "$f" != "$CARBON_HOME/lib/xboot/*.jar" ];then
+        CARBON_XBOOTCLASSPATH="$CARBON_XBOOTCLASSPATH":$f
+    fi
+done
+
+JAVA_ENDORSED_DIRS="$CARBON_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed"
+
+CARBON_CLASSPATH=""
+if [ -e "$JAVA_HOME/lib/tools.jar" ]; then
+    CARBON_CLASSPATH="$JAVA_HOME/lib/tools.jar"
+fi
+for f in "$CARBON_HOME"/bin/*.jar
+do
+    if [ "$f" != "$CARBON_HOME/bin/*.jar" ];then
+        CARBON_CLASSPATH="$CARBON_CLASSPATH":$f
+    fi
+done
+for t in "$CARBON_HOME"/lib/commons-lang*.jar
+do
+    CARBON_CLASSPATH="$CARBON_CLASSPATH":$t
+done
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
+  CARBON_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
+  AXIS2_HOME=`cygpath --absolute --windows "$CARBON_HOME"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
+  CARBON_CLASSPATH=`cygpath --path --windows "$CARBON_CLASSPATH"`
+  CARBON_XBOOTCLASSPATH=`cygpath --path --windows "$CARBON_XBOOTCLASSPATH"`
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+echo JAVA_HOME environment variable is set to $JAVA_HOME
+echo CARBON_HOME environment variable is set to $CARBON_HOME
+
+cd "$CARBON_HOME"
+
+START_EXIT_STATUS=121
+status=$START_EXIT_STATUS
+
+while [ "$status" = "$START_EXIT_STATUS" ]
+do
+    $JAVACMD \
+    -Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \
+    -Xms256m -Xmx1024m -XX:MaxPermSize=256m \
+    -XX:+HeapDumpOnOutOfMemoryError \
+    -XX:HeapDumpPath="$CARBON_HOME/repository/logs/heap-dump.hprof" \
+    -javaagent:"$CARBON_HOME/repository/components/plugins/jamm_0.2.5.wso2v2.jar" \
+    $JAVA_OPTS \
+    -Dcom.sun.management.jmxremote \
+    -classpath "$CARBON_CLASSPATH" \
+    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+    -Djava.io.tmpdir="$CARBON_HOME/tmp" \
+    -Dcatalina.base="$CARBON_HOME/lib/tomcat" \
+    -Dwso2.server.standalone=true \
+    -Dcarbon.registry.root=/ \
+    -Djava.command="$JAVACMD" \
+    -Dcarbon.home="$CARBON_HOME" \
+    -Djava.util.logging.config.file="$CARBON_HOME/repository/conf/log4j.properties" \
+    -Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" \
+    -Dcomponents.repo="$CARBON_HOME/repository/components/plugins" \
+    -Dconf.location="$CARBON_HOME/repository/conf"\
+    -Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" \
+    -Dcom.atomikos.icatch.hide_init_file_path=true \
+    -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true \
+    -Dcom.sun.jndi.ldap.connect.pool.authentication=simple  \
+    -Dcom.sun.jndi.ldap.connect.pool.timeout=3000  \
+    -Dorg.terracotta.quartz.skipUpdateCheck=true \
+    -Djava.security.egd=file:/dev/./urandom \
+    -Dfile.encoding=UTF8 \
+    org.wso2.carbon.bootstrap.Bootstrap $*
+    status=$?
+done