You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2016/02/04 18:57:31 UTC
[07/50] [abbrv] usergrid git commit: Move and re-organize the AWS
cluster deployment along with updates to the Usergrid artifact and
dependencies specified.
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/README.md
----------------------------------------------------------------------
diff --git a/stack/awscluster/README.md b/stack/awscluster/README.md
deleted file mode 100644
index e2ae148..0000000
--- a/stack/awscluster/README.md
+++ /dev/null
@@ -1,163 +0,0 @@
-AWS Cluster
-===
-
-*UNDER CONSTRUCTION*
-
-This project provides a AWS Cloud Formation template that launches and configures a complete Usergrid installation
-on Amazon EC2 including Tomcat intances, Cassandra instances, Security Groups, a Load Balancer and DNS records.
-
-Two parts:
-
-1) A Maven assembly that builds an installer tarball and uploads it to S3.
-The tarball includes scripts to install Oracle JDK, Cassandra an EC2 instance.
-
-2) A CloudFormation script `ugcluster-cf.json` that creates an auto-scaling cluster, security groups and some
-number of EC2 instances, The template includes a CloudInit script that runs scipts from
-the installer tarball to configure and start either Cassandra or on each instance.
-
-
-Getting set-up
----
-To setup our AWS account to use AWS Cluster here's what you need to do:
-
-* __Create an AWS EC2 key pair__. You will need this PEM file to login to your Cassandra instances.
-
-* __Create an AWS S3 bucket__ for the AWS Cluster install bundle. e.g. Create an S3 bucket in your
-account with the name `ug-cloudformation`.
-
-* __Setup a top-level domain name__ in the AWS Route 53 DNS service. The default value of usergrid.com will not work (unless you happen to own that domain name).
-
-* __Upload the Oracle Java JDK__ to that same S3 bucket. Best practice is to use the Oracle Java u
-JDK with Cassandra, so you must upload the JDK to the S3 bucket that we created above. The JDK must
-be named `jdk-7u45-linux-x64.gz`.
-
-* __Create an aws.properties file__ with your AWS credentials in the same directory as this
-README file. The file is git-ignored so you don't have to worry about accidentally committing it.
-
-* __Deploy this the AWS Cluster assembly__ by running the Maven command `mvn deploy` in the same
-directory as this README file.
-
-
-Building the Installation Tarball
----
-First you need to build the Usergrid components: the Java SDK, the Stack and the Portal.
-
-For example, here's how you would do that on a UNIX system (assuming that all Stack and Portal build pre-requistes are in place:
-
- $ cd usergrid/sdks/java
- $ mvn clean install
-
- $ cd ../../stack
- $ mvn -DskipTests=true clean install
-
- $ cd ../portal
- $ ./build.sh
-
-Next, cd to the awscluster directory and run Maven deploy:
-
- $ cd usergrid/stack/awscluster
- $ mvn deploy
-
-Maven will create the installation tarball and will copy it to your S3 bucket uf-cloudformation. You can find a copy of the tarball in the target directory: `awscluster-1.0-SNAPSHOT.tgz`.
-
-
-Launching a new stack
----
-Login to AWS Console and create a new CloudFormation stack. On the first screen, pick a short
-and simple name for your stack and choose the option to upload a template and upload
-the `ugcluster-cf.json` file in this very directory.
-
-On the next screen, enter the number of DB and REST servers you wish to create, the replication factor and
-the instance type you wish to use. Check the "I acknowledge that this will create IAM resources"
-and then click Next, Next, Next to take defaults and start the stack.
-
-Watch the EC2 console and see your instances come up. They will be tagged with the stack name
-that you provided.
-
-
-Accessing your new stack
----
-Assuming everything went well then you can access your stack at the DNS sub-domain and domain name that you specified in the configuration. For example, if you specified DNS domain `usergrid.com` and sub-domain `test1` then you should be able to access Usergrid at `http://test1.usergrid.com/`.
-
-
-Initializing your stack
----
-
-First, visit the Database setup URL: `http://<YOUR HOST NAME>/system/database/setup`
-
-When prompted to login use the username `superuser` and password `test`. If the operation is successful you should a message like the one below in your browser. If not, check your logs for clues about what went wrong.
-
- {
- "action" : "cassandra setup",
- "status" : "ok",
- "timestamp" : 1379424622947,
- "duration" : 76
- }
-
-Next, visit the Superuser setup URL: `http://<YOUR HOST NAME>/system/superuser/setup`
-
-You should not be prompted for login because you already logged into for the Database Setup. If setup works, you should see a message like this:
-
- {
- "action" : "superuser setup",
- "status" : "ok",
- "timestamp" : 1379424667936,
- "duration" : 2
- }
-
-Now you're ready to get started using Usergrid.
-
-
-Login to the Usergrid Console & get started
----
-You should now be able to login to the Usergrid console and start configuring applications, users and more.
-
-The Usergrid Portal's URL is `http://<YOUR HOST NAME>/portal` and you can login with username `superuser` and password `test`.
-
-
-
-Exploring a Cassandra node
----
-Take a look at your new cluster. Login to one of the instances and take a look at the Cassandra
-setup via `nodetool ring` and by looking at the following log file locations.
-
-Log File Locations
-
-`/var/log/usergrid-bootstrap.log` - log created as instance was created
-
-`/var/log/cassandra/*` - the Cassandra log files
-
-
-
-Exploring a Tomcat node
----
-Take a look at your new cluster. Login to one of the instances and take a look at the Cassandra
-setup via `nodetool ring` and by looking at the following logs locations:
-
-Log File Locations
-
-`/var/log/usergrid-bootstrap.log` - log created as instance was created
-
-`/var/log/tomcat7/*` - the Tomcat log files
-
-
-
-How it works
----
-Here's what happens when the stack is started.
-
-CloudFormation reads the `ugcluster-cf.json` template and uses starts the EC2 instances that it
-specifies. There are two types of instances, Cassandra instances and REST instances.
-
-When each Cassandra instance comes up CloudFormation runs the CloudInit script specified in
-`ugcluster-cf.json` and that script downloads the , sets up some environment scripts
-and calls the `init_instance/init_db_server.sh` script to complete the setup.
-
-The `init_instance/init_db_server.sh` calls `install_oraclejdk.sh` to download the JDK from S3 and
-install it. The script then installs Tomcat and Cassandra. Next it uses Groovy scripts to configure
-Cassandra and wait for other Cassandra nodes to come alive.
-
-When a REST instance comes up, it does the same things but it calls the `init_rest_server.sh` to install and configure Tomcat, wait for Cassandra nodes to become available and then setup the Usergrid Stack and Usergrid Portal webapps.
-
-
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/assembly.xml
----------------------------------------------------------------------
diff --git a/stack/awscluster/assembly.xml b/stack/awscluster/assembly.xml
deleted file mode 100644
index a0fc0aa..0000000
--- a/stack/awscluster/assembly.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<assembly>
-
-<!--
- 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.
- -->
-
- <id>any</id>
- <formats>
- <format>tar.gz</format>
- </formats>
-
- <includeBaseDirectory>false</includeBaseDirectory>
-
- <!-- <files>
-
- <file>
- <outputDirectory>webapps</outputDirectory>
- <source>${stack.war}</source>
- <destName>ROOT.war</destName>
- </file>
-
- </files> -->
-
- <fileSets>
-
- <fileSet>
- <outputDirectory>.</outputDirectory>
- <directory>${project.basedir}/src/main/dist</directory>
- <includes>
- <include>**</include>
- </includes>
- </fileSet>
-
-
- <fileSet>
- <outputDirectory>./scripts</outputDirectory>
- <directory>./src/main/groovy</directory>
- <includes>
- <include>**</include>
- </includes>
- </fileSet>
-
- <fileSet>
- <outputDirectory>./cql</outputDirectory>
- <directory>./src/main/cql</directory>
- <includes>
- <include>**</include>
- </includes>
- </fileSet>
-
- <fileSet>
- <outputDirectory>./webapps/portal</outputDirectory>
- <directory>${portal.dir}</directory>
- <includes>
- <include>**</include>
- </includes>
- </fileSet>
-
- </fileSets>
-
-</assembly>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/aws-sample.properties
----------------------------------------------------------------------
diff --git a/stack/awscluster/aws-sample.properties b/stack/awscluster/aws-sample.properties
deleted file mode 100644
index b3e0917..0000000
--- a/stack/awscluster/aws-sample.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-accesskey=<YourServiceAccessKey>
-secretkey=<YourServiceSecretKey>
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/gatling-cluster-cf.json
----------------------------------------------------------------------
diff --git a/stack/awscluster/gatling-cluster-cf.json b/stack/awscluster/gatling-cluster-cf.json
deleted file mode 100644
index 5f2f61b..0000000
--- a/stack/awscluster/gatling-cluster-cf.json
+++ /dev/null
@@ -1,386 +0,0 @@
-{
- "AWSTemplateFormatVersion" : "2010-09-09",
- "Description" : "Gatling Cluster",
- "Parameters": {
- "InstanceCount": {
- "Description": "The number of gatling instances to create",
- "Type": "Number",
- "Default": "1",
- "MinValue": "1"
- },
- "KeyName": {
- "Description": "Name of an existing EC2 KeyPair to enable SSH access to the instance",
- "Type": "AWS::EC2::KeyPair::KeyName",
- "Default": "ug-cloudformation",
- "ConstraintDescription": "must be the name of an existing EC2 KeyPair."
- },
- "InstanceType": {
- "Description": "WebServer EC2 instance type",
- "Type": "String",
- "Default": "c3.xlarge",
- "AllowedValues": [
- "t1.micro",
- "t2.micro",
- "t2.small",
- "t2.medium",
- "m1.small",
- "m1.medium",
- "m1.large",
- "m1.xlarge",
- "m2.xlarge",
- "m2.2xlarge",
- "m2.4xlarge",
- "m3.medium",
- "m3.large",
- "m3.xlarge",
- "m3.2xlarge",
- "c1.medium",
- "c1.xlarge",
- "c3.large",
- "c3.xlarge",
- "c3.2xlarge",
- "c3.4xlarge",
- "c3.8xlarge",
- "g2.2xlarge",
- "r3.large",
- "r3.xlarge",
- "r3.2xlarge",
- "r3.4xlarge",
- "r3.8xlarge",
- "i2.xlarge",
- "i2.2xlarge",
- "i2.4xlarge",
- "i2.8xlarge",
- "hi1.4xlarge",
- "hs1.8xlarge",
- "cr1.8xlarge",
- "cc2.8xlarge",
- "cg1.4xlarge"
- ],
- "ConstraintDescription": "Must be a valid EC2 instance type."
- },
- "OperatorEMail": {
- "Description": "Email address to notify if there are any scaling operations",
- "Type": "String",
- "AllowedPattern": "([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)",
- "ConstraintDescription": "Must be a valid email address."
- },
- "SSHLocation": {
- "Description": "The IP address range that can be used to SSH to the EC2 instances",
- "Type": "String",
- "MinLength": "9",
- "MaxLength": "18",
- "Default": "0.0.0.0/0",
- "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
- "ConstraintDescription": "Must be a valid IP CIDR range of the form x.x.x.x/x."
- },
- "Branch": {
- "Description": "The branch of usergrid to check out",
- "Type": "String",
- "Default": "master"
- }
- },
-
- "Mappings" : {
- "AWSInstanceType2Arch": {
- "t1.micro": {
- "Arch": "64"
- },
- "m1.small": {
- "Arch": "64"
- },
- "m1.medium": {
- "Arch": "64"
- },
- "m1.large": {
- "Arch": "64"
- },
- "m1.xlarge": {
- "Arch": "64"
- },
- "m3.large": {
- "Arch": "64"
- },
- "m3.xlarge": {
- "Arch": "64"
- },
- "c3.large": {
- "Arch": "64"
- },
- "c3.xlarge": {
- "Arch": "64"
- },
- "c3.2xlarge": {
- "Arch": "64"
- },
- "c3.4xlarge": {
- "Arch": "64"
- }
- },
- "AWSRegionArch2AMI": {
- "ap-southeast-2": {
- "64": "ami-8dcd88b7"
- },
- "us-east-1": {
- "64": "ami-9301c7f8"
- },
- "us-west-2": {
- "64": "ami-ed5751dd"
- }
- },
- "TwoAZs": {
- "ap-southeast-2": {
- "AZ1": "ap-southeast-2a",
- "AZ2": "ap-southeast-2b"
- },
- "us-east-1": {
- "AZ1": "us-east-1b",
- "AZ2": "us-east-1c"
- },
- "us-west-2": {
- "AZ1": "us-west-2a",
- "AZ2": "us-west-2b"
- }
- }
-
-
- },
-
- "Resources" : {
- "NotificationTopic": {
- "Type": "AWS::SNS::Topic",
- "Properties": {
- "Subscription": [ { "Endpoint": { "Ref": "OperatorEMail" }, "Protocol": "email" } ]
- }
- },
- "GatlingServerGroup" : {
- "Type" : "AWS::AutoScaling::AutoScalingGroup",
- "CreationPolicy" : {
- "ResourceSignal" : {
- "Timeout" : "PT15M",
- "Count" : { "Ref" : "InstanceCount" }
- }
- },
- "Properties" : {
- "AvailabilityZones": [
- {
- "Fn::FindInMap": [
- "TwoAZs",
- {
- "Ref": "AWS::Region"
- },
- "AZ1"
- ]
- },
- {
- "Fn::FindInMap": [
- "TwoAZs",
- {
- "Ref": "AWS::Region"
- },
- "AZ2"
- ]
- }
- ],
- "LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
- "MinSize" : { "Ref" : "InstanceCount" },
- "MaxSize" : "10",
- "LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancer" } ],
- "NotificationConfiguration" : {
- "TopicARN" : { "Ref" : "NotificationTopic" },
- "NotificationTypes" : [ "autoscaling:EC2_INSTANCE_LAUNCH","autoscaling:EC2_INSTANCE_LAUNCH_ERROR","autoscaling:EC2_INSTANCE_TERMINATE", "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"]
- }
- }
- },
-
- "LaunchConfig" : {
- "Type" : "AWS::AutoScaling::LaunchConfiguration",
- "Metadata" : {
- "Comment" : "Install Gatling",
- "AWS::CloudFormation::Init" : {
- "config" : {
- "files" : {
- "/etc/profile.d/aws-credentials.sh" : {
- "content": { "Fn::Join" : ["", [
- "export AWS_ACCESS_KEY=", { "Ref":"GatlingKey" }, "\n",
- "export AWS_SECRET_KEY=", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] }, "\n"
- ]]}
- },
-
- "/etc/s3cfg" : {
- "content": { "Fn::Join" : ["", [
- "access_key=", { "Ref":"GatlingKey" }, "\n",
- "secret_key=", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] }, "\n"
- ]]}
- },
- "/etc/profile.d/maven.sh" : {
- "content" : { "Fn::Join" : ["", [
- "export M3_HOME=/usr/local/apache-maven/apache-maven-3.1.1\n",
- "export M3=$M3_HOME/bin\n",
- "export MAVEN_OPTS=\"-Xms256m -Xmx512m\"\n",
- "export PATH=$M3:$PATH\n"
- ]]}
- },
-
- "/etc/security/limits.d/gatling_filehandles.conf" : {
- "content": { "Fn::Join" : ["", [
- "ubuntu soft nofile 80000\n",
- "ubuntu hard nofile 80000\n"
- ]]}
- }
- }
- }
- },
- "services" : {}
- },
- "Properties" : {
- "KeyName" : { "Ref" : "KeyName" },
- "ImageId" : {
- "Fn::FindInMap" : [
- "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
- { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ]},
- "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ],
- "InstanceType" : { "Ref" : "InstanceType" },
- "UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
- "#!/bin/bash -xe\n",
- "##This script is generated by cloud-init. The rendered version is usually located at /var/lib/cloud/instance/scripts/part-001\n",
- "apt-get install zip unzip wget -y\n",
- "wget https://bootstrap.pypa.io/ez_setup.py -O - | python\n",
- "easy_install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",
- "/usr/local/bin/cfn-init -v ",
- " --stack ", { "Ref" : "AWS::StackName" },
- " --resource LaunchConfig ",
- " --region ", { "Ref" : "AWS::Region" }, "\n",
-
-
- "add-apt-repository ppa:webupd8team/java --yes\n",
- "add-apt-repository ppa:awstools-dev/awstools --yes\n",
- "apt-get update\n",
- "echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections\n",
- "apt-get install oracle-java8-installer oracle-java8-set-default expect expect-dev git ec2-api-tools maven -y --force-yes\n",
- "update-java-alternatives -s java-8-oracle\n",
-
- "cd ~ubuntu\n",
- "git clone -b ",{ "Ref":"Branch" } , " https://github.com/apache/usergrid.git usergrid\n",
- "chown -R ubuntu:ubuntu usergrid\n",
-
- "ec2-create-tags $(curl -k http://169.254.169.254/latest/meta-data/instance-id) --region ", { "Ref" : "AWS::Region" }," --aws-access-key ",{ "Ref":"GatlingKey" }, " --aws-secret-key ", { "Fn::GetAtt":[ "GatlingKey", "SecretAccessKey" ] } ," --tag Name=", { "Ref":"AWS::StackName" }, "\n",
- "/usr/local/bin/cfn-signal --success true --stack ", { "Ref" : "AWS::StackName" }, " --resource GatlingServerGroup --region ", { "Ref" : "AWS::Region" }, "\n"
- ]]}}
- }
- },
-
- "GatlingUser": {
- "Type": "AWS::IAM::User",
- "Properties": {
- "Path": "/",
- "Policies": [
- {
- "PolicyName": "root",
- "PolicyDocument": {
- "Statement": [
- {
- "Effect": "Allow",
- "Action": "*",
- "Resource": "*"
- }
- ]
- }
- }
- ]
- }
- },
- "GatlingKey": {
- "Type": "AWS::IAM::AccessKey",
- "Properties": {
- "UserName": {
- "Ref": "GatlingUser"
- }
- }
- },
-
- "WebServerScaleUpPolicy" : {
- "Type" : "AWS::AutoScaling::ScalingPolicy",
- "Properties" : {
- "AdjustmentType" : "ChangeInCapacity",
- "AutoScalingGroupName" : { "Ref" : "GatlingServerGroup" },
- "Cooldown" : "60",
- "ScalingAdjustment" : "1"
- }
- },
- "WebServerScaleDownPolicy" : {
- "Type" : "AWS::AutoScaling::ScalingPolicy",
- "Properties" : {
- "AdjustmentType" : "ChangeInCapacity",
- "AutoScalingGroupName" : { "Ref" : "GatlingServerGroup" },
- "Cooldown" : "60",
- "ScalingAdjustment" : "-1"
- }
- },
-
- "ElasticLoadBalancer" : {
- "Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
- "Properties" : {
- "AvailabilityZones": [
- {
- "Fn::FindInMap": [
- "TwoAZs",
- {
- "Ref": "AWS::Region"
- },
- "AZ1"
- ]
- },
- {
- "Fn::FindInMap": [
- "TwoAZs",
- {
- "Ref": "AWS::Region"
- },
- "AZ2"
- ]
- }
- ],
- "Listeners" : [ {
- "LoadBalancerPort" : "80",
- "InstancePort" : "80",
- "Protocol" : "HTTP"
- } ],
- "HealthCheck" : {
- "Target" : "HTTP:80/",
- "HealthyThreshold" : "3",
- "UnhealthyThreshold" : "5",
- "Interval" : "30",
- "Timeout" : "5"
- }
- }
- },
-
- "InstanceSecurityGroup" : {
- "Type" : "AWS::EC2::SecurityGroup",
- "Properties" : {
- "GroupDescription" : "Enable SSH access and HTTP from the load balancer only",
- "SecurityGroupIngress" : [ {
- "IpProtocol" : "tcp",
- "FromPort" : "22",
- "ToPort" : "22",
- "CidrIp" : { "Ref" : "SSHLocation"}
- },
- {
- "IpProtocol" : "tcp",
- "FromPort" : "80",
- "ToPort" : "80",
- "SourceSecurityGroupOwnerId" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.OwnerAlias"]},
- "SourceSecurityGroupName" : {"Fn::GetAtt" : ["ElasticLoadBalancer", "SourceSecurityGroup.GroupName"]}
- } ]
- }
- }
- },
-
- "Outputs" : {
- "URL" : {
- "Description" : "The URL of the website",
- "Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "ElasticLoadBalancer", "DNSName" ]}]]}
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/pom.xml
----------------------------------------------------------------------
diff --git a/stack/awscluster/pom.xml b/stack/awscluster/pom.xml
deleted file mode 100644
index 46157ab..0000000
--- a/stack/awscluster/pom.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <!--
- 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.
- -->
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>awscluster</artifactId>
- <groupId>org.usergrid</groupId>
- <version>1.0-SNAPSHOT</version>
-
- <name>awscluster</name>
-
- <description>
- Creates bundle for initializing a Tomcat and Cassandra Usergrid cluster via CloudFormation
- </description>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <aws.s3.release-bucket>ug-cloudformation</aws.s3.release-bucket>
- <!-- Pulls the file path from maven when using the dependency plugin. This doesn't work b/c it doesn't name the file properly to ROOT.war. Solve that to use the latest from the repo-->
- <!--<stack.war>${org.apache.usergrid:usergrid-rest:war}</stack.war>-->
- <stack.war>../rest/target/ROOT.war</stack.war>
- <portal.dir>../../portal/dist/usergrid-portal</portal.dir>
- </properties>
-
- <build>
-
- <plugins>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>make-assembly</id>
- <phase>package</phase>
- <goals>
- <goal>single</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <descriptors>
- <descriptor>assembly.xml</descriptor>
- </descriptors>
- <tarLongFileMode>gnu</tarLongFileMode>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
-
- <!-- upload the tar file-->
- <execution>
- <phase>deploy</phase>
- <goals>
- <goal>java</goal>
- </goals>
- <id>upload-scripts</id>
- <configuration>
- <includeProjectDependencies>true</includeProjectDependencies>
- <includePluginDependencies>true</includePluginDependencies>
- <classpathScope>runtime</classpathScope>
- <executableDependency>
- <groupId>net.java.dev.jets3t</groupId>
- <artifactId>jets3t</artifactId>
- </executableDependency>
- <mainClass>org.jets3t.apps.synchronize.Synchronize</mainClass>
- <arguments>
- <argument>--nodelete</argument>
- <argument>--properties</argument>
- <argument>${project.basedir}/aws.properties</argument>
- <argument>UP</argument>
- <argument>${aws.s3.release-bucket}</argument>
- <argument>${project.build.directory}/${project.build.finalName}-any.tar.gz</argument>
- </arguments>
- </configuration>
- </execution>
-
- <!-- upload the war file from our repository -->
- <execution>
- <phase>deploy</phase>
- <goals>
- <goal>java</goal>
- </goals>
- <id>upload-war</id>
- <configuration>
- <includeProjectDependencies>true</includeProjectDependencies>
- <includePluginDependencies>true</includePluginDependencies>
- <classpathScope>runtime</classpathScope>
- <executableDependency>
- <groupId>net.java.dev.jets3t</groupId>
- <artifactId>jets3t</artifactId>
- </executableDependency>
- <mainClass>org.jets3t.apps.synchronize.Synchronize</mainClass>
- <arguments>
- <argument>--nodelete</argument>
- <argument>--properties</argument>
- <argument>${project.basedir}/aws.properties</argument>
- <argument>UP</argument>
- <argument>${aws.s3.release-bucket}</argument>
- <argument>${stack.war}</argument>
- </arguments>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>net.java.dev.jets3t</groupId>
- <artifactId>jets3t</artifactId>
- <version>0.8.0</version>
- </dependency>
- </dependencies>
- </plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.1</version>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-eclipse-compiler</artifactId>
- <version>2.6.0-01</version>
- </dependency>
- </dependencies>
- <configuration>
- <compilerId>groovy-eclipse-compiler</compilerId>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>groovy-eclipse-compiler</artifactId>
- <groupId>org.codehaus.groovy</groupId>
- <version>2.6.0-01</version>
- <extensions>true</extensions>
- </plugin>
-
- <!-- Set the dependency path in the lifecycle for the property -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.9</version>
- <executions>
- <execution>
- <goals>
- <goal>properties</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <!-- echo out the stack war -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
- <execution>
- <goals>
- <goal>exec</goal>
- </goals>
- <phase>generate-sources</phase>
- </execution>
- </executions>
- <configuration>
- <executable>echo</executable>
- <arguments>
- <argument>stack.war=</argument>
- <argument>${stack.war}</argument>
- </arguments>
- </configuration>
- </plugin>
- </plugins>
-
- </build>
-
- <dependencies>
-
- <dependency>
- <groupId>net.java.dev.jets3t</groupId>
- <artifactId>synchronize</artifactId>
- <version>0.8.0</version>
- </dependency>
-
- <dependency>
- <groupId>net.java.dev.jets3t</groupId>
- <artifactId>jets3t</artifactId>
- <version>0.8.0</version>
- </dependency>
-
- <dependency>
- <groupId>com.amazonaws</groupId>
- <artifactId>aws-java-sdk</artifactId>
- <version>1.9.7</version>
- </dependency>
- <dependency>
- <artifactId>groovy-all</artifactId>
- <groupId>org.codehaus.groovy</groupId>
- <version>2.0.5</version>
- </dependency>
-
- <!-- This dependency is used for deployment -->
- <dependency>
- <groupId>org.apache.usergrid</groupId>
- <artifactId>usergrid-rest</artifactId>
- <!-- Change this if you want to deploy a specific version, otherwise the latest in the repository will be used-->
- <version>2.0.0-SNAPSHOT</version>
- <type>war</type>
- </dependency>
- </dependencies>
-
-</project>
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/cql/update_locks.cql
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/cql/update_locks.cql b/stack/awscluster/src/main/cql/update_locks.cql
deleted file mode 100644
index bdb5860..0000000
--- a/stack/awscluster/src/main/cql/update_locks.cql
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. 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. For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-update keyspace Locks with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = false;
-
-use Locks;
-
-update column family HLocks with gc_grace=60 and caching=ALL and read_repair_chance=0.00 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/cql/update_usergrid.cql
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/cql/update_usergrid.cql b/stack/awscluster/src/main/cql/update_usergrid.cql
deleted file mode 100644
index 53622a2..0000000
--- a/stack/awscluster/src/main/cql/update_usergrid.cql
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. 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. For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-update keyspace Usergrid with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = true;
-
-use Usergrid;
-
-update column family Applications with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family PrincipalTokens with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Tokens with caching=ALL and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/cql/update_usergrid_applications.cql
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/cql/update_usergrid_applications.cql b/stack/awscluster/src/main/cql/update_usergrid_applications.cql
deleted file mode 100644
index e94960b..0000000
--- a/stack/awscluster/src/main/cql/update_usergrid_applications.cql
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. 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. For additional information regarding
- * copyright in this work, please see the NOTICE file in the top level
- * directory of this distribution.
- */
-
-update keyspace Usergrid_Applications with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {KEYSPACE_REGION : REPLICATION_FACTOR} and durable_writes = true;
-
-use Usergrid_Applications;
-
-update column family Application_Aggregate_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Application_Roles with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Applications with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Consumer_Queue_Messages_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Composite_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Id_Sets with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Index with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Index_Entries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Metadata with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Entity_Unique with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Consumers with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Consumers_Timeout with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Counters with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Property_Index with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family MQ_Property_Index_Entries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Dictionaries with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Inbox with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Properties with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Subscribers with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-update column family Queue_Subscriptions with caching=KEYS_ONLY and read_repair_chance=0.1 and compaction_strategy='LeveledCompactionStrategy' and bloom_filter_fp_chance=0.1 and compaction_strategy_options={sstable_size_in_mb:512};
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/create_raid0.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/create_raid0.sh b/stack/awscluster/src/main/dist/init_instance/create_raid0.sh
deleted file mode 100644
index c9122d7..0000000
--- a/stack/awscluster/src/main/dist/init_instance/create_raid0.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-
-# WARNING: this does not work for any instances that have more than 2 ephemeral disks
-
-
-
-# install postfix first and prevent it from prompting the user
-debconf-set-selections <<< "postfix postfix/mailname string your.hostname.com"
-debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
-apt-get install -y postfix
-
-# install mdadm RAID controller
-apt-get -y --force-yes install mdadm
-
-# m1.xlarge has four 414GB disks, but only /dev/xvdb is mounted
-# unmount /dev/xvdb so we can use it in our setup
-umount /mnt
-
-
-#We only support 2 ephemeral disks. Most c3.x instances only have 2 disks and they're our target
-# create striped RAID0 device with our 2 disks
-yes | mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 -c 256 /dev/xvdb /dev/xvdc
-
-
-
-
-# save config
-mdadm --detail --scan | tee /etc/mdadm/mdadm.conf
-
-# create, mount and save disk to stab
-mkfs.ext4 -b 4096 -E stride=32,stripe-width=128 -L Stripe /dev/md0
-mkdir -p /mnt
-echo "/dev/md0 /mnt/ ext4 defaults,noatime,nofail 0 0" >> /etc/fstab
-mount /dev/md0 /mnt
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_db_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_db_server.sh b/stack/awscluster/src/main/dist/init_instance/init_db_server.sh
deleted file mode 100644
index eb8e1ba..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_db_server.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# Install the easy stuff
-PKGS="ntp unzip groovy curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-#Create our raid 0 array
-cd /usr/share/usergrid/init_instance
-./create_raid0.sh
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh
-
-# Install and stop Cassandra
-cd /usr/share/usergrid/init_instance
-./install_cassandra.sh
-
-# Install the opscenter agent
-cd /usr/share/usergrid/init_instance
-./install_opscenter_agent.sh
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_es_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_es_server.sh b/stack/awscluster/src/main/dist/init_instance/init_es_server.sh
deleted file mode 100644
index 836b1d9..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_es_server.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# Install the easy stuff
-PKGS="ntp unzip groovy curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-
-#Configure our RAID 0 arrays
-cd /usr/share/usergrid/init_instance
-./create_raid0.sh
-
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh
-
-# Install and start ElasticSearch
-cd /usr/share/usergrid/init_instance
-./install_elasticsearch.sh
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh b/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh
deleted file mode 100644
index 689c08e..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_graphite_server.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# Install the easy stuff
-PKGS="ntp unzip groovy tomcat7 curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh
-
-sudo apt-get -y --force-yes install docker.io
-
-#Install graphite
-sudo docker run -d --name graphite -p 80:80 -p 2003:2003 -p 8125:8125/udp hopsoft/graphite-statsd
-
-cd /usr/share/usergrid/scripts
-groovy registry_register.groovy graphite
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh b/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh
deleted file mode 100644
index b63a710..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_opscenter_server.sh
+++ /dev/null
@@ -1,287 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-# Build environment for scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-# Install the easy stuff
-PKGS="ntp unzip groovy curl"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
-# except for evil stax
-rm /home/ubuntu/.groovy/lib/stax*
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-
-#Create the raid0 array for cassandra storage
-pushd /usr/share/usergrid/init_instance
-./create_raid0.sh
-#Install the oracle jdd
-./install_oraclejdk.sh
-popd
-
-#Install cassandra
-
-# Install and stop Cassandra
-curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-
-sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
-deb http://debian.datastax.com/community stable main
-EOF
-
-apt-get update
-apt-get -y --force-yes install libcap2 cassandra=1.2.19
-/etc/init.d/cassandra stop
-
-mkdir -p /mnt/data/cassandra
-chown cassandra /mnt/data/cassandra
-
-
-# Register ourselves
-pushd /usr/share/usergrid/scripts
-groovy registry_register.groovy opscenter
-popd
-
-pushd /usr/share/usergrid/scripts
-groovy configure_opscenter_cassandra.groovy > /etc/cassandra/cassandra.yaml
-popd
-
-/etc/init.d/cassandra start
-
-#We have to wait for cass to actually start before we can run our CQL. Sleep 5 seconds between retries
-while ! echo exit | nc localhost 9160; do sleep 5; done
-
-CASS_REGION=${EC2_REGION%-1}
-#create our keyspace
-cat >> /tmp/opscenter.cql << EOF
-CREATE KEYSPACE "OpsCenter" WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', '${CASS_REGION}' : 1};
-
-USE "OpsCenter";
-
-CREATE TABLE bestpractice_results (
- key text,
- column1 varint,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- CLUSTERING ORDER BY (column1 DESC) AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=0 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE events (
- key text PRIMARY KEY,
- action bigint,
- level bigint,
- success boolean,
- time bigint
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=864000 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE events_timeline (
- key text,
- column1 bigint,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=864000 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE pdps (
- key text,
- column1 text,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=0 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups300 (
- key text,
- column1 varint,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=0 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups60 (
- key text,
- column1 varint,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=0 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups7200 (
- key text,
- column1 varint,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=0 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE rollups86400 (
- key text,
- column1 varint,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=0 AND
- read_repair_chance=0.250000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-CREATE TABLE settings (
- key blob,
- column1 blob,
- value blob,
- PRIMARY KEY (key, column1)
-) WITH COMPACT STORAGE AND
- bloom_filter_fp_chance=0.010000 AND
- caching='KEYS_ONLY' AND
- comment='{"info": "OpsCenter management data.", "version": [5, 0, 1]}' AND
- dclocal_read_repair_chance=0.000000 AND
- gc_grace_seconds=864000 AND
- read_repair_chance=1.000000 AND
- replicate_on_write='true' AND
- populate_io_cache_on_flush='false' AND
- compaction={'class': 'SizeTieredCompactionStrategy'} AND
- compression={'sstable_compression': 'SnappyCompressor'};
-
-EOF
-
-
-echo "Creating opscenter keyspace"
-/usr/bin/cqlsh -f /tmp/opscenter.cql
-
-
-
-
-#Install the opscenter service
-# Install opscenter
-echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/datastax.community.list
-
-apt-get update
-apt-get --force-yes -y install opscenter
-
-sudo service opscenterd stop
-
-#Configure the usergrid cluster to store data locally, not on the target cluster and auto boostrap it
-cd /usr/share/usergrid/scripts
-groovy wait_for_instances.groovy cassandra 1
-mkdir -p /etc/opscenter/clusters
-groovy configure_opscenter_usergrid.groovy > /etc/opscenter/clusters/$CASSANDRA_CLUSTER_NAME.conf
-
-
-sudo service opscenterd start
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh b/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
deleted file mode 100644
index 0736026..0000000
--- a/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
+++ /dev/null
@@ -1,257 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-
-echo "${HOSTNAME}" > /etc/hostname
-echo "127.0.0.1 ${HOSTNAME}" >> /etc/hosts
-hostname `cat /etc/hostname`
-
-echo "US/Eastern" > /etc/timezone
-dpkg-reconfigure -f noninteractive tzdata
-
-PKGS="openjdk-7-jdk tomcat7 s3cmd ntp unzip groovy"
-apt-get update
-apt-get -y --force-yes install ${PKGS}
-/etc/init.d/tomcat7 stop
-
-# Install AWS Java SDK and get it into the Groovy classpath
-curl http://sdk-for-java.amazonwebservices.com/latest/aws-java-sdk.zip > /tmp/aws-sdk-java.zip
-cd /usr/share/
-unzip /tmp/aws-sdk-java.zip
-mkdir -p /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/third-party/*/*.jar /home/ubuntu/.groovy/lib
-cp /usr/share/aws-java-sdk-*/lib/* /home/ubuntu/.groovy/lib
-ln -s /home/ubuntu/.groovy /root/.groovy
-
-# Build environment for Groovy scripts
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-
-# tag last so we can see in the console so that we know what's running
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy -BUILD-IN-PROGRESS
-
-
-
-chmod +x /usr/share/usergrid/update.sh
-
-cd /usr/share/usergrid/init_instance
-./install_oraclejdk.sh
-
-cd /usr/share/usergrid/init_instance
-./install_yourkit.sh
-
-# set Tomcat memory and threads based on instance type
-# use about 70% of RAM for heap
-export NOFILE=150000
-#export TOMCAT_CONNECTIONS=10000
-export ACCEPT_COUNT=100
-export NR_OPEN=1048576
-export FILE_MAX=761773
-
-#Get the number of processors
-export NUM_PROC=$(nproc)
-
-#Configure the max amount of tomcat threads
-export TOMCAT_THREADS=$((${NUM_PROC} * ${NUM_THREAD_PROC}))
-
-case `(curl http://169.254.169.254/latest/meta-data/instance-type)` in
-'m1.small' )
- # total of 1.7g
- export TOMCAT_RAM=1190m
-;;
-'m1.medium' )
- # total of 3.75g
- export TOMCAT_RAM=2625m
-;;
-'m1.large' )
- # total of 7.5g
- export TOMCAT_RAM=5250m
-;;
-'m1.xlarge' )
- # total of 15g
- export TOMCAT_RAM=10500m
-;;
-'m3.large' )
- # total of 7.5g
- export TOMCAT_RAM=5250m
-;;
-'m3.xlarge' )
- # total of 15g
- export TOMCAT_RAM=10500m
-;;
-'c3.xlarge' )
- # total of 7.5g
- export TOMCAT_RAM=4096m
-;;
-'c3.2xlarge' )
- # total of 15g
- export TOMCAT_RAM=10500m
-;;
-'c3.4xlarge' )
- # total of 30g
- export TOMCAT_RAM=21000m
-esac
-
-
-sed -i.bak "s/Xmx128m/Xmx${TOMCAT_RAM} -Xms${TOMCAT_RAM} -Dlog4j\.configuration=file:\/usr\/share\/usergrid\/lib\/log4j\.properties -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false/g" /etc/default/tomcat7
-sed -i.bak "s/<Connector/<Connector maxThreads=\"${TOMCAT_THREADS}\" acceptCount=\"${ACCEPT_COUNT}\" maxConnections=\"${TOMCAT_THREADS}\"/g" /var/lib/tomcat7/conf/server.xml
-
-
-#Append our java opts for secret key
-echo "JAVA_OPTS=\"\${JAVA_OPTS} -DAWS_SECRET_KEY=${AWS_SECRET_KEY} -DAWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY}\"" >> /etc/default/tomcat7
-echo "JAVA_OPTS=\"\${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000\"" >> /etc/default/tomcat7
-
-
-ulimit -n $NOFILE
-
-# set file limits
-sed -i.bak "s/# \/etc\/init\.d\/tomcat7 -- startup script for the Tomcat 6 servlet engine/ulimit -n ${NOFILE}/" /etc/init.d/tomcat7
-
-
-cat >> /etc/security/limits.conf << EOF
-* - nofile ${NOFILE}
-root - nofile ${NOFILE}
-EOF
-
-
-
-echo "${NR_OPEN}" | sudo tee > /proc/sys/fs/nr_open
-echo "${FILE_MAX}" | sudo tee > /proc/sys/fs/file-max
-
-
-cat >> /etc/pam.d/su << EOF
-session required pam_limits.so
-EOF
-
-
-
-# increase system IP port limits (do we really need this for Tomcat?)
-sysctl -w net.ipv4.ip_local_port_range="1024 65535"
-cat >> /etc/sysctl.conf << EOF
-####
-# Set by usergrid rest setup
-####
-net.ipv4.ip_local_port_range = 1024 65535
-
-# Controls the default maxmimum size of a mesage queue
-kernel.msgmnb = 65536
-
-# Controls the maximum size of a message, in bytes
-kernel.msgmax = 65536
-
-# Controls the maximum shared segment size, in bytes
-kernel.shmmax = 68719476736
-
-# Controls the maximum number of shared memory segments, in pages
-kernel.shmall = 4294967296
-
-######
-# End usergrid setup
-######
-EOF
-
-# wait for enough Cassandra nodes then delpoy and configure Usergrid
-cd /usr/share/usergrid/scripts
-groovy wait_for_instances.groovy cassandra ${CASSANDRA_NUM_SERVERS}
-groovy wait_for_instances.groovy elasticsearch ${ES_NUM_SERVERS}
-groovy wait_for_instances.groovy graphite ${GRAPHITE_NUM_SERVERS}
-
-# link WAR and Portal into Tomcat's webapps dir
-rm -rf /var/lib/tomcat7/webapps/*
-ln -s /usr/share/usergrid/webapps/ROOT.war /var/lib/tomcat7/webapps/ROOT.war
-ln -s /usr/share/usergrid/webapps/portal /var/lib/tomcat7/webapps/portal
-chown -R tomcat7 /usr/share/usergrid/webapps
-chown -R tomcat7 /var/lib/tomcat7/webapps
-
-# configure usergrid
-mkdir -p /usr/share/tomcat7/lib
-groovy configure_usergrid.groovy > /usr/share/tomcat7/lib/usergrid-deployment.properties
-groovy configure_portal_new.groovy >> /var/lib/tomcat7/webapps/portal/config.js
-
-
-
-#Install postfix so that we can send mail
-echo "postfix postfix/mailname string your.hostname.com" | debconf-set-selections
-echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections
-apt-get install -y postfix
-
-
-# Go
-sh /etc/init.d/tomcat7 start
-
-#Wait for tomcat to start, then run our migrations
-
-
-#Wait until tomcat starts and we can hit our status page
-until curl -m 1 -I -X GET http://localhost:8080/status | grep "200 OK"; do sleep 5; done
-
-
-#Install collectd client to report to graphite
-cd /usr/share/usergrid/init_instance
-./install_collectd.sh
-
-
-#If we're the first rest server, run the migration, the database setup, then run the Cassanda keyspace updates
-cd /usr/share/usergrid/scripts
-groovy registry_register.groovy rest
-
-FIRSTHOST="$(groovy get_first_instance.groovy rest)"
-GRAPHITE_SERVER="$(groovy get_first_instance.groovy graphite )"
-
-#First host run the migration and setup
-if [ "$FIRSTHOST"=="$PUBLIC_HOSTNAME" ]; then
-
-#Run the system database setup since migration is a no-op
-curl -X GET http://localhost:8080/system/database/setup -u superuser:test
-
-
-#Run the migration
-curl -X PUT http://localhost:8080/system/migrate/run -u superuser:test
-
-#Wait since migration is no-op just needs to ideally run to completion to bring the internal state up to date before
-#Running setup
-sleep 10
-
-
-cd /usr/share/usergrid/init_instance
-./update_keyspaces.sh
-
-fi
-
-#Always create our graphite dashboard. Last to write will implicity win, since they will have the most recent cluster state
-cd /usr/share/usergrid/scripts
-JSON_PAYLOAD="$(groovy create_dashboard.groovy rest)"
-
-echo ${JSON_PAYLOAD} > /var/lib/tomcat7/webapps/portal/graphite.json
-
-
-#Post the JSON graphite payload to graphite
-## The json is correct, but this doens't work yet. To get the generated data to save, just hit ELB/portal/graphite.json to set into graphite manually
-##curl -X POST -d "${JSON_PAYLOAD}" "http://${GRAPHITE_SERVER}/dashboard/save/Tomcats"
-
-
-
-
-# tag last so we can see in the console that the script ran to completion
-cd /usr/share/usergrid/scripts
-groovy tag_instance.groovy
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh b/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh
deleted file mode 100644
index 480eacf..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_cassandra.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-# Install and stop Cassandra
-curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-
-sudo cat >> /etc/apt/sources.list.d/cassandra.sources.list << EOF
-deb http://debian.datastax.com/community stable main
-EOF
-
-apt-get update
-apt-get -y --force-yes install libcap2 cassandra=1.2.19
-/etc/init.d/cassandra stop
-
-mkdir -p /mnt/data/cassandra
-chown cassandra /mnt/data/cassandra
-
-# Wait for other instances to start up
-cd /usr/share/usergrid/scripts
-groovy registry_register.groovy cassandra
-groovy wait_for_instances.groovy cassandra ${CASSANDRA_NUM_SERVERS}
-
-#TODO make this configurable for the box sizes
-#Set or min/max heap to 8GB
-sed -i.bak s/calculate_heap_sizes\(\)/MAX_HEAP_SIZE=\"8G\"\\nHEAP_NEWSIZE=\"1200M\"\\n\\ncalculate_heap_sizes\(\)/g /etc/cassandra/cassandra-env.sh
-
-pushd /usr/share/usergrid/scripts
-groovy configure_cassandra.groovy > /etc/cassandra/cassandra.yaml
-popd
-
-/etc/init.d/cassandra start
-
-
http://git-wip-us.apache.org/repos/asf/usergrid/blob/d478adb0/stack/awscluster/src/main/dist/init_instance/install_collectd.sh
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/dist/init_instance/install_collectd.sh b/stack/awscluster/src/main/dist/init_instance/install_collectd.sh
deleted file mode 100644
index 20abbf9..0000000
--- a/stack/awscluster/src/main/dist/init_instance/install_collectd.sh
+++ /dev/null
@@ -1,350 +0,0 @@
-#!/bin/bash
-
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. 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. For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-#
-
-
-# Install and stop Cassandra
-sudo apt-get update
-sudo apt-get install -y collectd collectd-utils
-
-
-. /etc/profile.d/aws-credentials.sh
-. /etc/profile.d/usergrid-env.sh
-
-#Wait for graphite to start
-cd /usr/share/usergrid/scripts
-groovy wait_for_instances.groovy graphite ${GRAPHITE_NUM_SERVERS}
-GRAPHITE_HOST=$(groovy get_first_instance.groovy graphite)
-
-
-
-cat > /etc/collectd/collectd.conf << EOF
-Hostname "${PUBLIC_HOSTNAME}"
-LoadPlugin cpu
-LoadPlugin df
-LoadPlugin entropy
-LoadPlugin interface
-LoadPlugin load
-LoadPlugin logfile
-LoadPlugin memory
-LoadPlugin processes
-LoadPlugin rrdtool
-LoadPlugin users
-LoadPlugin write_graphite
-LoadPlugin java
-
-#ethernet montioring
-<Plugin interface>
- Interface "eth0"
- IgnoreSelected false
-</Plugin>
-
-#Send to graphite
-<Plugin write_graphite>
- <Node "graphing">
- Host "${GRAPHITE_HOST}"
- Port "2003"
- Protocol "tcp"
- LogSendErrors true
- Prefix "collectd."
- StoreRates true
- AlwaysAppendDS false
- EscapeCharacter "_"
- </Node>
-</Plugin>
-
-#Raid 0 monitoring
-<Plugin df>
- Device "/dev/md0"
- MountPoint "/mnt"
- FSType "ext4"
-</Plugin>
-
-<Plugin "logfile">
- LogLevel "info"
- File "/var/log/collectd.log"
- Timestamp true
-</Plugin>
-
-
-<Plugin "java">
- # required JVM argument is the classpath
- # JVMArg "-Djava.class.path=/installpath/collectd/share/collectd/java"
- # Since version 4.8.4 (commit c983405) the API and GenericJMX plugin are
- # provided as .jar files.
- JVMARG "-Djava.class.path=/usr/share/collectd/java/generic-jmx.jar:/usr/share/collectd/java/collectd-api.jar"
- LoadPlugin "org.collectd.java.GenericJMX"
-
- <Plugin "GenericJMX">
- ################
- # MBean blocks #
- ################
- # Number of classes being loaded.
- <MBean "classes">
- ObjectName "java.lang:type=ClassLoading"
- #InstancePrefix ""
- #InstanceFrom ""
-
- <Value>
- Type "gauge"
- InstancePrefix "loaded_classes"
- #InstanceFrom ""
- Table false
- Attribute "LoadedClassCount"
- </Value>
- </MBean>
-
- # Time spent by the JVM compiling or optimizing.
- <MBean "compilation">
- ObjectName "java.lang:type=Compilation"
- #InstancePrefix ""
- #InstanceFrom ""
-
- <Value>
- Type "total_time_in_ms"
- InstancePrefix "compilation_time"
- #InstanceFrom ""
- Table false
- Attribute "TotalCompilationTime"
- </Value>
- </MBean>
-
- # Garbage collector information
- <MBean "garbage_collector">
- ObjectName "java.lang:type=GarbageCollector,*"
- InstancePrefix "gc-"
- InstanceFrom "name"
-
- <Value>
- Type "invocations"
- #InstancePrefix ""
- #InstanceFrom ""
- Table false
- Attribute "CollectionCount"
- </Value>
-
- <Value>
- Type "total_time_in_ms"
- InstancePrefix "collection_time"
- #InstanceFrom ""
- Table false
- Attribute "CollectionTime"
- </Value>
-
- # # Not that useful, therefore commented out.
- # <Value>
- # Type "threads"
- # #InstancePrefix ""
- # #InstanceFrom ""
- # Table false
- # # Demonstration how to access composite types
- # Attribute "LastGcInfo.GcThreadCount"
- # </Value>
- </MBean>
-
- ######################################
- # Define the "jmx_memory" type as: #
- # jmx_memory value:GAUGE:0:U #
- # See types.db(5) for details. #
- ######################################
-
- # Generic heap/nonheap memory usage.
- # Standard Java mbeans
- # Memory usage by memory pool.
- <MBean "memory_pool">
- ObjectName "java.lang:type=MemoryPool,*"
- InstancePrefix "memory_pool-"
- InstanceFrom "name"
- <Value>
- Type "memory"
- #InstancePrefix ""
- #InstanceFrom ""
- Table true
- Attribute "Usage"
- </Value>
- </MBean>
-
- # Heap memory usage
- <MBean "memory_heap">
- ObjectName "java.lang:type=Memory"
- #InstanceFrom ""
- InstancePrefix "memory-heap"
-
- # Creates four values: committed, init, max, used
- <Value>
- Type "memory"
- #InstancePrefix ""
- #InstanceFrom ""
- Table true
- Attribute "HeapMemoryUsage"
- </Value>
- </MBean>
-
- # Non-heap memory usage
- <MBean "memory_nonheap">
- ObjectName "java.lang:type=Memory"
- #InstanceFrom ""
- InstancePrefix "memory-nonheap"
-
- # Creates four values: committed, init, max, used
- <Value>
- Type "memory"
- #InstancePrefix ""
- #InstanceFrom ""
- Table true
- Attribute "NonHeapMemoryUsage"
- </Value>
- </MBean>
-
- <MBean "garbage_collector">
- ObjectName "java.lang:type=GarbageCollector,*"
- InstancePrefix "gc-"
- InstanceFrom "name"
-
- <Value>
- Type "invocations"
- #InstancePrefix ""
- #InstanceFrom ""
- Table false
- Attribute "CollectionCount"
- </Value>
-
- <Value>
- Type "total_time_in_ms"
- InstancePrefix "collection_time"
- #InstanceFrom ""
- Table false
- Attribute "CollectionTime"
- </Value>
- </MBean>
-
- ### MBeans by Catalina / Tomcat ###
- # The global request processor (summary for each request processor)
- <MBean "catalina/global_request_processor">
- ObjectName "Catalina:type=GlobalRequestProcessor,*"
- InstancePrefix "request_processor-"
- InstanceFrom "name"
-
- <Value>
- Type "io_octets"
- InstancePrefix "global"
- #InstanceFrom ""
- Table false
- Attribute "bytesReceived"
- Attribute "bytesSent"
- </Value>
-
- <Value>
- Type "total_requests"
- InstancePrefix "global"
- #InstanceFrom ""
- Table false
- Attribute "requestCount"
- </Value>
-
- <Value>
- Type "total_time_in_ms"
- InstancePrefix "global-processing"
- #InstanceFrom ""
- Table false
- Attribute "processingTime"
- </Value>
- </MBean>
-
- # Details for each request processor
- <MBean "catalina/detailed_request_processor">
- ObjectName "Catalina:type=RequestProcessor,*"
- InstancePrefix "request_processor-"
- InstanceFrom "worker"
-
- <Value>
- Type "io_octets"
- #InstancePrefix ""
- InstanceFrom "name"
- Table false
- Attribute "bytesReceived"
- Attribute "bytesSent"
- </Value>
-
- <Value>
- Type "total_requests"
- #InstancePrefix ""
- InstanceFrom "name"
- Table false
- Attribute "requestCount"
- </Value>
-
- <Value>
- Type "total_time_in_ms"
- InstancePrefix "processing-"
- InstanceFrom "name"
- Table false
- Attribute "processingTime"
- </Value>
- </MBean>
-
- # Thread pool
- <MBean "catalina/thread_pool">
- ObjectName "Catalina:type=ThreadPool,*"
- InstancePrefix "request_processor-"
- InstanceFrom "name"
-
- <Value>
- Type "threads"
- InstancePrefix "total"
- #InstanceFrom ""
- Table false
- Attribute "currentThreadCount"
- </Value>
-
- <Value>
- Type "threads"
- InstancePrefix "running"
- #InstanceFrom ""
- Table false
- Attribute "currentThreadsBusy"
- </Value>
- </MBean>
-
- #####################
- # Connection blocks #
- #####################
- <Connection>
- ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi"
- Host "${PUBLIC_HOSTNAME}"
- Collect "classes"
- Collect "compilation"
- Collect "memory_pool"
- Collect "memory_heap"
- Collect "memory_nonheap"
- Collect "garbage_collector"
- Collect "catalina/global_request_processor"
- Collect "catalina/detailed_request_processor"
- Collect "catalina/thread_pool"
- </Connection>
- </Plugin>
-</Plugin>
-EOF
-
-service collectd stop
-service collectd start
-
-#Set the hostname into collectd
-sed -i.bak "s/#Hostname \"localhost\"//g" /etc/collectd/collectd.conf
-