* Handle before/after upcoming Glance configuration file changes
* Add configuration vars for Keystone URIs to configure Glance
and other services
Change-Id: I465065592ade11fb86c40cd04d29c4ae3f1706d7
| ... | ... |
@@ -39,7 +39,7 @@ fi |
| 39 | 39 |
$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne nova http://%SERVICE_HOST%:8774/v1.1/%tenant_id% http://%SERVICE_HOST%:8774/v1.1/%tenant_id% http://%SERVICE_HOST%:8774/v1.1/%tenant_id% 1 1 |
| 40 | 40 |
$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne ec2 http://%SERVICE_HOST%:8773/services/Cloud http://%SERVICE_HOST%:8773/services/Admin http://%SERVICE_HOST%:8773/services/Cloud 1 1 |
| 41 | 41 |
$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne glance http://%SERVICE_HOST%:9292/v1 http://%SERVICE_HOST%:9292/v1 http://%SERVICE_HOST%:9292/v1 1 1 |
| 42 |
-$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne keystone http://%SERVICE_HOST%:5000/v2.0 http://%SERVICE_HOST%:35357/v2.0 http://%SERVICE_HOST%:5000/v2.0 1 1 |
|
| 42 |
+$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne keystone %KEYSTONE_SERVICE_PROTOCOL%://%KEYSTONE_SERVICE_HOST%:%KEYSTONE_SERVICE_PORT%/v2.0 %KEYSTONE_AUTH_PROTOCOL%://%KEYSTONE_AUTH_HOST%:%KEYSTONE_AUTH_PORT%/v2.0 %KEYSTONE_SERVICE_PROTOCOL%://%KEYSTONE_SERVICE_HOST%:%KEYSTONE_SERVICE_PORT%/v2.0 1 1 |
|
| 43 | 43 |
if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then |
| 44 | 44 |
$BIN_DIR/keystone-manage $* endpointTemplates add RegionOne swift http://%SERVICE_HOST%:8080/v1/AUTH_%tenant_id% http://%SERVICE_HOST%:8080/ http://%SERVICE_HOST%:8080/v1/AUTH_%tenant_id% 1 1 |
| 45 | 45 |
fi |
| ... | ... |
@@ -395,6 +395,14 @@ read_password SERVICE_TOKEN "ENTER A SERVICE_TOKEN TO USE FOR THE SERVICE ADMIN |
| 395 | 395 |
# Horizon currently truncates usernames and passwords at 20 characters |
| 396 | 396 |
read_password ADMIN_PASSWORD "ENTER A PASSWORD TO USE FOR HORIZON AND KEYSTONE (20 CHARS OR LESS)." |
| 397 | 397 |
|
| 398 |
+# Set Keystone interface configuration |
|
| 399 |
+KEYSTONE_AUTH_HOST=${KEYSTONE_AUTH_HOST:-$SERVICE_HOST}
|
|
| 400 |
+KEYSTONE_AUTH_PORT=${KEYSTONE_AUTH_PORT:-35357}
|
|
| 401 |
+KEYSTONE_AUTH_PROTOCOL=${KEYSTONE_AUTH_PROTOCOL:-http}
|
|
| 402 |
+KEYSTONE_SERVICE_HOST=${KEYSTONE_SERVICE_HOST:-$SERVICE_HOST}
|
|
| 403 |
+KEYSTONE_SERVICE_PORT=${KEYSTONE_SERVICE_PORT:-5000}
|
|
| 404 |
+KEYSTONE_SERVICE_PROTOCOL=${KEYSTONE_SERVICE_PROTOCOL:-http}
|
|
| 405 |
+ |
|
| 398 | 406 |
# Log files |
| 399 | 407 |
# --------- |
| 400 | 408 |
|
| ... | ... |
@@ -765,19 +773,47 @@ if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then |
| 765 | 765 |
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'DROP DATABASE IF EXISTS glance;' |
| 766 | 766 |
mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e 'CREATE DATABASE glance;' |
| 767 | 767 |
|
| 768 |
+ function glance_config {
|
|
| 769 |
+ sudo sed -e " |
|
| 770 |
+ s,%KEYSTONE_AUTH_HOST%,$KEYSTONE_AUTH_HOST,g; |
|
| 771 |
+ s,%KEYSTONE_AUTH_PORT%,$KEYSTONE_AUTH_PORT,g; |
|
| 772 |
+ s,%KEYSTONE_AUTH_PROTOCOL%,$KEYSTONE_AUTH_PROTOCOL,g; |
|
| 773 |
+ s,%KEYSTONE_SERVICE_HOST%,$KEYSTONE_SERVICE_HOST,g; |
|
| 774 |
+ s,%KEYSTONE_SERVICE_PORT%,$KEYSTONE_SERVICE_PORT,g; |
|
| 775 |
+ s,%KEYSTONE_SERVICE_PROTOCOL%,$KEYSTONE_SERVICE_PROTOCOL,g; |
|
| 776 |
+ s,%SQL_CONN%,$BASE_SQL_CONN/glance,g; |
|
| 777 |
+ s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g; |
|
| 778 |
+ s,%DEST%,$DEST,g; |
|
| 779 |
+ s,%SYSLOG%,$SYSLOG,g; |
|
| 780 |
+ " -i $1 |
|
| 781 |
+ } |
|
| 782 |
+ |
|
| 768 | 783 |
# Copy over our glance configurations and update them |
| 769 |
- GLANCE_CONF=$GLANCE_DIR/etc/glance-registry.conf |
|
| 770 |
- cp $FILES/glance-registry.conf $GLANCE_CONF |
|
| 771 |
- sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/glance,g" -i $GLANCE_CONF |
|
| 772 |
- sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $GLANCE_CONF |
|
| 773 |
- sudo sed -e "s,%DEST%,$DEST,g" -i $GLANCE_CONF |
|
| 774 |
- sudo sed -e "s,%SYSLOG%,$SYSLOG,g" -i $GLANCE_CONF |
|
| 784 |
+ GLANCE_REGISTRY_CONF=$GLANCE_DIR/etc/glance-registry.conf |
|
| 785 |
+ cp $FILES/glance-registry.conf $GLANCE_REGISTRY_CONF |
|
| 786 |
+ glance_config $GLANCE_REGISTRY_CONF |
|
| 787 |
+ |
|
| 788 |
+ if [[ -e $FILES/glance-registry-paste.ini ]]; then |
|
| 789 |
+ GLANCE_REGISTRY_PASTE_INI=$GLANCE_DIR/etc/glance-registry-paste.ini |
|
| 790 |
+ cp $FILES/glance-registry-paste.ini $GLANCE_REGISTRY_PASTE_INI |
|
| 791 |
+ glance_config $GLANCE_REGISTRY_PASTE_INI |
|
| 792 |
+ # During the transition for Glance to the split config files |
|
| 793 |
+ # we cat them together to handle both pre- and post-merge |
|
| 794 |
+ cat $GLANCE_REGISTRY_PASTE_INI >>$GLANCE_REGISTRY_CONF |
|
| 795 |
+ fi |
|
| 775 | 796 |
|
| 776 | 797 |
GLANCE_API_CONF=$GLANCE_DIR/etc/glance-api.conf |
| 777 | 798 |
cp $FILES/glance-api.conf $GLANCE_API_CONF |
| 778 |
- sudo sed -e "s,%DEST%,$DEST,g" -i $GLANCE_API_CONF |
|
| 779 |
- sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $GLANCE_API_CONF |
|
| 780 |
- sudo sed -e "s,%SYSLOG%,$SYSLOG,g" -i $GLANCE_API_CONF |
|
| 799 |
+ glance_config $GLANCE_API_CONF |
|
| 800 |
+ |
|
| 801 |
+ if [[ -e $FILES/glance-api-paste.ini ]]; then |
|
| 802 |
+ GLANCE_API_PASTE_INI=$GLANCE_DIR/etc/glance-api-paste.ini |
|
| 803 |
+ cp $FILES/glance-api-paste.ini $GLANCE_API_PASTE_INI |
|
| 804 |
+ glance_config $GLANCE_API_PASTE_INI |
|
| 805 |
+ # During the transition for Glance to the split config files |
|
| 806 |
+ # we cat them together to handle both pre- and post-merge |
|
| 807 |
+ cat $GLANCE_API_PASTE_INI >>$GLANCE_API_CONF |
|
| 808 |
+ fi |
|
| 781 | 809 |
fi |
| 782 | 810 |
|
| 783 | 811 |
# Nova |
| ... | ... |
@@ -1209,9 +1245,17 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then |
| 1209 | 1209 |
# keystone_data.sh creates our admin user and our ``SERVICE_TOKEN``. |
| 1210 | 1210 |
KEYSTONE_DATA=$KEYSTONE_DIR/bin/keystone_data.sh |
| 1211 | 1211 |
cp $FILES/keystone_data.sh $KEYSTONE_DATA |
| 1212 |
- sudo sed -e "s,%SERVICE_HOST%,$SERVICE_HOST,g" -i $KEYSTONE_DATA |
|
| 1213 |
- sudo sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $KEYSTONE_DATA |
|
| 1214 |
- sudo sed -e "s,%ADMIN_PASSWORD%,$ADMIN_PASSWORD,g" -i $KEYSTONE_DATA |
|
| 1212 |
+ sudo sed -e " |
|
| 1213 |
+ s,%KEYSTONE_AUTH_HOST%,$KEYSTONE_AUTH_HOST,g; |
|
| 1214 |
+ s,%KEYSTONE_AUTH_PORT%,$KEYSTONE_AUTH_PORT,g; |
|
| 1215 |
+ s,%KEYSTONE_AUTH_PROTOCOL%,$KEYSTONE_AUTH_PROTOCOL,g; |
|
| 1216 |
+ s,%KEYSTONE_SERVICE_HOST%,$KEYSTONE_SERVICE_HOST,g; |
|
| 1217 |
+ s,%KEYSTONE_SERVICE_PORT%,$KEYSTONE_SERVICE_PORT,g; |
|
| 1218 |
+ s,%KEYSTONE_SERVICE_PROTOCOL%,$KEYSTONE_SERVICE_PROTOCOL,g; |
|
| 1219 |
+ s,%SERVICE_HOST%,$SERVICE_HOST,g; |
|
| 1220 |
+ s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g; |
|
| 1221 |
+ s,%ADMIN_PASSWORD%,$ADMIN_PASSWORD,g; |
|
| 1222 |
+ " -i $KEYSTONE_DATA |
|
| 1215 | 1223 |
# initialize keystone with default users/endpoints |
| 1216 | 1224 |
ENABLED_SERVICES=$ENABLED_SERVICES BIN_DIR=$KEYSTONE_DIR/bin bash $KEYSTONE_DATA |
| 1217 | 1225 |
|
| ... | ... |
@@ -1275,7 +1319,7 @@ fi |
| 1275 | 1275 |
if [[ "$ENABLED_SERVICES" =~ "key" ]]; then |
| 1276 | 1276 |
screen_it key "cd $KEYSTONE_DIR && $KEYSTONE_DIR/bin/keystone --config-file $KEYSTONE_CONF $KEYSTONE_LOG_CONFIG -d" |
| 1277 | 1277 |
echo "Waiting for keystone to start..." |
| 1278 |
- if ! timeout $SERVICE_TIMEOUT sh -c "while ! wget -q -O- http://127.0.0.1:5000; do sleep 1; done"; then |
|
| 1278 |
+ if ! timeout $SERVICE_TIMEOUT sh -c "while ! wget -q -O- $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT; do sleep 1; done"; then |
|
| 1279 | 1279 |
echo "keystone did not start" |
| 1280 | 1280 |
exit 1 |
| 1281 | 1281 |
fi |
| ... | ... |
@@ -1470,7 +1514,7 @@ fi |
| 1470 | 1470 |
|
| 1471 | 1471 |
# If keystone is present, you can point nova cli to this server |
| 1472 | 1472 |
if [[ "$ENABLED_SERVICES" =~ "key" ]]; then |
| 1473 |
- echo "keystone is serving at http://$SERVICE_HOST:5000/v2.0/" |
|
| 1473 |
+ echo "keystone is serving at $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/" |
|
| 1474 | 1474 |
echo "examples on using novaclient command line is in exercise.sh" |
| 1475 | 1475 |
echo "the default users are: admin and demo" |
| 1476 | 1476 |
echo "the password: $ADMIN_PASSWORD" |