[Ovirt-devel] [PATCH] Added an error message for when partitioning fails.

Darryl L. Pierce dpierce at redhat.com
Fri Jan 16 19:42:45 UTC 2009


Each call to create an LVM is checked to see if it completed
successfully. If it fails, a message is shown to the user and the
partition stops with a failure.

Signed-off-by: Darryl L. Pierce <dpierce at redhat.com>
---
 scripts/ovirt-config-storage |   31 +++++++++++++++----------------
 1 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/scripts/ovirt-config-storage b/scripts/ovirt-config-storage
index f68e058..3d2e70d 100755
--- a/scripts/ovirt-config-storage
+++ b/scripts/ovirt-config-storage
@@ -8,9 +8,18 @@
 
 . /etc/init.d/ovirt-functions
 
+PARTITION_LOG=/var/log/ovirt-partition.log
+
 ME=$(basename "$0")
 warn() { printf '%s: %s\n' "$ME" "$*" >&2; }
 die() { warn "$*"; exit 1; }
+fail()
+{
+    printf "\nFailed while creating the $1 partition.\n";
+    printf "Please see $PARTITION_LOG for more information.\n";
+    exit 1;
+}
+
 
 default_boot_size=50
 default_root_size=256
@@ -178,13 +187,9 @@ perform_partitioning()
 
     printf "Preparing local storage. Please wait..."
 
-    LOG=/var/log/ovirt-partition.log
     {
     wipe_lvm_on_disk
 
-    # Exit upon any failure.
-    set -e
-
     # FIXME: save a backup copy, just in case?
     dd if=/dev/zero of=$DRIVE bs=1024K count=1
     blockdev --rereadpt $DRIVE
@@ -217,34 +222,28 @@ perform_partitioning()
     ln -snf "${DRIVE}1" /dev/disk/by-label/BOOT
 
     if [ "$SWAP_SIZE" -gt 0 ]; then
-        lvcreate --name Swap    --size ${SWAP_SIZE}M    /dev/HostVG
+        lvcreate --name Swap --size ${SWAP_SIZE}M /dev/HostVG && test $? == 0 || fail "swap"
         mkswap -L "SWAP" /dev/HostVG/Swap
     fi
     if [ "$ROOT_SIZE" -gt 0 ]; then
-        lvcreate --name Root    --size ${ROOT_SIZE}M    /dev/HostVG
+        test lvcreate --name Root --size ${ROOT_SIZE}M /dev/HostVG || fail "root"
         mke2fs -T ext3 /dev/HostVG/Root    -L "ROOT"
         tune2fs -c 0 -i 0 /dev/HostVG/Root
     fi
     if [ "$CONFIG_SIZE" -gt 0 ]; then
-        lvcreate --name Config  --size ${CONFIG_SIZE}M  /dev/HostVG
+        lvcreate --name Config --size ${CONFIG_SIZE}M /dev/HostVG && test $? == 0|| fail "config"
         mke2fs -T ext3 /dev/HostVG/Config  -L "CONFIG"
         tune2fs -c 0 -i 0 /dev/HostVG/Config
     fi
     if [ "$LOGGING_SIZE" -gt 0 ]; then
-        lvcreate --name Logging --size ${LOGGING_SIZE}M /dev/HostVG
+        lvcreate --name Logging --size ${LOGGING_SIZE}M /dev/HostVG && test $? == 0|| fail "logging"
         mke2fs -T ext3 /dev/HostVG/Logging -L "LOGGING"
         tune2fs -c 0 -i 0 /dev/HostVG/Logging
     fi
-    lvcreate --name Data    -l 100%FREE             /dev/HostVG
+    lvcreate --name Data -l 100%FREE /dev/HostVG && test $? == 0 || fail "data"
     mke2fs -T ext3 /dev/HostVG/Data    -L "DATA"
     tune2fs -c 0 -i 0 /dev/HostVG/Data
-    } 2>&1 | tee $LOG
-
-    if [ $? -eq 0 ]; then
-        printf "Completed!\n\n"
-    else
-        printf "FAILED! See $LOG\n\n"
-    fi
+    } 2>&1 | tee $PARTITION_LOG
 }
 
 do_confirm()
-- 
1.6.0.6




More information about the ovirt-devel mailing list