You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2013/08/06 10:53:54 UTC
[2/2] git commit: Initial revision of ec2-demo-setup: borrowed
generously from wso2 stratos2 ec2 demo installation and updated accordingly
Initial revision of ec2-demo-setup: borrowed generously from wso2 stratos2 ec2 demo installation and updated accordingly
Signed-off-by: Isuru Perera <is...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/6e03f564
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/6e03f564
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/6e03f564
Branch: refs/heads/master
Commit: 6e03f564cc34d8a2720c3b4633f7015f35bad936
Parents: 1614982
Author: Imesh Gunaratne <im...@wso2.com>
Authored: Tue Aug 6 12:49:39 2013 +0530
Committer: Isuru Perera <is...@apache.org>
Committed: Tue Aug 6 14:23:12 2013 +0530
----------------------------------------------------------------------
tools/ec2-demo-setup/README | 20 +
tools/ec2-demo-setup/clean.sh | 68 +
tools/ec2-demo-setup/config.sh | 301 +++++
tools/ec2-demo-setup/start_servers.sh | 85 ++
.../ec2-demo-setup/tempconfigs/agent.properties | 23 +
.../tempconfigs/cartridge-config.properties | 36 +
.../tempconfigs/cloud-controller.xml | 84 ++
.../tempconfigs/features-dashboard.xml | 807 +++++++++++
.../tempconfigs/gitblit.properties | 1277 ++++++++++++++++++
tools/ec2-demo-setup/tempconfigs/hosts | 9 +
tools/ec2-demo-setup/tempconfigs/hosts.erb | 19 +
tools/ec2-demo-setup/tempconfigs/mysql.xml | 35 +
tools/ec2-demo-setup/tempconfigs/nodes.pp | 465 +++++++
tools/ec2-demo-setup/tempconfigs/php.xml | 33 +
.../tempconfigs/s2reponotifier.groovy | 4 +
tools/ec2-demo-setup/tempconfigs/tomcat.xml | 31 +
tools/ec2-demo-setup/unpack-packages.sh | 29 +
17 files changed, 3326 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/README
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/README b/tools/ec2-demo-setup/README
new file mode 100644
index 0000000..99bb859
--- /dev/null
+++ b/tools/ec2-demo-setup/README
@@ -0,0 +1,20 @@
+Apache Stratos - Amazon EC2 Demo
+=================================
+
+This folder contains scripts for installing Apache Stratos on an Amazon EC2 instance.
+
+Installation
+=============
+
+1. Build Apache Stratos from source:
+ git clone https://git-wip-us.apache.org/repos/asf/incubator-stratos.git
+ cd incubator-stratos
+ mvn clean install
+2. Copy cloud controller, elb, agent, cli and stratos controller packages to a sub folder called 'dist'.
+3. Run unpack-packages.sh to extract the products to current folder.
+4. Download MySql Java connector from http://dev.mysql.com/downloads and copy the jar file to repository/components/lib folder of cloud controller, stratos controller and elb.
+5. Run config.sh to start the installation. If the configuration fail due to some reason, correct the problem, run clean.sh and then run config.sh again.
+
+
+Thanks for using Apache Stratos
+Apache Stratos Team
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/clean.sh
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/clean.sh b/tools/ec2-demo-setup/clean.sh
new file mode 100755
index 0000000..9ff9765
--- /dev/null
+++ b/tools/ec2-demo-setup/clean.sh
@@ -0,0 +1,68 @@
+#!/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.
+# ----------------------------------------------------------------------------
+# Clean up script for Apache Stratos
+# ----------------------------------------------------------------------------
+
+# Make sure the user is not running as root.
+if [ "$UID" == "0" ]; then
+echo ; echo " You must not run $0 as root." ; echo
+exit 69
+fi
+
+echo "Terminating all Java processes.. "
+killall java
+sleep 1;
+
+echo "Cleaning up databases... "
+mysqladmin -f -uroot -pg drop s2_foundation
+mysqladmin -f -uroot -pg drop userstore
+mysqladmin -f -uroot -pg drop billing
+mysql -uroot -pg </opt/resources/s2foundation_schema.sql
+mysql -uroot -pg </opt/resources/userstore.sql
+mysql -uroot -pg </opt/resources/metering_mysql.sql
+mysql -uroot -pg </opt/resources/billing-mysql.sql
+sleep 1;
+
+echo "Cleaning log files... "
+rm -rf /opt/apache-stratos-elb-3.0.0-SNAPSHOT/repository/logs/*
+rm -rf /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/logs/*
+rm -rf /opt/apache-stratos-agent-3.0.0-SNAPSHOT/repository/logs/*
+rm -rf /opt/apache-stratos-sc-3.0.0-SNAPSHOT/repository/logs/*
+
+echo "Cleaning S2 Agent's registrants... "
+rm -rf /opt/apache-stratos-agent-3.0.0-SNAPSHOT/registrants/*
+
+echo "Removing zookeeper directory... "
+rm -rf /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/data/*
+
+echo "Cleaning topology file... "
+rm -rf /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/conf/service-topology.conf*
+
+echo "Cleaning service definition files... "
+rm -rf /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/deployment/server/services/*
+
+echo "Cleaning cartridge definition files..."
+rm -rf /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/deployment/server/cartridges/*
+
+echo "Cleaning Cloud Controller's registry... "
+rm -rf /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/database/*
+cp /opt/resources/WSO2CARBON_DB.h2.db /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/database/
+
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/config.sh
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/config.sh b/tools/ec2-demo-setup/config.sh
new file mode 100755
index 0000000..fc8f4f9
--- /dev/null
+++ b/tools/ec2-demo-setup/config.sh
@@ -0,0 +1,301 @@
+#!/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
+# ----------------------------------------------------------------------------
+
+export LOG=/var/log/stratos.log
+export TEMP_CONFIG_DIR=/opt/tempconfigs
+CARTRIDGE_DEFINITIONS=/opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/deployment/server/cartridges
+SERVICE_DEFINITIONS=/opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/deployment/server/services
+PAYLOADS=/opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/resources/payload
+SC_CONF_MT=/opt/apache-stratos-sc-3.0.0-SNAPSHOT/repository/conf/multitenancy
+
+# 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
+
+if [ -e "$LOG" ]; then
+rm $LOG
+fi
+
+# following is helpful if you've mistakenly added data in user-data and want to recover.
+read -p "Please confirm that you want to be prompted, irrespective of whether the data is available in the user-data? [y/n]" answer
+if [[ $answer = n ]] ; then
+
+echo "Trying to find values via user-data.." >> $LOG
+wget http://169.254.169.254/latest/user-data -O /opt/user-data.txt >> $LOG
+userData=`cat /opt/user-data.txt`
+echo "Extracted user-data: $userData" >> $LOG
+
+#assign values obtained through user-data
+for i in {1..8}
+do
+entry=`echo $userData | cut -d',' -f$i | sed 's/,//g'`
+key=`echo $entry | cut -d'=' -f1 | sed 's/=//g'`
+value=`echo $entry | cut -d'=' -f2 | sed 's/=//g'`
+if [[ "$key" == *EC2_KEY_PATH* ]] ; then EC2_KEY_PATH=$value;
+elif [[ "$key" == *ACCESS_KEY* ]] ; then ACCESS_KEY=$value;
+elif [[ "$key" == *SECRET_KEY* ]] ; then SECRET_KEY=$value;
+elif [[ "$key" == *OWNER_ID* ]] ; then OWNER_ID=$value;
+elif [[ "$key" == *AVAILABILITY_ZONE* ]] ; then AVAILABILITY_ZONE=$value;
+elif [[ "$key" == *SECURITY_GROUP* ]] ; then SECURITY_GROUP=$value;
+elif [[ "$key" == *KEY_PAIR_NAME* ]] ; then KEY_PAIR_NAME=$value;
+elif [[ "$key" == *DOMAIN* ]] ; then DOMAIN=$value;
+fi
+done
+fi
+
+# Getting EC2 hostname
+wget http://169.254.169.254/latest/meta-data/public-hostname -O /opt/public-hostname
+s2_hostname=`cat /opt/public-hostname`
+
+#prompt for the values that are not retrieved via user-data
+if [[ -z $EC2_KEY_PATH ]]; then
+echo -n "Please copy your EC2 public key and enter full path to it (eg: /home/ubuntu/EC2S2KEY.pem):"
+read EC2_KEY_PATH
+if [ ! -e "$EC2_KEY_PATH" ]; then
+echo "EC2 key file ($EC2_KEY_PATH) is not found. We cannot proceed."
+exit 69
+fi
+fi
+if [[ -z $ACCESS_KEY ]]; then
+echo -n "Access Key of EC2 account (eg: Q0IAJDWGFM842UHQP27L) :"
+read ACCESS_KEY
+fi
+if [[ -z $SECRET_KEY ]]; then
+echo -n "Secret key of EC2 account (eg: DSKidmKS620mMWMBK5DED983HJSELA) :"
+read SECRET_KEY
+fi
+if [[ -z $OWNER_ID ]]; then
+echo -n "Owner id of EC2 account (eg: 927235126122165) :"
+read OWNER_ID
+fi
+if [[ -z $AVAILABILITY_ZONE ]]; then
+echo -n "Availability zone (default value: us-east-1c) :"
+read AVAILABILITY_ZONE
+fi
+if [[ -z $SECURITY_GROUP ]]; then
+echo -n "Name of the EC2 security group (eg: s2demo) :"
+read SECURITY_GROUP
+fi
+if [[ -z $KEY_PAIR_NAME ]]; then
+echo -n "Name of the key pair (eg: EC2S2KEY) :"
+read KEY_PAIR_NAME
+fi
+if [[ -z $DOMAIN ]]; then
+echo -n "Domain name for Stratos (default value: stratos.apache.org) :"
+read DOMAIN
+fi
+
+if [ -z "$DOMAIN" ]; then
+DOMAIN="stratos.apache.org"
+fi
+
+if [ -z "$AVAILABILITY_ZONE" ]; then
+AVAILABILITY_ZONE="us-east-1c"
+echo "Default Availability Zone $AVAILABILITY_ZONE" >> $LOG
+fi
+
+if [ ! -e "$EC2_KEY_PATH" ]; then
+echo "EC2 key file ($EC2_KEY_PATH) is not found. We cannot proceed."
+exit 69
+fi
+
+ip=`facter ipaddress`
+echo "Setting private ip addresses $ip" >> $LOG
+
+echo "Setting up cloud controller values" >> $LOG
+
+cp $TEMP_CONFIG_DIR/cloud-controller.xml $TEMP_CONFIG_DIR/cloud-controller.xml.tmp
+sed -i "s/ACCESSKEY/$ACCESS_KEY/g" $TEMP_CONFIG_DIR/cloud-controller.xml.tmp
+sed -i "s#SECRETKEY#$SECRET_KEY#g" $TEMP_CONFIG_DIR/cloud-controller.xml.tmp
+sed -i "s/OWNERID/$OWNER_ID/g" $TEMP_CONFIG_DIR/cloud-controller.xml.tmp
+sed -i "s/AVAILABILITYZONE/$AVAILABILITY_ZONE/g" $TEMP_CONFIG_DIR/cloud-controller.xml.tmp
+sed -i "s/SECURITYGROUP/$SECURITY_GROUP/g" $TEMP_CONFIG_DIR/cloud-controller.xml.tmp
+sed -i "s/KEYPAIR/$KEY_PAIR_NAME/g" $TEMP_CONFIG_DIR/cloud-controller.xml.tmp
+mv $TEMP_CONFIG_DIR/cloud-controller.xml.tmp /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/conf/cloud-controller.xml
+chown ubuntu:ubuntu /opt/apache-stratos-cc-3.0.0-SNAPSHOT/repository/conf/cloud-controller.xml
+
+rm -rf $CARTRIDGE_DEFINITIONS/*
+
+echo "Setting up domain in cartridge xml" >> $LOG
+cp $TEMP_CONFIG_DIR/mysql.xml $TEMP_CONFIG_DIR/mysql.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/mysql.xml.tmp
+mv $TEMP_CONFIG_DIR/mysql.xml.tmp $CARTRIDGE_DEFINITIONS/mysql.xml
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/mysql.xml
+
+cp $TEMP_CONFIG_DIR/php.xml $TEMP_CONFIG_DIR/php.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/php.xml.tmp
+mv $TEMP_CONFIG_DIR/php.xml.tmp $CARTRIDGE_DEFINITIONS/php.xml
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/php.xml
+
+cp $TEMP_CONFIG_DIR/tomcat.xml $TEMP_CONFIG_DIR/tomcat.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/tomcat.xml.tmp
+mv $TEMP_CONFIG_DIR/tomcat.xml.tmp $CARTRIDGE_DEFINITIONS/tomcat.xml
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/tomcat.xml
+
+cp $TEMP_CONFIG_DIR/as_multitenant_cartridge.xml $TEMP_CONFIG_DIR/as_multitenant_cartridge.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/as_multitenant_cartridge.xml.tmp
+mv $TEMP_CONFIG_DIR/as_multitenant_cartridge.xml.tmp $CARTRIDGE_DEFINITIONS/as_multitenant_cartridge.xml
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/as_multitenant_cartridge.xml
+
+cp $TEMP_CONFIG_DIR/as_privatejet_cartridge.xml $TEMP_CONFIG_DIR/as_privatejet_cartridge.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/as_privatejet_cartridge.xml.tmp
+mv $TEMP_CONFIG_DIR/as_privatejet_cartridge.xml.tmp $CARTRIDGE_DEFINITIONS/as_privatejet_cartridge.xml
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/as_privatejet_cartridge.xml
+
+cp $TEMP_CONFIG_DIR/esb_multitenant_cartridge.xml $TEMP_CONFIG_DIR/esb_multitenant_cartridge.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/esb_multitenant_cartridge.xml.tmp
+mv $TEMP_CONFIG_DIR/esb_multitenant_cartridge.xml.tmp $CARTRIDGE_DEFINITIONS/esb_multitenant_cartridge.xml.back
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/esb_multitenant_cartridge.xml.back
+
+cp $TEMP_CONFIG_DIR/esb_privatejet_cartridge.xml $TEMP_CONFIG_DIR/esb_privatejet_cartridge.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/esb_privatejet_cartridge.xml.tmp
+mv $TEMP_CONFIG_DIR/esb_privatejet_cartridge.xml.tmp $CARTRIDGE_DEFINITIONS/esb_privatejet_cartridge.xml.back
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/esb_privatejet_cartridge.xml.back
+
+cp $TEMP_CONFIG_DIR/bps_multitenant_cartridge.xml $TEMP_CONFIG_DIR/bps_multitenant_cartridge.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/bps_multitenant_cartridge.xml.tmp
+mv $TEMP_CONFIG_DIR/bps_multitenant_cartridge.xml.tmp $CARTRIDGE_DEFINITIONS/bps_multitenant_cartridge.xml.back
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/bps_multitenant_cartridge.xml.back
+
+cp $TEMP_CONFIG_DIR/bps_privatejet_cartridge.xml $TEMP_CONFIG_DIR/bps_privatejet_cartridge.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/bps_privatejet_cartridge.xml.tmp
+mv $TEMP_CONFIG_DIR/bps_privatejet_cartridge.xml.tmp $CARTRIDGE_DEFINITIONS/bps_privatejet_cartridge.xml.back
+chown ubuntu:ubuntu $CARTRIDGE_DEFINITIONS/bps_privatejet_cartridge.xml.back
+
+cp $TEMP_CONFIG_DIR/hosts $TEMP_CONFIG_DIR/hosts.tmp
+echo "$ip s2demo.s2.apache.org puppetmaster" >> $TEMP_CONFIG_DIR/hosts.tmp
+echo "$ip cc.apache.org" >> $TEMP_CONFIG_DIR/hosts.tmp
+echo "$ip elb.apache.org" >> $TEMP_CONFIG_DIR/hosts.tmp
+echo "$ip sc.apache.org" >> $TEMP_CONFIG_DIR/hosts.tmp
+
+mv $TEMP_CONFIG_DIR/hosts.tmp /etc/hosts
+
+cp $TEMP_CONFIG_DIR/hosts.erb $TEMP_CONFIG_DIR/hosts.erb.tmp
+cp $TEMP_CONFIG_DIR/cartridge-config.properties $TEMP_CONFIG_DIR/cartridge-config.properties.tmp
+cp $TEMP_CONFIG_DIR/agent.properties $TEMP_CONFIG_DIR/agent.properties.tmp
+cp $TEMP_CONFIG_DIR/launch-params-as $TEMP_CONFIG_DIR/launch-params-as.tmp
+cp $TEMP_CONFIG_DIR/launch-params-esb $TEMP_CONFIG_DIR/launch-params-esb.tmp
+cp $TEMP_CONFIG_DIR/launch-params-bps $TEMP_CONFIG_DIR/launch-params-bps.tmp
+
+
+sed -i "s/s2_ip/$ip/g" $TEMP_CONFIG_DIR/hosts.erb.tmp
+sed -i "s/s2_ip/$ip/g" $TEMP_CONFIG_DIR/cartridge-config.properties.tmp
+sed -i "s@EC2KEYPATH@$EC2_KEY_PATH@g" $TEMP_CONFIG_DIR/cartridge-config.properties.tmp
+sed -i "s/s2_hostname/$s2_hostname/g" $TEMP_CONFIG_DIR/cartridge-config.properties.tmp
+sed -i "s/s2_ip/$ip/g" $TEMP_CONFIG_DIR/agent.properties.tmp
+sed -i "s/s2_ip/$ip/g" $TEMP_CONFIG_DIR/launch-params-as.tmp
+sed -i "s/s2_ip/$ip/g" $TEMP_CONFIG_DIR/launch-params-esb.tmp
+sed -i "s/s2_ip/$ip/g" $TEMP_CONFIG_DIR/launch-params-bps.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/launch-params-as.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/launch-params-bps.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/launch-params-esb.tmp
+
+rm -rf $SERVICE_DEFINITIONS/*
+
+cp $TEMP_CONFIG_DIR/s2reponotifier.groovy $TEMP_CONFIG_DIR/s2reponotifier.groovy.tmp
+sed -i "s/s2_hostname/$s2_hostname/g" $TEMP_CONFIG_DIR/s2reponotifier.groovy.tmp
+mv $TEMP_CONFIG_DIR/s2reponotifier.groovy.tmp /opt/GitBlit/data/groovy/s2reponotifier.groovy
+
+
+cp $TEMP_CONFIG_DIR/appserver_service.xml $TEMP_CONFIG_DIR/appserver_service.xml.tmp
+cp $TEMP_CONFIG_DIR/bps_service.xml $TEMP_CONFIG_DIR/bps_service.xml.tmp
+cp $TEMP_CONFIG_DIR/esb_service.xml $TEMP_CONFIG_DIR/esb_service.xml.tmp
+
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/appserver_service.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/bps_service.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/esb_service.xml.tmp
+
+mv $TEMP_CONFIG_DIR/appserver_service.xml.tmp $SERVICE_DEFINITIONS/appserver_service.xml
+chown ubuntu:ubuntu $SERVICE_DEFINITIONS/appserver_service.xml
+
+mv $TEMP_CONFIG_DIR/bps_service.xml.tmp $SERVICE_DEFINITIONS/bps_service.xml.back
+chown ubuntu:ubuntu $SERVICE_DEFINITIONS/bps_service.xml.back
+
+mv $TEMP_CONFIG_DIR/esb_service.xml.tmp $SERVICE_DEFINITIONS/esb_service.xml.back
+chown ubuntu:ubuntu $SERVICE_DEFINITIONS/esb_service.xml.back
+
+cp $TEMP_CONFIG_DIR/nodes.pp $TEMP_CONFIG_DIR/nodes.pp.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/nodes.pp.tmp
+
+#make dirs if not exist
+dir=$PAYLOADS
+if [ ! -d "$dir" ]; then
+mkdir $dir
+fi
+
+dir=$PAYLOADS/as
+if [ ! -d "$dir" ]; then
+mkdir $dir
+fi
+
+dir=$PAYLOADS/bps
+if [ ! -d "$dir" ]; then
+mkdir $dir
+fi
+
+dir=$PAYLOADS/esb
+if [ ! -d "$dir" ]; then
+mkdir $dir
+fi
+
+mv $TEMP_CONFIG_DIR/hosts.erb.tmp /mnt/puppet/stratos2/templates/hosts.erb
+mv $TEMP_CONFIG_DIR/cartridge-config.properties.tmp /opt/apache-stratos-sc-3.0.0-SNAPSHOT/repository/conf/cartridge-config.properties
+chown ubuntu:ubuntu /opt/apache-stratos-sc-3.0.0-SNAPSHOT/repository/conf/cartridge-config.properties
+mv $TEMP_CONFIG_DIR/agent.properties.tmp /opt/apache-stratos-agent-3.0.0-SNAPSHOT/repository/conf/agent.properties
+chown ubuntu:ubuntu /opt/apache-stratos-agent-3.0.0-SNAPSHOT/repository/conf/agent.properties
+
+mv $TEMP_CONFIG_DIR/launch-params-as.tmp $PAYLOADS/as/launch-params
+chown ubuntu:ubuntu $PAYLOADS/as/launch-params
+mv $TEMP_CONFIG_DIR/launch-params-esb.tmp $PAYLOADS/esb/launch-params
+chown ubuntu:ubuntu $PAYLOADS/esb/launch-params
+mv $TEMP_CONFIG_DIR/launch-params-bps.tmp $PAYLOADS/bps/launch-params
+chown ubuntu:ubuntu $PAYLOADS/bps/launch-params
+
+mv $TEMP_CONFIG_DIR/nodes.pp.tmp /mnt/puppet/stratos2/manifests/nodes.pp
+
+echo "Creating payload zip files.." >> $LOG
+cd $PAYLOADS/as
+zip -r as-default.zip launch-params
+chown ubuntu:ubuntu as-default.zip
+
+cd $PAYLOADS/esb
+zip -r esb-default.zip launch-params
+chown ubuntu:ubuntu esb-default.zip
+
+cd $PAYLOADS/bps
+zip -r bps-default.zip launch-params
+chown ubuntu:ubuntu bps-default.zip
+
+echo "Payloads created .. Done" >> $LOG
+
+echo "Setting up domain in features dashboard" >> $LOG
+cp $TEMP_CONFIG_DIR/features-dashboard.xml $TEMP_CONFIG_DIR/features-dashboard.xml.tmp
+sed -i "s/S2DOMAIN/$DOMAIN/g" $TEMP_CONFIG_DIR/features-dashboard.xml.tmp
+mv $TEMP_CONFIG_DIR/features-dashboard.xml.tmp $SC_CONF_MT/features-dashboard.xml
+chown ubuntu:ubuntu $SC_CONF_MT/features-dashboard.xml
+
+echo "You have successfully configured Apache Stratos!!"
+
+su - ubuntu -c /opt/start_servers.sh
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/start_servers.sh
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/start_servers.sh b/tools/ec2-demo-setup/start_servers.sh
new file mode 100755
index 0000000..4d5b814
--- /dev/null
+++ b/tools/ec2-demo-setup/start_servers.sh
@@ -0,0 +1,85 @@
+#!/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 start-up script for Apache Stratos
+# ----------------------------------------------------------------------------
+
+SLEEP=60
+LOG=stratos-server.log
+sc_path=/opt/apache-stratos-sc-3.0.0-SNAPSHOT
+cc_path=/opt/apache-stratos-cc-3.0.0-SNAPSHOT
+elb_path=/opt/apache-stratos-elb-3.0.0-SNAPSHOT
+agent_path=/opt/apache-stratos-agent-3.0.0-SNAPSHOT
+gitblit_path=/opt/GitBlit
+
+start_servers() {
+
+ echo ${cc_path} >> $LOG
+
+ echo "Starting CC server ..." | tee -a $LOG
+ nohup ${cc_path}/bin/stratos.sh -DapplyPatches &
+ #echo "CC server started" | tee -a $LOG
+ sleep 120
+
+ echo ${sc_path} >> $LOG
+
+ echo "Starting SC server ..." | tee -a $LOG
+ nohup ${sc_path}/bin/stratos.sh -DapplyPatches &
+ #echo "SC server started" | tee -a $LOG
+ sleep $SLEEP
+
+
+ echo ${elb_path} >> $LOG
+
+ echo "Starting ELB server ..." | tee -a $LOG
+ nohup ${elb_path}/bin/stratos.sh -DapplyPatches &
+ #echo "ELB server started" | tee -a $LOG
+ sleep $SLEEP
+
+ echo ${agent_path} >> $LOG
+
+ echo "Starting Agent server ..." | tee -a $LOG
+ nohup ${agent_path}/bin/stratos.sh -DapplyPatches &
+ #echo "Agent server started" | tee -a $LOG
+ sleep $SLEEP
+
+ echo "Starting internal Git Server ..." | tee -a $LOG
+ cd ${gitblit_path}
+ git config --global --bool --add http.sslVerify false
+ nohup java -jar gitblit.jar --baseFolder data &
+ #echo "GitBlit server started" | tee -a $LOG
+ sleep $SLEEP
+
+
+ echo "Stratos 2.0 servers started up successfully!"
+
+
+}
+
+
+while true; do
+
+read -p "Make sure you have read the configuration guide and have setup properly, press [y] to continue, [n] to exit. " yn
+ case $yn in
+ [Yy]* ) start_servers;
+ break;;
+ [Nn]* ) echo "Exiting..."; break;;
+ * ) echo "Please answer [y] or [n].";;
+ esac
+done
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/tempconfigs/agent.properties
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/tempconfigs/agent.properties b/tools/ec2-demo-setup/tempconfigs/agent.properties
new file mode 100755
index 0000000..9b06ba3
--- /dev/null
+++ b/tools/ec2-demo-setup/tempconfigs/agent.properties
@@ -0,0 +1,23 @@
+loadBalancerDomain=wso2.carbon.lb.domain
+
+# Registrant health check interval in seconds
+registrant.heathCheckInterval=10
+registrant.healthCheckThreadPoolSize=2000
+
+# Clustering parameters of Cartridge agent member
+clustering.membershipScheme=wka
+clustering.maxRetries=5
+clustering.localMemberHost=s2_ip
+#clustering.localMemberBindPort=4026
+clustering.localMemberPort=4025
+
+# ELB members
+members.1.host=s2_ip
+members.1.port=4000
+
+# TRustrore
+wso2.carbon.truststore=/opt/apache-stratos-sc-3.0.0-SNAPSHOT/repository/resources/security/wso2carbon.jks
+
+# Instance State Notification Service
+adc.host=s2_ip
+adc.port=9445
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/tempconfigs/cartridge-config.properties
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/tempconfigs/cartridge-config.properties b/tools/ec2-demo-setup/tempconfigs/cartridge-config.properties
new file mode 100644
index 0000000..cfa35f4
--- /dev/null
+++ b/tools/ec2-demo-setup/tempconfigs/cartridge-config.properties
@@ -0,0 +1,36 @@
+sc.ip=s2_ip
+autoscalerService.url=https://cc.apache.org:9444/services/CloudControllerService/
+autoscaler.time.out=190000
+cartridge.agent.epr=https://s2_ip:9447/services/CartridgeAgentService
+git.host.name=s2_hostname
+git.host.ip=s2_ip
+git.repo.notification.url=https://sc.apache.org:9445/services/RepoNotificationService/
+identity.server.url=https://sc.apache.org:9447/services/RepoNotificationService/
+
+adc.jdbc.url=jdbc:mysql://sc.apache.org:3306/s2_foundation
+adc.jdbc.username=root
+adc.jdbc.password=g
+adc.jdbc.driver=com.mysql.jdbc.Driver
+
+feature.externalrepo.validation.enabled=true
+feature.internalrepo.enabled=true
+feature.multitenant.multiplesubscription.enabled=false
+
+internal.repo.username=admin
+internal.repo.password=admin
+
+mb.server.ip=cc.apache.org:5673
+
+append.script=SCRIPT_PATH/add_entry_zone_file.sh
+remove.script=SCRIPT_PATH/remove_entry_zone_file.sh
+bind.file.path=/etc/bind/db.STRATOS_DOMAIN
+elb.ip=s2_ip
+
+bam.ip=s2_ip
+bam.port=7714
+
+max.attempts=1000
+
+cartridge.key=EC2KEYPATH
+
+repository.info.epr=https://s2_ip:9445/services/RepositoryInformationService
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/tempconfigs/cloud-controller.xml
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/tempconfigs/cloud-controller.xml b/tools/ec2-demo-setup/tempconfigs/cloud-controller.xml
new file mode 100755
index 0000000..e5d245b
--- /dev/null
+++ b/tools/ec2-demo-setup/tempconfigs/cloud-controller.xml
@@ -0,0 +1,84 @@
+<?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.
+ -->
+
+<cloudController xmlns:svns="http://org.wso2.securevault/configuration">
+
+ <svns:secureVault
+ provider="org.wso2.securevault.secret.handler.SecretManagerSecretCallbackHandler" />
+
+ <dataPublisher enable="true">
+ <!-- BAM Server Info - default values are 'admin' and 'admin'
+ Optional element. -->
+ <bamServer>
+ <!-- BAM server URL should be specified in carbon.xml -->
+ <adminUserName>admin</adminUserName>
+ <adminPassword svns:secretAlias="cloud.controller.bam.server.admin.password">admin</adminPassword>
+ </bamServer>
+ <!-- Default cron expression is '1 * * * * ? *' meaning 'first second of every minute'.
+ Optional element. -->
+ <cron>1 * * * * ? *</cron>
+ <!-- Cassandra cluster related info -->
+ <!--cassandraInfo>
+ <connectionUrl>localhost:9160</connectionUrl>
+ <userName>admin</userName>
+ <password svns:secretAlias="cloud.controller.cassandra.server.password">admin</password>
+ </cassandraInfo-->
+ </dataPublisher>
+
+ <topologySync enable="true">
+ <!-- MB server info -->
+ <mbServerUrl>cc.apache.org:5673</mbServerUrl>
+ <cron>1 * * * * ? *</cron>
+ </topologySync>
+
+ <!-- Specify the properties that are common to an IaaS here. This element
+ is not necessary [0..1]. But you can use this section to avoid specifying
+ same property over and over again. -->
+ <iaasProviders>
+ <iaasProvider type="ec2" name="ec2 specific details">
+ <className>org.apache.stratos.cloud.controller.iaases.AWSEC2Iaas</className>
+ <provider>aws-ec2</provider>
+ <identity svns:secretAlias="elastic.scaler.ec2.identity">ACCESSKEY</identity>
+ <credential svns:secretAlias="elastic.scaler.ec2.credential">SECRETKEY</credential>
+ <scaleUpOrder>1</scaleUpOrder>
+ <scaleDownOrder>2</scaleDownOrder>
+ <maxInstanceLimit>4</maxInstanceLimit>
+ <property name="jclouds.ec2.ami-query" value="owner-id=OWNERID;state=available;image-type=machine"/>
+ <property name="availabilityZone" value="AVAILABILITYZONE"/>
+ <property name="securityGroups" value="SECURITYGROUP"/>
+ <property name="keyPair" value="KEYPAIR"/>
+ <property name="autoAssignIp" value="true" />
+ <imageId>ami-d4841cbd</imageId>
+ </iaasProvider>
+
+<!-- <iaasProvider type="openstack" name="openstack specific details">
+ <className>org.wso2.carbon.stratos.cloud.controller.iaases.OpenstackNovaIaas</className>
+ <provider>openstack-nova</provider>
+ <identity svns:secretAlias="cloud.controller.openstack.identity">demo:demo</identity>
+ <credential svns:secretAlias="cloud.controller.openstack.credential">openstack</credential>
+ <property name="jclouds.endpoint" value="http://192.168.16.20:5000/" />
+ <property name="jclouds.openstack-nova.auto-create-floating-ips" value="false"/>
+ <property name="jclouds.api-version" value="2.0/" />
+ <scaleUpOrder>2</scaleUpOrder>
+ <scaleDownOrder>3</scaleDownOrder>
+ <property name="X" value="x" />
+ <property name="Y" value="y" />
+ <imageId>nova/dab37f0e-cf6f-4812-86fc-733acf22d5e6</imageId>
+ </iaasProvider> -->
+ </iaasProviders>
+</cloudController>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6e03f564/tools/ec2-demo-setup/tempconfigs/features-dashboard.xml
----------------------------------------------------------------------
diff --git a/tools/ec2-demo-setup/tempconfigs/features-dashboard.xml b/tools/ec2-demo-setup/tempconfigs/features-dashboard.xml
new file mode 100755
index 0000000..d1125e8
--- /dev/null
+++ b/tools/ec2-demo-setup/tempconfigs/features-dashboard.xml
@@ -0,0 +1,807 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<data>
+ <service name="Cloud Services" link="https://S2DOMAIN:9445"
+ key="manager">
+ <story title="Billing">
+ <story-content>Billing is the process where the cloud computing
+ service subscribers are charged
+ based on the metered data. Billing
+ usually happens on a monthly basis.
+ Billing uses
+ pricing rates defined
+ against usage plans and compute the invoice against
+ the usage
+ data.
+ </story-content>
+ <story-links>
+ <link url="/carbon/tenant-billing/past_invoice.jsp">Billing...</link>
+ <link url="/carbon/tenant-billing/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Metering">
+ <story-content>Metering measures levels of resource utilization, such
+ as network bandwidth usage and
+ data storage volume, consumed by the
+ cloud services subscribers, aka
+ tenants.
+ Resource utilization's
+ (bandwidth and storage usage) are measured on the fly
+ and the
+ measured data is stored for summarizing and analyzing.
+ </story-content>
+ <story-links>
+ <link url="/carbon/tenant-usage/tenant_usage.jsp">Go to Metering....</link>
+ <link url="/carbon/tenant-usage/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Account Management">
+ <story-content>Account management allows a tenant to update and
+ validate contact information,
+ update the usage plan, validate the
+ account and even de-activate the
+ account .</story-content>
+ <story-links>
+ <link url="/carbon/account-mgt/account_mgt.jsp">Manage account...</link>
+ <link url="/carbon/account-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Users and Roles">
+ <story-content>You can add users and define your own roles for a
+ tenant. The permission model is
+ role based. So a tenant admin can
+ define what actions a role can perform
+ by
+ configuring permissions for
+ that role.</story-content>
+ <story-links>
+ <link url="/carbon/userstore/index.jsp">Manage users/roles...</link>
+ <link url="/carbon/userstore/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="MT-Logging">
+ <story-content>Flexible logging support with integration to
+ enterprise logging systems. This facilitate to monitor your system
+ and application logs through a log viewer.</story-content>
+ <story-links>
+ <link url="/carbon/log-view/index.jsp">Go to Log Viewer....</link>
+ <link url="/carbon/log-view/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+<!--
+ <story title="Usage Metering and Throttling">
+ <story-content><a
+ href="http://wso2.org/library/articles/2011/09/usage-metering-throttling-cloud-computing"><img
+ src="../../../../features-dashboard/dashboards/images/usage_metering_and_throttling.jpg"
+ alt=""/></story-content>
+ <story-links>
+ <link url=""></link>
+ <link url=""></link>
+ </story-links>
+ </story>
+ <story title="How WSO2 StratosLive meets Security Challenges in Cloud">
+ <story-content> <a
+ href="http://wso2.org/library/articles/2011/08/wso2-stratoslive-meets-security-challenges-cloud"><img
+ src="../../../../features-dashboard/dashboards/images/tenant_isolation.png"
+ alt=""/></a> </story-content>
+ </story>
+-->
+ </service>
+ <service name="Stratos Controller" link="https://S2DOMAIN:9445"
+ key="sc">
+ <story title="Multi-Tenant Cartridges">
+ <story-content>Stratos Cartridges, hosting WSO2 multi-tenant middleware
+ services delivers multi-tenancy within each Cartridge instance
+ where teams may define multiple tenants per Cartridge.
+ </story-content>
+ <story-links>
+ <link url="/carbon/cartridge-mgt/available_cartridges.jsp?item=available_multitenant_cartridges">Available Multi-Tenant Cartridges</link>
+ </story-links>
+ </story>
+ <story title="Single-Tenant Cartridges">
+ <story-content>Stratos Cartridges provide process-level isolation and
+ instance-level dedicated tenancy with single-tenant containers and frameworks.
+ </story-content>
+ <story-links>
+ <link url="/carbon/cartridge-mgt/available_cartridges.jsp?item=available_singletenant_cartridges">Available Single-Tenant Cartridges</link>
+ </story-links>
+ </story>
+ <story title="Subscribed Cartridges">
+ <story-content>The tenant user can see all details of the Subscribed Cartridges such as
+ the status and the number of running instances at the moment.
+ </story-content>
+ <story-links>
+ <link url="/carbon/cartridge-mgt/subscribed_cartridges.jsp">Subscribed Cartridges</link>
+ </story-links>
+ </story>
+ </service>
+<!--
+ <service name="Enterprise Service Bus" link="https://esb.cloud.wso2.com"
+ key="esb">
+ <story title="Proxy Service">
+ <story-content> Proxy services facilitate location transparency and
+ provides the means for the
+ integration between various other
+ services, on different formats
+ </story-content>
+ <story-links>
+ <link url="/carbon/proxyservices/templates.jsp">Got to services...</link>
+ <link url="/carbon/proxyservices/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Sequence">
+ <story-content>Sequence is a collection of mediators attached to
+ perform a given mediation flow in an
+ integration.
+ </story-content>
+ <story-links>
+ <link url="/carbon/sequences/list_sequences.jsp">Go to Web Applications...</link>
+ <link url="/carbon/sequences/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Endpoint">
+ <story-content>Endpoints represent the third party services or other
+ endpoints the ESB is talking to,
+ this configuration allows you to
+ record a set of meta data about the
+ external endpoint
+ apart from it's
+ EPR
+ </story-content>
+ <story-links>
+ <link url="/carbon/endpoints/index.jsp">Go to Message Tracing...</link>
+ <link url="/carbon/endpoints/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Scheduled Tasks">
+ <story-content>Job scheduling facility in the ESB with quartz
+ scheduler, helping several tasks to be
+ initiated and scheduled by the
+ ESB.</story-content>
+ <story-links>
+ <link url="/carbon/task/index.jsp">Go to WSDL2Java Tool..</link>
+ <link url="/carbon/task/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Store & Forward">
+ <story-content>Message Stores and Processors can be used to persist
+ messages to queues and then process
+ preserving SLAs.</story-content>
+ <story-links>
+ <link url="/carbon/message_processor/index.jsp">Go to Java2WSDL Tool...</link>
+ <link url="/carbon/message_processor/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Priority Execution">
+ <story-content>Ability to categorize mediation flows with a priority
+ allowing certain messages or
+ mediation paths to get a high priority
+ with compared to other messages or
+ paths.</story-content>
+ <story-links>
+ <link url="/carbon/executors/list_executors.jsp">Go to Java2WSDL Tool...</link>
+ <link url="/carbon/executors/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Application Services" link="https://appserver.cloud.wso2.com"
+ key="as">
+ <story title="Service Hosting">
+ <story-content>Different types of Web Services such as Axis2
+ Services, JAXWS Services, Jar Services
+ or Spring Services can be
+ deployed in Application Server. All
+ configurations such as
+ QoS can be
+ easily configured here.</story-content>
+ <story-links>
+ <link url="/carbon/service-mgt/index.jsp">Got to services...</link>
+ <link url="/carbon/service-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Web Applications">
+ <story-content>Web Application hosting features in AppServer
+ supports
+ deployment of Tomcat
+ compliant Webapps. Deployed Webapps can be
+ easily managed using the Webapp
+ management facilities available in
+ the management console.
+ </story-content>
+ <story-links>
+ <link url="/carbon/webapp-mgt/upload.jsp">Go to Web Applications...</link>
+ <link url="/carbon/webapp-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Message Tracing">
+ <story-content>Trace the request and responses to your service.
+ Message Tracing is a vital
+ debugging tool when you have clients from
+ heterogeneous platforms.
+ </story-content>
+ <story-links>
+ <link url="/carbon/tracer/index.jsp">Go to Message Tracing...</link>
+ <link url="/carbon/tracer/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="WSDL2Java Tool">
+ <story-content>Use WSDL2Java tool in Web Application Server to
+ convert Web Service WSDL to a set of
+ Java objects.</story-content>
+ <story-links>
+ <link url="/carbon/wsdl2code/index.jsp">Go to WSDL2Java Tool..</link>
+ <link url="/carbon/wsdl2code/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Java2WSDL Tool">
+ <story-content>Use Java2WSDL tool in Web Application Server make it
+ easy to develop a new web service.</story-content>
+ <story-links>
+ <link url="/carbon/java2wsdl/index.jsp">Go to Java2WSDL Tool...</link>
+ <link url="/carbon/java2wsdl/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Data Services" link="https://dss.cloud.wso2.com"
+ key="dss">
+ <story title="Data Service Hosting">
+ <story-content>Data Web Services can be deployed in Data Services
+ Server. All configurations such as
+ QoS can be easily configured here.
+ </story-content>
+ <story-links>
+ <link url="/carbon/service-mgt/index.jsp">Got to services...</link>
+ <link url="/carbon/service-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Data as a Service">
+ <story-content>Create your databases on the cloud, and acess those as
+ you would do with regular
+ databases.</story-content>
+ <story-links>
+ <link url="/carbon/ds/scriptAddSource.jsp">Go to data sources...</link>
+ <link url="/carbon/ds/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Service Testing">
+ <story-content>Tryit tool can be used as a simple Web Service client
+ which can be used to try your
+ services within AppServer itself.
+ </story-content>
+ <story-links>
+ <link url="/carbon/tryit/index.jsp">Go
+ to Service Testing...</link>
+ <link url="/carbon/tryit/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Message Tracing">
+ <story-content>Trace the request and responses to your service.
+ Message Tracing is a vital
+ debugging tool when you have clients from
+ heterogeneous platforms.
+ </story-content>
+ <story-links>
+ <link url="/carbon/tracer/index.jsp">Go to Message
+ Tracing...</link>
+ <link url="/carbon/tracer/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="DB Explorer">
+ <story-content>Explore your databases using the explorer tool on
+ the cloud.</story-content>
+ <story-links>
+ <link url="/carbon/adminconsole/databases.jsp">Go to DB
+ Explorer Tool...</link>
+ <link url="/carbon/adminconsole/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Relational Storage Solutions on Cloud">
+ <story-content><a
+ href="http://wso2.org/library/articles/2011/09/wso2-unveils-its-relational-storage-solutions-wso2-stratoslive"><img
+ src="../../../../features-dashboard/dashboards/images/configure_db.png"
+ alt=""/></story-content>
+ <story-links>
+ <link
+ url="http://wso2.org/library/articles/2011/09/wso2-unveils-its-relational-storage-solutions-wso2-stratoslive">Read
+ online...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Governance Services" link="https://governance.cloud.wso2.com"
+ key="greg">
+ <story title="Service">
+ <story-content>Service is the basic entity of your SOA platform. You
+ can manage service metadata and
+ the service lifecycle as well as
+ maintain multiple versions of a given
+ service, and much
+ more.
+ </story-content>
+ <story-links>
+ <link url="/carbon/services/services.jsp">Got to services...</link>
+ <link url="/carbon/services/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="WSDL">
+ <story-content>WSDL defines the interface of a web service. You can
+ store, validate and manage WSDLs
+ with ease, keeping track of
+ dependencies and associations such as
+ services, schema and
+ policies.
+ </story-content>
+ <story-links>
+ <link url="/carbon/wsdl/wsdl.jsp">Go to WSDL</link>
+ <link url="/carbon/wsdl/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Schema">
+ <story-content>XML Schema defines data types in a WSDL. As in the
+ case of WSDLs, you can keep
+ associations of schema which helps in the
+ impact analysis process, when
+ maintaining the
+ data models associated
+ with your SOA.</story-content>
+ <story-links>
+ <link url="/carbon/schema/schema.jsp">Go to Schema...</link>
+ <link url="/carbon/schema/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Policy">
+ <story-content>Policies help standardize SOA behaviour. You can keep
+ track of the policies bound to a
+ service. It also supports policy
+ enforcement to control how SOA behaves as
+ desired by
+ both IT and
+ business personnel.</story-content>
+ <story-links>
+ <link url="/carbon/policy/policy.jsp">Go to Policy..</link>
+ <link url="/carbon/policy/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Search">
+ <story-content>The repository can store any arbitrary type of
+ resource. You can search for resources by
+ name, author, time created
+ or updated. You also can search for resources
+ by media type.
+ </story-content>
+ <story-links>
+ <link url="/carbon/search/advancedSearch.jsp">Go to Search...</link>
+ <link url="/carbon/search/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Activities">
+ <story-content>An activity log provide an invaluable insight to what
+ operations took place on the
+ repository. You can browse activities
+ while filtering them by date range, user
+ name, or
+ activity type.
+ </story-content>
+ <story-links>
+ <link url="/carbon/activities/activity.jsp">Go to Activities...</link>
+ <link url="/carbon/activities/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Notifications">
+ <story-content>The registry generates events when changes are made to
+ a particular resource or
+ collection. You can subscribe to these
+ events via e-mail, or forward them to a
+ web
+ service via SOAP or REST.
+ </story-content>
+ <story-links>
+ <link url="/carbon/notifications/notifications.jsp">Go to Notifications...</link>
+ <link url="/carbon/notifications/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Extensions">
+ <story-content>While we address most governance and registry related
+ scenarios out-of-the-box, you also
+ can upload your own extensions
+ that is capable of extending the basic
+ functionality of
+ the product
+ </story-content>
+ <story-links>
+ <link url="/carbon/extensions/add_extensions.jsp">Go to Activities...</link>
+ <link url="/carbon/extensions/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Identity Services" link="https://governance.cloud.wso2.com"
+ key="is">
+ <story title="User Profile">
+ <story-content>Update your user profile or add multiple user
+ profiles.The value from your profile will
+ be used to populate your
+ Information card and OpenID profiles.
+ </story-content>
+ <story-links>
+ <link url="/carbon/userprofile/index.jsp">Got to User Profile...</link>
+ <link url="/carbon/userprofile/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="OpenID">
+ <story-content>This OpenID can be used with any OpenID relying party
+ which trusts your domain for
+ login.</story-content>
+ <story-links>
+ <link url="/carbon/identity-provider/index.jsp">Go to OpenID...</link>
+ <link url="/carbon/identity-provider/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Information Card">
+ <story-content>This card can be used with any identity selector that
+ supports Microsoft CardSpace
+ specifications and will allow you to
+ login to web applications that support
+ information
+ card logins.
+ </story-content>
+ <story-links>
+ <link url="/carbon/identity-provider/index.jsp">Go to Information Card...</link>
+ <link url="/carbon/identity-provider/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="SAML 2.0 Single Sign-On">
+ <story-content>Use WSO2 Identity Server for Single Sign-on
+ configuration. Service Providers can be
+ added and removed.
+ </story-content>
+ <story-links>
+ <link url="/carbon/sso-saml/manage_service_providers.jsp">Go to SAML 2.0 Single Sign-On..</link>
+ <link url="/carbon/sso-saml/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Multifactor Authentication">
+ <story-content>Use WSO2 Identity Server to Enable XMPP based
+ multi-factor authentication.</story-content>
+ <story-links>
+ <link url="/carbon/multi-factor/xmpp-config.jsp">Go to Multifactor Authentication...</link>
+ <link url="/carbon/multi-factor/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Users and Roles">
+ <story-content>WSO2 Identity Server enables you to manage users and
+ roles in your system.</story-content>
+ <story-links>
+ <link url="/carbon/userstore/index.jsp">Go to Users and Roles...</link>
+ <link url="/carbon/userstore/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Relying Parties">
+ <story-content>Manage your Relying Parties with WSO2 Identity Server.
+ </story-content>
+ <story-links>
+ <link url="/carbon/identity-trusted-relying-parties/add-trusted-rp.jsp">Go to Relying Parties...</link>
+ <link url="/carbon/identity-trusted-relying-parties/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Key Stores">
+ <story-content>Manage your Key Stores with WSO2 Identity Server
+ </story-content>
+ <story-links>
+ <link url="/carbon/keystoremgt/keystore-mgt.jsp">Go to Activities...</link>
+ <link url="/carbon/keystoremgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Business Activity Monitor" link="https://bam.cloud.wso2.com"
+ key="bam">
+ <story title="Real Time Mediation Monitoring">
+ <story-content>Monitor proxy services, endpoints and sequences and
+ their operations in real time. The
+ results gathered from the
+ real-time monitoring are presented in a clear and
+ easy-to-view
+ format.</story-content>
+ <story-links>
+ <link url="/carbon/service-mgt/index.jsp">Got to services...</link>
+ <link url="/carbon/service-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Mediation Analysis">
+ <story-content>Analyze the historical mediation trends over time with
+ the help of visualization
+ framework.</story-content>
+ <story-links>
+ <link url="/carbon/webapp-mgt/upload.jsp">Go to Web Applications...</link>
+ <link url="/carbon/webapp-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Summary Generation">
+ <story-content>Generate a summarised view of collected statistics and
+ write gadgets to display these
+ summarised data.</story-content>
+ <story-links>
+ <link url="/carbon/tracer/index.jsp">Go to Message Tracing...</link>
+ <link url="/carbon/tracer/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Service Invocation Analysis">
+ <story-content>rite gadgets to consume service statistics and present
+ to end user. Dashboard
+ support
+ Google Gadget specification.
+ </story-content>
+ <story-links>
+ <link url="/carbon/wsdl2code/index.jsp">Go to WSDL2Java Tool..</link>
+ <link url="/carbon/wsdl2code/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Dashboard">
+ <story-content>Monitor and correlate related business activities
+ across multiple server instances.
+ These activities can be used to
+ track and verify the smooth execution of
+ business.</story-content>
+ <story-links>
+ <link url="/carbon/java2wsdl/index.jsp">Go to Java2WSDL Tool...</link>
+ <link url="/carbon/java2wsdl/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Activity Correlation & Monitoring">
+ <story-content>Monitor and correlate related business activities
+ across multiple server instances.
+ These activities can be used to
+ track and verify the smooth execution of
+ business.</story-content>
+ <story-links>
+ <link url="/carbon/java2wsdl/index.jsp">Go to Java2WSDL Tool...</link>
+ <link url="/carbon/java2wsdl/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Message Collection & Archival">
+ <story-content>Collect messages coming into your SOA, analyze and
+ archive for future retrieval.</story-content>
+ <story-links>
+ <link url="/carbon/java2wsdl/index.jsp">Go to Java2WSDL Tool...</link>
+ <link url="/carbon/java2wsdl/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Business Process Services" link="https://bps.cloud.wso2.com"
+ key="bps">
+ <story title="WS-BPEL 2.0 & BPELWS 1.1">
+ <story-content>WSO2 BPS supports both WS-BPEL 2.0 and BPEL4WS 1.1
+ standards. It also includes WSO2 BPS
+ specific extensions to enhance
+ the features provide by WS-BPEL.
+ </story-content>
+ <story-links>
+ <link url="">Got to Business Process Services...</link>
+ <link url="/carbon/admin/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Instance Data Cleanup">
+ <story-content>Allows multiple levels of instance data cleanup which
+ are accumulated during process
+ instance lifetime. XPath extensions,
+ Iteratable ForEach, Flexible Assigns,
+ XQuery 1.0 support and various
+ other extensions to BPEL language.</story-content>
+ <story-links>
+ <link url="">Go to OpenID...</link>
+ <link url="/carbon/admin/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="BPEL Extensions">
+ <story-content>Hot update BPEL processes and allows you to maintain
+ multiple versions of processes.</story-content>
+ <story-links>
+ <link url="">Go to Information Card...</link>
+ <link url="/carbon/admin/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Business Rule Server" link="https://brs.cloud.wso2.com"
+ key="brs">
+ <story title="Service Hosting Support">
+ <story-content>Service Hosting feature in Business Rules Server
+ enables deployment of Rule Services.</story-content>
+ <story-links>
+ <link url="/carbon/service-mgt/index.jsp">Got to Business Process Services...</link>
+ <link url="/carbon/service-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Rule service creation support">
+ <story-content>Support for creating rule services with drools or
+ using rule services created with other
+ IDEs.</story-content>
+ <story-links>
+ <link url="/carbon/ruleservices/rule_service_wizard_step1.jsp">Go to Rule service creation...</link>
+ <link url="/carbon/ruleservices/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Registry as a Rule Repository">
+ <story-content>Registry as a Rule Repository.</story-content>
+ <story-links>
+ <link url="/carbon/resources/resource.jsp">Go to Registry Rule Repository..</link>
+ <link url="/carbon/resources/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Service testing">
+ <story-content>Tryit tool can be used as a simple Web Service client
+ which can be used to try your
+ services within AppServer itself.
+ </story-content>
+ <story-links>
+ <link url="/carbon/tryit/index.jsp">Go
+ to Service Testing...</link>
+ <link url="/carbon/tryit/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Cloud Gateway" link="https://cg.stratoslive.wso2.com"
+ key="cg">
+ <story title="Cloud Service">
+ <story-content>Publish a service or data residing behind a firewall
+ in a secure and controlled manner as a Cloud Service.
+ </story-content>
+ <story-links>
+ <link url="/carbon/service-mgt/index.jsp">Go to Cloud Services...</link>
+ <link url="/carbon/service-mgt/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Complex Event Processing Services" link="https://cep.cloud.wso2.com"
+ key="cep">
+ <story title="Bring CEP to SOA">
+ <story-content>Bring CEP to SOA by processing XML events and produce
+ results as XML events.</story-content>
+ <story-links>
+ <link url="/carbon/CEP/cep_queries.jsp">Go to CEP buckets list...</link>
+ <link url="/carbon/CEP/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Registry Storage">
+ <story-content>Ability to define different event streams, queries and
+ out put streams and store them in
+ the registry as a bucket.
+ </story-content>
+ <story-links>
+ <link url="/carbon/resources/resource.jsp">Go to Registry Storage...</link>
+ <link url="/carbon/messagebox/docs/userguide.html">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Esper and Fusion">
+ <story-content>Support Esper and fusion back end runtimes..
+ </story-content>
+ <story-links>
+ <link url="">Go to Esper and Fusion..</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Filter data from the XML event">
+ <story-content>Ability to filter data from the XML event using xpath
+ and format the result as an XML
+ event.
+ </story-content>
+ <story-links>
+ <link url="">Go
+ to Filter data...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Support different types of brokers">
+ <story-content>Support different types of brokers WS-Event, JMS to
+ receive publish events.
+ </story-content>
+ <story-links>
+ <link url="">Go
+ to brokers...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Storing broker configurations">
+ <story-content>Define and store such different broker configurations.
+ </story-content>
+ <story-links>
+ <link url="">Go
+ to brokers...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Administrative Console support">
+ <story-content>Administrative Console to create buckets, add
+ subscriptions etc..
+ </story-content>
+ <story-links>
+ <link url="">Go
+ to Administrative Console ...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Specify CEP queries">
+ <story-content>Ability to specify CEP queries inline or pick from the
+ registry.
+ </story-content>
+ <story-links>
+ <link url="">Go
+ to CEP queries ...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Message Broker Services" link="https://mb.cloud.wso2.com"
+ key="mb">
+ <story title="Publish/Subscribe to Topics">
+ <story-content>WS-Eventing to publish/subscribe to topics using web
+ service standards.</story-content>
+ <story-links>
+ <link url="">Go to topics...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="AMQP">
+ <story-content>MS support thorough AMQP to publish/subscribe to
+ topics and Queues.</story-content>
+ <story-links>
+ <link url="">Go to AMQP...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Topic Authorization">
+ <story-content>MS support thorough AMQP to publish/subscribe to
+ topics and Queues.</story-content>
+ <story-links>
+ <link url="">Go to Topic Authorization...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Manage topics and queues permissions">
+ <story-content>Administrative console support to manage topics and
+ queues permissions.</story-content>
+ <story-links>
+ <link url="">Go to Manage topics and queues permissions...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="SQS support">
+ <story-content>SQS support to store retrieve messages using a web
+ service API.</story-content>
+ <story-links>
+ <link url="">Go to SQS ...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="User based authorization for queues">
+ <story-content>User based authorization for queues.</story-content>
+ <story-links>
+ <link url="">Go to User based authorization ...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Manage message boxes">
+ <story-content>Administrative console support to manage message boxes
+ and store/retrieve messages.</story-content>
+ <story-links>
+ <link url="">Go to message boxes...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ <story title="Message box as event sink">
+ <story-content>Ability to use a message box as the event sink for a
+ subscription.</story-content>
+ <story-links>
+ <link url="">Go to event sink support...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+ <service name="Storage Server Services" link="https://ss.cloud.wso2.com" key="ss">
+ <story title="Storage Server Data">
+ <story-content>Storage Server</story-content>
+ <story-links>
+ <link url="">Go to topics...</link>
+ <link url="">Read more (docs)...</link>
+ </story-links>
+ </story>
+ </service>
+-->
+</data>
+