Переглянути джерело

improve Cassandra DB setup; add db connectivity diagnostics

marko asplund 11 роки тому
батько
коміт
c433b987d6

+ 5 - 3
frameworks/Java/servlet3-cass/setup.py

@@ -15,10 +15,12 @@ def start(args, logfile, errfile):
       subprocess.check_call("cp servlet3-cass\\target\\servlet3-cass.war C:\\Java\\resin\\webapps\\servlet3-cass.war", shell=True, stderr=errfile, stdout=logfile)
       subprocess.check_call("C:\\Java\\resin\\bin\\start.bat", shell=True, stderr=errfile, stdout=logfile)
       return 0
-    subprocess.check_call("pwd", shell=True, stderr=errfile, stdout=logfile)
-    subprocess.check_call("cat src/main/resources/application.properties", shell=True, cwd="servlet3-cass", stderr=errfile, stdout=logfile)
     subprocess.check_call("rm -rf $RESIN_HOME/webapps/*", shell=True, stderr=errfile, stdout=logfile)
-    subprocess.check_call("cp servlet3-cass/target/servlet3-cass.war $RESIN_HOME/webapps/", shell=True, stderr=errfile, stdout=logfile)
+    subprocess.check_call("cp servlet3-cass/target/servlet3-cass.war $RESIN_HOME/webapps/", shell=True, stderr=errfile, stdout=logfile)    
+    # output config + verify database connection
+    subprocess.call("echo servlet3-cass application.properties", shell=True, stderr=errfile, stdout=logfile)
+    subprocess.check_call("cat src/main/resources/application.properties", shell=True, cwd="servlet3-cass", stderr=errfile, stdout=logfile)
+    subprocess.call("for i in 1 2 3 4 5; do nc -vz "+args.database_host+" 9160  && echo 'c* ok' && break || echo 'waiting for c*'; sleep 2; done", shell=True, stderr=errfile, stdout=logfile)
     subprocess.check_call("$RESIN_HOME/bin/resinctl start", shell=True, stderr=errfile, stdout=logfile)
     return 0
   except subprocess.CalledProcessError:

+ 4 - 4
toolset/setup/linux/installer.py

@@ -226,13 +226,13 @@ class Installer:
     
     mv cassandra/cassandra.yaml apache-cassandra-$CASS_V/conf
     mv cassandra/log4j-server.properties apache-cassandra-$CASS_V/conf
-    nohup apache-cassandra-$CASS_V/bin/cassandra > cassandra.log
+    apache-cassandra-$CASS_V/bin/cassandra -p /ssd/cassandra/c.pid > /ssd/cassandra/boot.log
 
     until nc -z localhost 9160 ; do echo Waiting for Cassandra; sleep 1; done
-    cat cassandra/cleanup-keyspace.cql | apache-cassandra-$CASS_V/bin/cqlsh $TFB_DATABASE_HOST
+    cat cassandra/cleanup-keyspace.cql | apache-cassandra-$CASS_V/bin/cqlsh localhost
     python cassandra/db-data-gen.py > cassandra/tfb-data.cql
-    apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/create-keyspace.cql $TFB_DATABASE_HOST
-    apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/tfb-data.cql $TFB_DATABASE_HOST
+    apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/create-keyspace.cql localhost
+    apache-cassandra-$CASS_V/bin/cqlsh -f cassandra/tfb-data.cql localhost
     rm -rf apache-cassandra-*-bin.tar.gz cassandra
 
     ##############################