Skip to content

Commit 6577b46

Browse files
author
Dean Troyer
committed
Glance changes to stack.sh for https://review.openstack.org/3092
* Handle before/after upcoming Glance configuration file changes * Add configuration vars for Keystone URIs to configure Glance and other services Change-Id: I465065592ade11fb86c40cd04d29c4ae3f1706d7
1 parent d38f942 commit 6577b46

File tree

2 files changed

+59
-15
lines changed

2 files changed

+59
-15
lines changed

files/keystone_data.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ fi
3939
$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
4040
$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
4141
$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
4343
if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
4444
$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
4545
fi

stack.sh

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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
396396
read_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
781817
fi
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

@@ -1275,7 +1319,7 @@ fi
12751319
if [[ "$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
@@ -1470,7 +1514,7 @@ fi
14701514

14711515
# If keystone is present, you can point nova cli to this server
14721516
if [[ "$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

Comments
 (0)