Browse code

Merge "Avoid uploading trove guest image twice"

Jenkins authored on 2014/08/02 09:52:13
Showing 2 changed files
... ...
@@ -204,10 +204,21 @@ function init_trove {
204 204
     # Initialize the trove database
205 205
     $TROVE_BIN_DIR/trove-manage db_sync
206 206
 
207
-    # Upload the trove-guest image to glance
208
-    TROVE_GUEST_IMAGE_ID=$(upload_image $TROVE_GUEST_IMAGE_URL $TOKEN | grep ' id ' | get_field 2)
207
+    # If no guest image is specified, skip remaining setup
208
+    [ -z "$TROVE_GUEST_IMAGE_URL"] && return 0
209
+
210
+    # Find the glance id for the trove guest image
211
+    # The image is uploaded by stack.sh -- see $IMAGE_URLS handling
212
+    GUEST_IMAGE_NAME=$(basename "$TROVE_GUEST_IMAGE_URL")
213
+    GUEST_IMAGE_NAME=${GUEST_IMAGE_NAME%.*}
214
+    TROVE_GUEST_IMAGE_ID=$(glance --os-auth-token $TOKEN --os-image-url http://$GLANCE_HOSTPORT image-list | grep "${GUEST_IMAGE_NAME}" | get_field 1)
215
+    if [ -z "$TROVE_GUEST_IMAGE_ID" ]; then
216
+        # If no glance id is found, skip remaining setup
217
+        echo "Datastore ${TROVE_DATASTORE_TYPE} will not be created: guest image ${GUEST_IMAGE_NAME} not found."
218
+        return 1
219
+    fi
209 220
 
210
-    # Initialize appropriate datastores / datastore versions
221
+    # Now that we have the guest image id, initialize appropriate datastores / datastore versions
211 222
     $TROVE_BIN_DIR/trove-manage datastore_update "$TROVE_DATASTORE_TYPE" ""
212 223
     $TROVE_BIN_DIR/trove-manage datastore_version_update "$TROVE_DATASTORE_TYPE" "$TROVE_DATASTORE_VERSION" "$TROVE_DATASTORE_TYPE" \
213 224
         "$TROVE_GUEST_IMAGE_ID" "$TROVE_DATASTORE_PACKAGE" 1
... ...
@@ -386,7 +386,7 @@ fi
386 386
 # Trove needs a custom image for it's work
387 387
 if [[ "$ENABLED_SERVICES" =~ 'tr-api' ]]; then
388 388
     case "$VIRT_DRIVER" in
389
-        libvirt|baremetal|ironic)
389
+        libvirt|baremetal|ironic|xenapi)
390 390
             TROVE_GUEST_IMAGE_URL=${TROVE_GUEST_IMAGE_URL:-"http://tarballs.openstack.org/trove/images/ubuntu_mysql.qcow2/ubuntu_mysql.qcow2"}
391 391
             IMAGE_URLS+=",${TROVE_GUEST_IMAGE_URL}"
392 392
             ;;