@@ -395,6 +395,14 @@ read_password SERVICE_TOKEN "ENTER A SERVICE_TOKEN TO USE FOR THE SERVICE ADMIN
395395# Horizon currently truncates usernames and passwords at 20 characters
396396read_password ADMIN_PASSWORD " ENTER A PASSWORD TO USE FOR HORIZON AND KEYSTONE (20 CHARS OR LESS)."
397397
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+
398406# Log files
399407# ---------
400408
@@ -765,19 +773,47 @@ if [[ "$ENABLED_SERVICES" =~ "g-reg" ]]; then
765773 mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e ' DROP DATABASE IF EXISTS glance;'
766774 mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e ' CREATE DATABASE glance;'
767775
776+ function glance_config {
777+ sudo sed -e "
778+ s,%KEYSTONE_AUTH_HOST%,$KEYSTONE_AUTH_HOST ,g;
779+ s,%KEYSTONE_AUTH_PORT%,$KEYSTONE_AUTH_PORT ,g;
780+ s,%KEYSTONE_AUTH_PROTOCOL%,$KEYSTONE_AUTH_PROTOCOL ,g;
781+ s,%KEYSTONE_SERVICE_HOST%,$KEYSTONE_SERVICE_HOST ,g;
782+ s,%KEYSTONE_SERVICE_PORT%,$KEYSTONE_SERVICE_PORT ,g;
783+ s,%KEYSTONE_SERVICE_PROTOCOL%,$KEYSTONE_SERVICE_PROTOCOL ,g;
784+ s,%SQL_CONN%,$BASE_SQL_CONN /glance,g;
785+ s,%SERVICE_TOKEN%,$SERVICE_TOKEN ,g;
786+ s,%DEST%,$DEST ,g;
787+ s,%SYSLOG%,$SYSLOG ,g;
788+ " -i $1
789+ }
790+
768791 # 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
792+ GLANCE_REGISTRY_CONF=$GLANCE_DIR /etc/glance-registry.conf
793+ cp $FILES /glance-registry.conf $GLANCE_REGISTRY_CONF
794+ glance_config $GLANCE_REGISTRY_CONF
795+
796+ if [[ -e $FILES /glance-registry-paste.ini ]]; then
797+ GLANCE_REGISTRY_PASTE_INI=$GLANCE_DIR /etc/glance-registry-paste.ini
798+ cp $FILES /glance-registry-paste.ini $GLANCE_REGISTRY_PASTE_INI
799+ glance_config $GLANCE_REGISTRY_PASTE_INI
800+ # During the transition for Glance to the split config files
801+ # we cat them together to handle both pre- and post-merge
802+ cat $GLANCE_REGISTRY_PASTE_INI >> $GLANCE_REGISTRY_CONF
803+ fi
775804
776805 GLANCE_API_CONF=$GLANCE_DIR /etc/glance-api.conf
777806 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
807+ glance_config $GLANCE_API_CONF
808+
809+ if [[ -e $FILES /glance-api-paste.ini ]]; then
810+ GLANCE_API_PASTE_INI=$GLANCE_DIR /etc/glance-api-paste.ini
811+ cp $FILES /glance-api-paste.ini $GLANCE_API_PASTE_INI
812+ glance_config $GLANCE_API_PASTE_INI
813+ # During the transition for Glance to the split config files
814+ # we cat them together to handle both pre- and post-merge
815+ cat $GLANCE_API_PASTE_INI >> $GLANCE_API_CONF
816+ fi
781817fi
782818
783819# Nova
@@ -1209,9 +1245,17 @@ if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
12091245 # keystone_data.sh creates our admin user and our ``SERVICE_TOKEN``.
12101246 KEYSTONE_DATA=$KEYSTONE_DIR /bin/keystone_data.sh
12111247 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
1248+ sudo sed -e "
1249+ s,%KEYSTONE_AUTH_HOST%,$KEYSTONE_AUTH_HOST ,g;
1250+ s,%KEYSTONE_AUTH_PORT%,$KEYSTONE_AUTH_PORT ,g;
1251+ s,%KEYSTONE_AUTH_PROTOCOL%,$KEYSTONE_AUTH_PROTOCOL ,g;
1252+ s,%KEYSTONE_SERVICE_HOST%,$KEYSTONE_SERVICE_HOST ,g;
1253+ s,%KEYSTONE_SERVICE_PORT%,$KEYSTONE_SERVICE_PORT ,g;
1254+ s,%KEYSTONE_SERVICE_PROTOCOL%,$KEYSTONE_SERVICE_PROTOCOL ,g;
1255+ s,%SERVICE_HOST%,$SERVICE_HOST ,g;
1256+ s,%SERVICE_TOKEN%,$SERVICE_TOKEN ,g;
1257+ s,%ADMIN_PASSWORD%,$ADMIN_PASSWORD ,g;
1258+ " -i $KEYSTONE_DATA
12151259 # initialize keystone with default users/endpoints
12161260 ENABLED_SERVICES=$ENABLED_SERVICES BIN_DIR=$KEYSTONE_DIR /bin bash $KEYSTONE_DATA
12171261
12751319if [[ " $ENABLED_SERVICES " =~ " key" ]]; then
12761320 screen_it key " cd $KEYSTONE_DIR && $KEYSTONE_DIR /bin/keystone --config-file $KEYSTONE_CONF $KEYSTONE_LOG_CONFIG -d"
12771321 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
1322+ if ! timeout $SERVICE_TIMEOUT sh -c " while ! wget -q -O- $KEYSTONE_SERVICE_PROTOCOL ://$KEYSTONE_SERVICE_HOST : $KEYSTONE_SERVICE_PORT ; do sleep 1; done" ; then
12791323 echo " keystone did not start"
12801324 exit 1
12811325 fi
14701514
14711515# If keystone is present, you can point nova cli to this server
14721516if [[ " $ENABLED_SERVICES " =~ " key" ]]; then
1473- echo " keystone is serving at http ://$SERVICE_HOST :5000 /v2.0/"
1517+ echo " keystone is serving at $KEYSTONE_SERVICE_PROTOCOL ://$KEYSTONE_SERVICE_HOST : $KEYSTONE_SERVICE_PORT /v2.0/"
14741518 echo " examples on using novaclient command line is in exercise.sh"
14751519 echo " the default users are: admin and demo"
14761520 echo " the password: $ADMIN_PASSWORD "
0 commit comments