New configuration option SYSTEM_DISK_FORMAT.
authorMartin Schwenke <martin@meltin.net>
Wed, 17 Mar 2010 04:35:34 +0000 (15:35 +1100)
committerMartin Schwenke <martin@meltin.net>
Wed, 17 Mar 2010 04:35:34 +0000 (15:35 +1100)
If this is:

* "qcow2" then use qemu-img create with a a base image.

* "raw" then use cp to copy base image.

* otherwise, error.

Signed-off-by: Martin Schwenke <martin@meltin.net>
autocluster
config.d/00base.defconf

index d6be40938488b1e3bd3fde3dde2f7674aded0488..b1ae298ea1011935b40fcb5eaef7441b7ab6883b 100755 (executable)
@@ -172,13 +172,22 @@ create_node_COMMON ()
     local template_file="${4:-$NODE_TEMPLATE}"
 
     IPNUM=$(($FIRSTIP + $ip_offset))
-    DISK="${VIRTBASE}/${CLUSTER}/${NAME}.qcow2"
+    DISK="${VIRTBASE}/${CLUSTER}/${NAME}.${SYSTEM_DISK_FORMAT}"
 
     mkdir -p $VIRTBASE/$CLUSTER tmp
 
     echo "Creating the disk"
     rm -f "$DISK"
-    qemu-img create -b "$VIRTBASE/$BASENAME.img" -f qcow2 "$DISK"
+    case "$SYSTEM_DISK_FORMAT" in
+       qcow2)
+           qemu-img create -b "$VIRTBASE/$BASENAME.img" -f qcow2 "$DISK"
+           ;;
+       raw)
+           cp -v --sparse=always "$VIRTBASE/$BASENAME.img" "$DISK"
+           ;;
+       *)
+           die "Error: unknown SYSTEM_DISK_FORMAT=\"${SYSTEM_DISK_FORMAT}\"."
+    esac
 
     mount_disk $DISK
     setup_base "$type"
index d42eaa90e2aed1667ba9e0ceeca7ffda01288674..75788fa9460fae7e61ee218210abbf88241c7836 100644 (file)
@@ -82,6 +82,9 @@ defconf SYSTEM_DISK_PREFIX "sd" \
 defconf SYSTEM_DISK_CACHE "writeback" \
        "default|none|writeback|writethrough" "system disk cache type"
 
+defconf SYSTEM_DISK_FORMAT "qcow2" \
+       "qcow2|raw" "system disk image format"
+
 ######################################################################
 
 # Node