|
...
|
...
|
@@ -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"
|