Browse code

progress on multi-host stack.sh

Anthony Young authored on 2011/09/14 12:07:44
Showing 3 changed files
... ...
@@ -21,7 +21,7 @@ use_syslog = False
21 21
 # SQLAlchemy connection string for the reference implementation
22 22
 # registry server. Any valid SQLAlchemy connection string is fine.
23 23
 # See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine
24
-sql_connection = mysql://root:%MYSQL_PASS%@localhost/glance
24
+sql_connection = %SQL_CONN%
25 25
 
26 26
 # Period in seconds after which SQLAlchemy should reestablish its connection
27 27
 # to the database.
... ...
@@ -49,7 +49,7 @@ keystone-service-admin-role = KeystoneServiceAdmin
49 49
 # server. Any valid SQLAlchemy connection string is fine.
50 50
 # See: http://bit.ly/ideIpI
51 51
 #sql_connection = sqlite:///keystone.db
52
-sql_connection = mysql://root:%MYSQL_PASS%@localhost/keystone
52
+sql_connection = %SQL_CONN%
53 53
 backend_entities = ['UserRoleAssociation', 'Endpoints', 'Role', 'Tenant',
54 54
                     'User', 'Credentials', 'EndpointTemplates', 'Token',
55 55
                     'Service']
... ...
@@ -35,6 +35,8 @@ KEYSTONE_DIR=$DEST/keystone
35 35
 NOVACLIENT_DIR=$DEST/python-novaclient
36 36
 API_DIR=$DEST/openstackx
37 37
 NOVNC_DIR=$DEST/noVNC
38
+
39
+# Specify which services to launch.  These generally correspond to screen tabs
38 40
 ENABLED_SERVICES=g-api,g-reg,key,n-api,n-cpu,n-net,n-sch,n-vnc,dash
39 41
 
40 42
 # Use the first IP unless an explicit is set by ``HOST_IP`` environment variable
... ...
@@ -47,6 +49,7 @@ INTERFACE=${INTERFACE:-eth0}
47 47
 FLOATING_RANGE=${FLOATING_RANGE:-10.6.0.0/27}
48 48
 FIXED_RANGE=${FIXED_RANGE:-10.0.0.0/24}
49 49
 NET_MAN=${NET_MAN:-VlanManager}
50
+EC2_DMZ_HOST=${EC2_DMZ_HOST:-$HOST_IP}
50 51
 
51 52
 # If you are using FlatDHCP on multiple hosts, set the ``FLAT_INTERFACE``
52 53
 # variable but make sure that the interface doesn't already have an
... ...
@@ -56,11 +59,14 @@ NET_MAN=${NET_MAN:-VlanManager}
56 56
 # Nova hypervisor configuration
57 57
 LIBVIRT_TYPE=${LIBVIRT_TYPE:-qemu}
58 58
 
59
-
60
-# TODO: switch to mysql for all services
59
+# Mysql connection info
61 60
 MYSQL_PASS=${MYSQL_PASS:-nova}
62
-SQL_CONN=${SQL_CONN:-mysql://root:$MYSQL_PASS@localhost/nova}
63
-# TODO: set rabbitmq conn string explicitly as well
61
+MYSQL_HOST=${MYSQL_HOST:-localhost}
62
+# don't specify /db in this string, so we can use it for multiple services
63
+BASE_SQL_CONN=${BASE_SQL_CONN:-mysql://root:$MYSQL_PASS@$MYSQL_HOST}
64
+
65
+# Rabbit connection info
66
+RABBIT_HOST=${RABBIT_HOST:-localhost}
64 67
 
65 68
 # Install Packages
66 69
 # ================
... ...
@@ -180,7 +186,7 @@ mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE glance;'
180 180
 # Copy over our glance-registry.conf
181 181
 GLANCE_CONF=$GLANCE_DIR/etc/glance-registry.conf
182 182
 cp $DIR/files/glance-registry.conf $GLANCE_CONF
183
-sudo sed -e "s,%MYSQL_PASS%,$MYSQL_PASS,g" -i $GLANCE_CONF
183
+sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/glance,g" -i $GLANCE_CONF
184 184
 
185 185
 # Nova
186 186
 # ----
... ...
@@ -198,13 +204,16 @@ add_nova_flag "--network_manager=nova.network.manager.$NET_MAN"
198 198
 add_nova_flag "--my_ip=$HOST_IP"
199 199
 add_nova_flag "--public_interface=$INTERFACE"
200 200
 add_nova_flag "--vlan_interface=$INTERFACE"
201
-add_nova_flag "--sql_connection=$SQL_CONN"
201
+add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova"
202 202
 add_nova_flag "--libvirt_type=$LIBVIRT_TYPE"
203 203
 add_nova_flag "--osapi_extensions_path=$API_DIR/extensions"
204 204
 add_nova_flag "--vncproxy_url=http://$HOST_IP:6080"
205 205
 add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
206 206
 add_nova_flag "--api_paste_config=$KEYSTONE_DIR/examples/paste/nova-api-paste.ini"
207 207
 add_nova_flag "--image_service=nova.image.glance.GlanceImageService"
208
+add_nova_flag "--image_service=nova.image.glance.GlanceImageService"
209
+add_nova_flag "--ec2_dmz_host=$EC2_DMZ_HOST"
210
+add_nova_flag "--rabbit_host=$RABBIT_HOST"
208 211
 if [ -n "$FLAT_INTERFACE" ]; then
209 212
     add_nova_flag "--flat_interface=$FLAT_INTERFACE"
210 213
 fi
... ...
@@ -253,7 +262,7 @@ mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE keystone;'
253 253
 # FIXME (anthony) keystone should use keystone.conf.example
254 254
 KEYSTONE_CONF=$KEYSTONE_DIR/etc/keystone.conf
255 255
 cp $DIR/files/keystone.conf $KEYSTONE_CONF
256
-sudo sed -e "s,%MYSQL_PASS%,$MYSQL_PASS,g" -i $KEYSTONE_CONF
256
+sudo sed -e "s,%SQL_CONN%,$BASE_SQL_CONN/keystone,g" -i $KEYSTONE_CONF
257 257
 
258 258
 # initialize keystone with default users/endpoints
259 259
 BIN_DIR=$KEYSTONE_DIR/bin bash $DIR/files/keystone_data.sh