You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by to...@apache.org on 2014/11/06 01:15:32 UTC

[46/50] git commit: Changes from merging Ryan's changes in. Now auto migrates and runs system setup

Changes from merging Ryan's changes in.  Now auto migrates and runs system setup


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

Branch: refs/heads/two-dot-o
Commit: 839f817f7d723d387c47672ea241b8a4d3b2cc04
Parents: 179bc18
Author: Todd Nine <tn...@apigee.com>
Authored: Tue Nov 4 15:58:48 2014 -0700
Committer: Todd Nine <tn...@apigee.com>
Committed: Tue Nov 4 15:58:48 2014 -0700

----------------------------------------------------------------------
 stack/awscluster/pom.xml                        | 405 +++++++++++--------
 .../main/dist/init_instance/init_rest_server.sh |  12 +
 .../groovy/configure_opscenter_usergrid.groovy  |   6 +-
 stack/awscluster/ugcluster-cf.json              |  18 +-
 4 files changed, 249 insertions(+), 192 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/839f817f/stack/awscluster/pom.xml
----------------------------------------------------------------------
diff --git a/stack/awscluster/pom.xml b/stack/awscluster/pom.xml
index 9af3da6..4a8f4d6 100644
--- a/stack/awscluster/pom.xml
+++ b/stack/awscluster/pom.xml
@@ -1,186 +1,237 @@
 <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>usergrid-jenkins-builds</aws.s3.release-bucket>
-        <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>
-                    <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>
-                    <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>
-        </plugins>
-
-    </build>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>net.java.dev.jets3t</groupId>
-            <artifactId>synchronize</artifactId>
-            <version>0.8.0</version>
-        </dependency>
-
-        <dependency>
+  <!--
+      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>
-
-        <dependency>
-            <groupId>com.amazonaws</groupId>
-            <artifactId>aws-java-sdk</artifactId>
-            <version>1.6.7</version>
-        </dependency>
-        <dependency>
-            <artifactId>groovy-all</artifactId>
+          </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>
-            <version>2.0.5</version>
-        </dependency>
-    </dependencies>
+            <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.6.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/incubator-usergrid/blob/839f817f/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
index 0e65c9a..a255d31 100644
--- a/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
+++ b/stack/awscluster/src/main/dist/init_instance/init_rest_server.sh
@@ -200,6 +200,18 @@ 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
+
+#Run the migration
+curl -X PUT http://ugtest.usergrid.com/system/migrate/run  -u superuser:test
+
+#Run the system database setup
+curl -X GET http://localhost:8080/system/database/setup -u superuser:test
+
 # 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/incubator-usergrid/blob/839f817f/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy
----------------------------------------------------------------------
diff --git a/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy b/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy
index 150018c..df4dcae 100644
--- a/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy
+++ b/stack/awscluster/src/main/groovy/configure_opscenter_usergrid.groovy
@@ -48,9 +48,9 @@ def usergridConfig = """
 seed_hosts = ${seeds}
 
 #TODO, this doesn't seem to work, I think opscenter is broken.  Try this again at a later time and remove opscenter exclusion below
-[storage_cassandra]
-seed_hosts = ${hostName}
-api_port = 9160
+#[storage_cassandra]
+#seed_hosts = ${hostName}
+#api_port = 9160
 
 
 """

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/839f817f/stack/awscluster/ugcluster-cf.json
----------------------------------------------------------------------
diff --git a/stack/awscluster/ugcluster-cf.json b/stack/awscluster/ugcluster-cf.json
index 087c67a..c8b96ee 100644
--- a/stack/awscluster/ugcluster-cf.json
+++ b/stack/awscluster/ugcluster-cf.json
@@ -15,7 +15,7 @@
         "ReleaseBucket": {
             "Description": "S3 Bucket where Usergrid assembly is to be found.",
             "Type": "String",
-            "Default": "usergrid-jenkins-builds"
+            "Default": "ug-cloudformation"
         },
         "RestMinServers": {
             "Description": "Minimum number of REST servers.",
@@ -49,7 +49,7 @@
         "KeyPair": {
             "Description": "EC2 key pair to be use for SSH access",
             "Type": "String",
-            "Default": "jenkins-east"
+            "Default": "ug-cloudformation"
         },
         "CassClusterName": {
             "Description": "Name to be used for Cassandra cluster.",
@@ -144,7 +144,7 @@
         "OpsCenterInstanceType": {
                    "Description": "Instance type for Opscenter server",
                    "Type": "String",
-                   "Default": "c3.xlarge",
+                   "Default": "c3.large",
                    "AllowedValues": [
                        "c3.large",
                        "c3.xlarge",
@@ -319,11 +319,9 @@
                       "apt-get update\n",
                       "apt-get -y install s3cmd\n",
                       "cd /usr/share/usergrid\n",
-                      "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                      "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/ROOT.war\n",
+                      "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
                       "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
                       "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                      "mv ROOT.war webapps/ROOT.war\n",
                       "chmod 755 ./init_instance/*.sh\n",
                       "cd ./init_instance\n",
                       "# Init as a REST intance \n",
@@ -767,11 +765,9 @@
                         "apt-get update\n",
                         "apt-get -y install s3cmd\n",
                         "cd /usr/share/usergrid\n",
-                        "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/ROOT.war\n",
+                        "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
                         "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
                         "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "mv ROOT.war webapps/ROOT.war\n",
                         "chmod 755 ./init_instance/*.sh\n",
                         "cd ./init_instance\n",
                         "# init as a Cassandra node \n",
@@ -930,11 +926,9 @@
                         "apt-get update\n",
                         "apt-get -y install s3cmd\n",
                         "cd /usr/share/usergrid\n",
-                        "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "s3cmd --config=/etc/s3cfg get s3://", {"Ref": "ReleaseBucket"}, "/ROOT.war\n",
+                        "s3cmd --config=/etc/s3cfg get s3://", { "Ref":"ReleaseBucket" }, "/awscluster-1.0-SNAPSHOT-any.tar.gz\n",
                         "tar xvf awscluster-1.0-SNAPSHOT-any.tar.gz\n",
                         "rm -fr awscluster-1.0-SNAPSHOT-any.tar.gz\n",
-                        "mv ROOT.war webapps/ROOT.war\n",
                         "chmod 755 ./init_instance/*.sh\n",
                         "cd ./init_instance\n",
                         "# init as an ES node \n",