removing plural from model names. some cleanup
[plstackapi.git] / planetstack / scripts / opencloud
old mode 100755 (executable)
new mode 100644 (file)
index 5093c4d..54852b9
@@ -7,6 +7,8 @@ fi
 
 BACKUP_DIR=/opt/planetstack_backups
 
+DJANGO_17=`python -c "import django; from distutils.version import StrictVersion; print int(StrictVersion(django.get_version()) >= StrictVersion('1.7'))"`
+
 cd /opt/planetstack
 
 function ensure_postgres_running {
@@ -44,25 +46,34 @@ function dropdb {
 function syncdb {
     echo "Syncing OpenCloud services..."
     python /opt/planetstack/manage.py syncdb --noinput
+    if [[ $DJANGO_17 ]]; then
+        echo "Loading initial data from fixture..."
+        python /opt/planetstack/manage.py --noobserver --nomodelpolicy loaddata /opt/planetstack/core/fixtures/initial_data.json
+    fi
 }
 function evolvedb {
-    echo "Syncing OpenCloud services..."
+    echo "Evolving OpenCloud services..."
     python /opt/planetstack/manage.py evolve --hint --execute --noinput
 }
+function migratedb {
+    echo "Migrating OpenCloud services..."
+    python /opt/planetstack/manage.py migrate
+}
 function stopserver {
     echo "Stopping any running OpenCloud Service(s)"
     pkill -f "python.*runserver"
 }
 function runserver {
-    echo "Starting OpenCloud Service on $HOSTNAME:8000"
-    python manage.py runserver  $HOSTNAME:8000&
+    PUBLIC_HOSTNAME=`/opt/planetstack/planetstack-config.py get server_hostname $HOSTNAME`
+    echo "Starting OpenCloud Service on $PUBLIC_HOSTNAME:8000"
+    python manage.py runserver  $PUBLIC_HOSTNAME:8000&
 }
 
 function dumpdata {
     mkdir -p $BACKUP_DIR
     FN="$BACKUP_DIR/dumpdata-`date +%Y-%m-%d_%H:%M:%S`.json"
     echo "Saving data to $FN"
-    python manage.py dumpdata core hpc syndicate requestrouter --indent 4 > $FN
+    python manage.py dumpdata core hpc syndicate_storage requestrouter -a --indent 4 > $FN
     if [[ ! -f $FN ]]; then
         echo "FAILED to create $FN"
         exit
@@ -77,6 +88,19 @@ function dumpdata {
     ln -s $FN $BACKUP_DIR/dumpdata-latest.json
 }
 
+function genkeys {
+    mkdir -p public_keys
+    mkdir -p private_keys
+    echo "Generating keys"
+       keyczart create --location=private_keys --name="OpenCloud" --purpose=crypt --asymmetric=rsa
+       keyczart addkey --location=private_keys --status=primary --size=1024
+       keyczart pubkey --location=private_keys --destination=public_keys
+    if [[ ! -f public_keys/1 ]]; then
+        echo "FAILED to create keys"
+        exit
+    fi
+}
+
 COMMAND=$1
 
 if [ "$COMMAND" = "initdb" ]; then
@@ -110,10 +134,14 @@ if [ "$COMMAND" = "restoredb" ]; then
     createdb
     syncdb
 fi
-if [ "$COMMAND" = "evolvedb" ]; then
+if [ "$COMMAND" = "evolvedb" -o "$COMMAND" = "migratedb" ]; then
     stopserver
     ensure_postgres_running
-    evolvedb
+    if [[ $DJANGO_17 ]]; then
+        migratedb
+    else
+        evolvedb
+    fi
 fi
 if [ "$COMMAND" = "resetdb" ]; then
     stopserver
@@ -135,3 +163,6 @@ fi
 if [ "$COMMAND" = "dumpdata" ]; then
     dumpdata
 fi
+if [ "$COMMAND" = "genkeys" ]; then
+    genkeys
+fi