Browse code

bunch of fixes

termie authored on 2012/01/11 10:59:00
Showing 3 changed files
... ...
@@ -1,8 +1,7 @@
1 1
 #!/bin/bash
2 2
 BIN_DIR=${BIN_DIR:-.}
3 3
 # Tenants
4
-ADMIN_TENANT=`$BIN_DIR/keystone-manage tenant --ks-id-only
5
-                                       create \
4
+ADMIN_TENANT=`$BIN_DIR/keystone-manage tenant --ks-id-only create \
6 5
                                        tenant_name=admin`
7 6
 DEMO_TENANT=`$BIN_DIR/keystone-manage tenant --ks-id-only create \
8 7
                                       tenant_name=demo`
... ...
@@ -1 +1,2 @@
1 1
 PassLib
2
+pycli
... ...
@@ -1297,56 +1297,6 @@ if [[ "$ENABLED_SERVICES" =~ "mysql" ]]; then
1297 1297
 fi
1298 1298
 
1299 1299
 
1300
-# Keystone
1301
-# --------
1302
-
1303
-if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
1304
-    # (re)create keystone database
1305
-    mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS keystone;'
1306
-    mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE keystone;'
1307
-
1308
-    # Configure keystone.conf
1309
-    KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf
1310
-    cp $FILES/keystone.conf $KEYSTONE_CONF
1311
-    sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF
1312
-    sudo sed -e "s,%DEST%,$DEST,g" -i $KEYSTONE_CONF
1313
-    sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $KEYSTONE_CONF
1314
-
1315
-    KEYSTONE_CATALOG=$KEYSTONE_DIR/etc/default_catalog.template
1316
-    cp $FILES/default_catalog.template $KEYSTONE_CATALOG
1317
-    sudo sed -e "s,%SERVICE_HOST%,$SERVICE_HOST,g" -i $KEYSTONE_CATALOG
1318
-
1319
-    # keystone_data.sh creates our admin user and our ``SERVICE_TOKEN``.
1320
-    KEYSTONE_DATA=$KEYSTONE_DIR/bin/keystone_data.sh
1321
-    cp $FILES/keystone_data.sh $KEYSTONE_DATA
1322
-    sudo sed -e "
1323
-        s,%KEYSTONE_AUTH_HOST%,$KEYSTONE_AUTH_HOST,g;
1324
-        s,%KEYSTONE_AUTH_PORT%,$KEYSTONE_AUTH_PORT,g;
1325
-        s,%KEYSTONE_AUTH_PROTOCOL%,$KEYSTONE_AUTH_PROTOCOL,g;
1326
-        s,%KEYSTONE_SERVICE_HOST%,$KEYSTONE_SERVICE_HOST,g;
1327
-        s,%KEYSTONE_SERVICE_PORT%,$KEYSTONE_SERVICE_PORT,g;
1328
-        s,%KEYSTONE_SERVICE_PROTOCOL%,$KEYSTONE_SERVICE_PROTOCOL,g;
1329
-        s,%SERVICE_HOST%,$SERVICE_HOST,g;
1330
-        s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g;
1331
-        s,%ADMIN_PASSWORD%,$ADMIN_PASSWORD,g;
1332
-    " -i $KEYSTONE_DATA
1333
-
1334
-    # Prepare up the database
1335
-    $KEYSTONE_DIR/bin/keystone-manage sync_database
1336
-
1337
-    # initialize keystone with default users/endpoints
1338
-    ENABLED_SERVICES=$ENABLED_SERVICES BIN_DIR=$KEYSTONE_DIR/bin bash $KEYSTONE_DATA
1339
-
1340
-    if [ "$SYSLOG" != "False" ]; then
1341
-        sed -i -e '/^handlers=devel$/s/=devel/=production/' \
1342
-            $KEYSTONE_DIR/etc/logging.cnf
1343
-        sed -i -e "/^log_file/s/log_file/\#log_file/" \
1344
-            $KEYSTONE_DIR/etc/keystone.conf
1345
-        KEYSTONE_LOG_CONFIG="--log-config $KEYSTONE_DIR/etc/logging.cnf"
1346
-    fi
1347
-fi
1348
-
1349
-
1350 1300
 # Launch Services
1351 1301
 # ===============
1352 1302
 
... ...
@@ -1362,18 +1312,18 @@ function screen_it {
1362 1362
             tmux new-window -t stack -a -n "$1" "bash"
1363 1363
             tmux send-keys "$2" C-M
1364 1364
         else
1365
-            screen -S stack -X screen -t $1
1365
+            screen -L -S stack -X screen -t $1
1366 1366
             # sleep to allow bash to be ready to be send the command - we are
1367 1367
             # creating a new window in screen and then sends characters, so if
1368 1368
             # bash isn't running by the time we send the command, nothing happens
1369 1369
             sleep 1.5
1370
-            screen -S stack -p $1 -X stuff "$2$NL"
1370
+            screen -L -S stack -p $1 -X stuff "$2$NL"
1371 1371
         fi
1372 1372
     fi
1373 1373
 }
1374 1374
 
1375 1375
 # create a new named screen to run processes in
1376
-screen -d -m -S stack -t stack
1376
+screen -L -d -m -S stack -t stack
1377 1377
 sleep 1
1378 1378
 # set a reasonable statusbar
1379 1379
 screen -r stack -X hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%< %= %H"
... ...
@@ -1393,16 +1343,62 @@ if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
1393 1393
     fi
1394 1394
 fi
1395 1395
 
1396
+if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
1397
+    # (re)create keystone database
1398
+    mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS keystone;'
1399
+    mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE keystone;'
1400
+
1401
+    # Configure keystone.conf
1402
+    KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf
1403
+    cp $FILES/keystone.conf $KEYSTONE_CONF
1404
+    sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF
1405
+    sudo sed -e "s,%DEST%,$DEST,g" -i $KEYSTONE_CONF
1406
+    sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $KEYSTONE_CONF
1407
+
1408
+    KEYSTONE_CATALOG=$KEYSTONE_DIR/etc/default_catalog.templates
1409
+    cp $FILES/default_catalog.templates $KEYSTONE_CATALOG
1410
+    sudo sed -e "s,%SERVICE_HOST%,$SERVICE_HOST,g" -i $KEYSTONE_CATALOG
1411
+
1412
+
1413
+    if [ "$SYSLOG" != "False" ]; then
1414
+        sed -i -e '/^handlers=devel$/s/=devel/=production/' \
1415
+            $KEYSTONE_DIR/etc/logging.cnf
1416
+        sed -i -e "/^log_file/s/log_file/\#log_file/" \
1417
+            $KEYSTONE_DIR/etc/keystone.conf
1418
+        KEYSTONE_LOG_CONFIG="--log-config $KEYSTONE_DIR/etc/logging.cnf"
1419
+    fi
1420
+fi
1421
+
1396 1422
 # launch the keystone and wait for it to answer before continuing
1397 1423
 if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
1398 1424
     screen_it key "cd $KEYSTONE_DIR && $KEYSTONE_DIR/bin/keystone --config-file $KEYSTONE_CONF $KEYSTONE_LOG_CONFIG -d"
1399 1425
     echo "Waiting for keystone to start..."
1400
-    if ! timeout $SERVICE_TIMEOUT sh -c "while ! http_proxy= wget -q -O- $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT; do sleep 1; done"; then
1426
+    if ! timeout $SERVICE_TIMEOUT sh -c "while ! http_proxy= wget -q -O- $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/; do sleep 1; done"; then
1401 1427
       echo "keystone did not start"
1402 1428
       exit 1
1403 1429
     fi
1430
+
1431
+    # keystone_data.sh creates our admin user and our ``SERVICE_TOKEN``.
1432
+    KEYSTONE_DATA=$KEYSTONE_DIR/bin/keystone_data.sh
1433
+    cp $FILES/keystone_data.sh $KEYSTONE_DATA
1434
+    sudo sed -e "
1435
+        s,%KEYSTONE_AUTH_HOST%,$KEYSTONE_AUTH_HOST,g;
1436
+        s,%KEYSTONE_AUTH_PORT%,$KEYSTONE_AUTH_PORT,g;
1437
+        s,%KEYSTONE_AUTH_PROTOCOL%,$KEYSTONE_AUTH_PROTOCOL,g;
1438
+        s,%KEYSTONE_SERVICE_HOST%,$KEYSTONE_SERVICE_HOST,g;
1439
+        s,%KEYSTONE_SERVICE_PORT%,$KEYSTONE_SERVICE_PORT,g;
1440
+        s,%KEYSTONE_SERVICE_PROTOCOL%,$KEYSTONE_SERVICE_PROTOCOL,g;
1441
+        s,%SERVICE_HOST%,$SERVICE_HOST,g;
1442
+        s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g;
1443
+        s,%ADMIN_PASSWORD%,$ADMIN_PASSWORD,g;
1444
+    " -i $KEYSTONE_DATA
1445
+
1446
+    # initialize keystone with default users/endpoints
1447
+    $KEYSTONE_DIR/bin/keystone-manage db_sync
1448
+    ENABLED_SERVICES=$ENABLED_SERVICES BIN_DIR=$KEYSTONE_DIR/bin bash $KEYSTONE_DATA
1404 1449
 fi
1405 1450
 
1451
+
1406 1452
 # launch the nova-api and wait for it to answer before continuing
1407 1453
 if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
1408 1454
     screen_it n-api "cd $NOVA_DIR && $NOVA_DIR/bin/nova-api"