Browse code

Update trove to install guest image and datastores

Update the trove bits to actually upload the trove guest image to
glance, and create the datastore and datastore version objects that
are associated with the guest image ID.

Change-Id: I6c5c56b3fac981e91cdd7ed60079a5649b8dfea8

Nikhil Manchanda authored on 2014/06/25 05:06:00
Showing 1 changed files
... ...
@@ -33,6 +33,10 @@ TROVECLIENT_DIR=$DEST/python-troveclient
33 33
 TROVE_CONF_DIR=/etc/trove
34 34
 TROVE_LOCAL_CONF_DIR=$TROVE_DIR/etc/trove
35 35
 TROVE_AUTH_CACHE_DIR=${TROVE_AUTH_CACHE_DIR:-/var/cache/trove}
36
+TROVE_DATASTORE_TYPE=${TROVE_DATASTORE_TYPE:-"mysql"}
37
+TROVE_DATASTORE_VERSION=${TROVE_DATASTORE_VERSION:-"5.5"}
38
+TROVE_DATASTORE_PACKAGE=${TROVE_DATASTORE_PACKAGE:-"mysql-server-5.5"}
39
+TROVE_GUEST_IMAGE_URL=${TROVE_GUEST_IMAGE_URL:-"http://tarballs.openstack.org/trove/images/ubuntu_mysql.qcow2/ubuntu_mysql.qcow2"}
36 40
 
37 41
 # Support entry points installation of console scripts
38 42
 if [[ -d $TROVE_DIR/bin ]]; then
... ...
@@ -149,12 +153,8 @@ function configure_trove {
149 149
 
150 150
     iniset $TROVE_CONF_DIR/trove.conf DEFAULT rabbit_password $RABBIT_PASSWORD
151 151
     iniset $TROVE_CONF_DIR/trove.conf DEFAULT sql_connection `database_connection_url trove`
152
-
153
-    iniset $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample DEFAULT rabbit_password $RABBIT_PASSWORD
154
-    sed -i "s/localhost/$TROVE_HOST_GATEWAY/g" $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample
155
-
152
+    iniset $TROVE_CONF_DIR/trove.conf DEFAULT default_datastore $TROVE_DATASTORE_TYPE
156 153
     setup_trove_logging $TROVE_CONF_DIR/trove.conf
157
-    setup_trove_logging $TROVE_LOCAL_CONF_DIR/trove-guestagent.conf.sample
158 154
 
159 155
     # (Re)create trove taskmanager conf file if needed
160 156
     if is_service_enabled tr-tmgr; then
... ...
@@ -181,6 +181,18 @@ function configure_trove {
181 181
         iniset $TROVE_CONF_DIR/trove-conductor.conf DEFAULT control_exchange trove
182 182
         setup_trove_logging $TROVE_CONF_DIR/trove-conductor.conf
183 183
     fi
184
+
185
+    # Set up Guest Agent conf
186
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT rabbit_host $TROVE_HOST_GATEWAY
187
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT rabbit_password $RABBIT_PASSWORD
188
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT nova_proxy_admin_user radmin
189
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT nova_proxy_admin_tenant_name trove
190
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT nova_proxy_admin_pass $RADMIN_USER_PASS
191
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT trove_auth_url $TROVE_AUTH_ENDPOINT
192
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT control_exchange trove
193
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT log_dir /tmp/
194
+    iniset $TROVE_CONF_DIR/trove-guestagent.conf DEFAULT log_file trove-guestagent.log
195
+    setup_trove_logging $TROVE_CONF_DIR/trove-guestagent.conf
184 196
 }
185 197
 
186 198
 # install_troveclient() - Collect source and prepare
... ...
@@ -195,11 +207,22 @@ function install_trove {
195 195
 
196 196
 # init_trove() - Initializes Trove Database as a Service
197 197
 function init_trove {
198
-    #(Re)Create trove db
198
+    # (Re)Create trove db
199 199
     recreate_database trove utf8
200 200
 
201
-    #Initialize the trove database
201
+    # Initialize the trove database
202 202
     $TROVE_BIN_DIR/trove-manage db_sync
203
+
204
+    # Upload the trove-guest image to glance
205
+    TROVE_GUEST_IMAGE_ID=$(upload_image $TROVE_GUEST_IMAGE_URL $TOKEN | grep ' id ' | get_field 2)
206
+
207
+    # Initialize appropriate datastores / datastore versions
208
+    $TROVE_BIN_DIR/trove-manage datastore_update "$TROVE_DATASTORE_TYPE" ""
209
+    $TROVE_BIN_DIR/trove-manage datastore_version_update "$TROVE_DATASTORE_TYPE" "$TROVE_DATASTORE_VERSION" "$TROVE_DATASTORE_TYPE" \
210
+        "$TROVE_GUEST_IMAGE_ID" "$TROVE_DATASTORE_PACKAGE" 1
211
+    $TROVE_BIN_DIR/trove-manage datastore_version_update "$TROVE_DATASTORE_TYPE" "inactive_version" "inactive_manager" "$TROVE_GUEST_IMAGE_ID" "" 0
212
+    $TROVE_BIN_DIR/trove-manage datastore_update "$TROVE_DATASTORE_TYPE" "$TROVE_DATASTORE_VERSION"
213
+    $TROVE_BIN_DIR/trove-manage datastore_update "Inactive_Datastore" ""
203 214
 }
204 215
 
205 216
 # start_trove() - Start running processes, including screen