[Ovirt-devel] [PATCH] enable iscsi hostvg setup and move all hostvg operations under create_hostvg()

Joey Boggs jboggs at redhat.com
Mon Apr 19 18:55:02 UTC 2010


---
 scripts/ovirt-config-storage |  190 +++++++++++++++++++++++------------------
 1 files changed, 107 insertions(+), 83 deletions(-)

diff --git a/scripts/ovirt-config-storage b/scripts/ovirt-config-storage
index df36752..9ff42d9 100755
--- a/scripts/ovirt-config-storage
+++ b/scripts/ovirt-config-storage
@@ -354,6 +354,12 @@ do_configure()
         BOOTDRIVE=$(get_dev_name) || return 0
         get_drive_size "$BOOTDRIVE" BOOTDRIVESPACE
         echo "$BOOTDRIVE"
+        if ask_yes_or_no "Enable HostVG Storage (y/n)?"; then
+            OVIRT_ISCSI_HOSTVG="y"
+            HOSTVGDRIVE=$(get_dev_name) || return 0
+            get_drive_size "$HOSTVGDRIVE"
+            echo "$HOSTVGDRIVE"
+        fi
     else
         printf "\n\nPlease select the disk to use for the Root.\n\n"
         ROOTDRIVE=$(get_dev_name) || return 0
@@ -416,8 +422,11 @@ EOF
     fi
 
     local space_left=$HOSTVGDRIVESPACE
-    if [ "$OVIRT_ISCSI_ENABLED" == "y" ]; then
-        partlist="boot" # swap root config logging data"
+    if [[ "$OVIRT_ISCSI_ENABLED" == "y" && "$OVIRT_ISCSI_HOSTVG" != "y" ]]; then
+        partlist="boot"
+        local space_left=$BOOTDRIVESPACE
+    elif [[ "$OVIRT_ISCSI_ENABLED" == "y" && "$OVIRT_ISCSI_HOSTVG" == "y" ]]; then
+        partlist="boot swap config logging data"
         local space_left=$BOOTDRIVESPACE
     elif [ "$OVIRT_ROOT_INSTALL" == "n" ]; then
         partlist="swap config logging data"
@@ -469,7 +478,6 @@ EOF
 
     # save input variables
     augtool <<EOF
-set /files$OVIRT_DEFAULTS/OVIRT_INIT $ROOTDRIVE
 set /files$OVIRT_DEFAULTS/OVIRT_VOL_BOOT_SIZE $BOOT_SIZE
 set /files$OVIRT_DEFAULTS/OVIRT_VOL_SWAP_SIZE $SWAP_SIZE
 set /files$OVIRT_DEFAULTS/OVIRT_VOL_ROOT_SIZE $ROOT_SIZE
@@ -482,6 +490,10 @@ EOF
        augtool <<EOF
 set /files$OVIRT_DEFAULTS/OVIRT_BOOT_INIT $BOOTDRIVE
 EOF
+   else
+   augtool <<EOF
+set /files$OVIRT_DEFAULTS/OVIRT_INIT $ROOTDRIVE
+EOF
    fi
 }
 
@@ -606,93 +618,19 @@ reread_partitions()
     fi
 }
 
-perform_partitioning()
+create_hostvg()
 {
-    if [[ -z "$HOSTVGDRIVE" && "$OVIRT_ISCSI_ENABLED" != "y" ]]; then
-        printf "\nNo storage device selected.\n"
-        return
-    fi
 
-    if [[ -z "$BOOTDRIVE" && "$OVIRT_ISCSI_ENABLED" == "y" ]]; then
-        printf "\nNo storage device selected.\n"
-        return
-    fi
-    start_log
-
-    log "Saving parameters"
-    unmount_config /etc/default/ovirt
-
-    log "Removing old LVM partitions"
-    wipe_lvm_on_disk "$HOSTVGDRIVE"
-    wipe_lvm_on_disk "$ROOTDRIVE"
-
-    # begin critical section
-    set -e
-
-    MEM_SIZE_MB=$(echo "scale=0; $MEM_SIZE_MB / 1024;" | bc -l)
-    local boot_size_si=$(echo "scale=0; $BOOT_SIZE * (1024 * 1024) / (1000 * 1000)" | bc -l)
-
-    if [ "$OVIRT_ISCSI_ENABLED" == "y" ]; then
-        log "Partitioning drive: $BOOTDRIVE"
-        log "Wiping old boot sector"
-        dd if=/dev/zero of=$BOOTDRIVE bs=1024K count=1
-        reread_partitions "$BOOTDRIVE"
-        partprobe -s "$BOOTDRIVE"
-        log "Creating boot partition"
-        parted "$BOOTDRIVE" -s "mklabel ${LABEL_TYPE}"
-        parted "$BOOTDRIVE" -s "mkpartfs primary ext2 0M ${boot_size_si}M"
-        reread_partitions "$BOOTDRIVE"
-        partboot="${BOOTDRIVE}1"
-        if [ ! -e "$partboot" ]; then
-            partboot="${BOOTDRIVE}p1"
-        fi
-        # sleep to ensure filesystems are created before continuing
-        sleep 10
-        mke2fs "${partboot}" -L Boot
-        tune2fs -c 0 -i 0 ${partboot}
-        log "Completed!"
-        return
-    fi
-
-    if [ "OVIRT_ROOT_INSTALL" == "y" ]; then
-        log "Starting partitioning of $ROOTDRIVE"
-        log "Partitioning drive: $ROOTDRIVE"
-     # FIXME: save a backup copy, just in case?
-        log "Wiping old boot sector"
-        dd if=/dev/zero of="$ROOTDRIVE" bs=1024K count=1
-        reread_partitions "$ROOTDRIVE"
-        partprobe -s "$ROOTDRIVE"
-        log "Labeling Drive: $ROOTDRIVE"
-        parted "$ROOTDRIVE" -s "mklabel ${LABEL_TYPE}"
-
-        log "Creating Root and RootBackup Partitions"
-        let RootBackup_end=${ROOT_SIZE}*2
-        parted $ROOTDRIVE -s "mkpart primary ext2 0M ${ROOT_SIZE}M"
-        parted $ROOTDRIVE -s "mkpart primary ext2 ${ROOT_SIZE}M ${RootBackup_end}M"
-        # sleep to ensure filesystems are created before continuing
-        sleep 10
-        reread_partitions "$ROOTDRIVE"
-        partroot="${ROOTDRIVE}1"
-        partrootbackup="${ROOTDRIVE}2"
-        if [ ! -e "$partroot" ]; then
-            partroot="${ROOTDRIVE}p1"
-            partrootbackup="${ROOTDRIVE}p2"
-        fi
-        mke2fs "${partroot}" -L Root
-        mke2fs "${partrootbackup}" -L RootBackup
-        tune2fs -c 0 -i 0 "${partroot}"
-        tune2fs -c 0 -i 0 "${partrootbackup}"
-    fi
-
-    if [ "$ROOTDRIVE" != "$HOSTVGDRIVE" ]; then
-        log "Labeling Drive: $HOSTVGDRIVE"
-        parted "$HOSTVGDRIVE" -s "mklabel ${LABEL_TYPE}"
-    fi
     log "Creating LVM partition"
 
     if [ "$ROOTDRIVE" == "$HOSTVGDRIVE" ]; then
         parted $HOSTVGDRIVE -s "mkpart primary ext2 ${RootBackup_end}M -1"
         hostvgpart="3"
+    elif [ "$BOOTDRIVE" == "$HOSTVGDRIVE" ]; then
+        parted "$HOSTVGDRIVE" -s "mkpart primary ext2 ${boot_size_si} -1"
+        hostvgpart="2"
+        # FIXME : set for gtpsync/parted compat for now
+        ROOTDRIVE=$BOOTDRIVE
     else
         parted "$HOSTVGDRIVE" -s "mkpart primary ext2 0M -1"
         hostvgpart="1"
@@ -783,6 +721,92 @@ perform_partitioning()
     stop_log
 }
 
+perform_partitioning()
+{
+    if [[ -z "$HOSTVGDRIVE" && "$OVIRT_ISCSI_ENABLED" != "y" ]]; then
+        printf "\nNo storage device selected.\n"
+        return
+    fi
+
+    if [[ -z "$BOOTDRIVE" && "$OVIRT_ISCSI_ENABLED" == "y" ]]; then
+        printf "\nNo storage device selected.\n"
+        return
+    fi
+    start_log
+
+    log "Saving parameters"
+    unmount_config /etc/default/ovirt
+
+    log "Removing old LVM partitions"
+    wipe_lvm_on_disk $HOSTVGDRIVE
+    wipe_lvm_on_disk $ROOTDRIVE
+
+    # begin critical section
+    set -e
+
+    MEM_SIZE_MB=$(echo "scale=0; $MEM_SIZE_MB / 1024;" | bc -l)
+    boot_size_si=$(echo "scale=0; $BOOT_SIZE * (1024 * 1024) / (1000 * 1000)" | bc -l)
+
+    if [ "$OVIRT_ISCSI_ENABLED" == "y" ]; then
+        log "Partitioning drive: $BOOTDRIVE"
+        log "Wiping old boot sector"
+        dd if=/dev/zero of=$BOOTDRIVE bs=1024K count=1
+        reread_partitions "$BOOTDRIVE"
+        partprobe -s "$BOOTDRIVE"
+        log "Creating boot partition"
+        parted "$BOOTDRIVE" -s "mklabel ${LABEL_TYPE}"
+        parted "$BOOTDRIVE" -s "mkpartfs primary ext2 0M ${boot_size_si}M"
+        reread_partitions "$BOOTDRIVE"
+        partboot="${BOOTDRIVE}1"
+        if [ ! -e "$partboot" ]; then
+            partboot="${BOOTDRIVE}p1"
+        fi
+        # sleep to ensure filesystems are created before continuing
+        sleep 10
+        mke2fs "${partboot}" -L Boot
+        tune2fs -c 0 -i 0 ${partboot}
+        if [ "$OVIRT_ISCSI_HOSTVG" == "y" ]; then
+            create_hostvg
+        fi
+        log "Completed!"
+        return
+    fi
+
+    log "Starting partitioning of $ROOTDRIVE"
+    log "Partitioning drive: $ROOTDRIVE"
+ # FIXME: save a backup copy, just in case?
+    log "Wiping old boot sector"
+    dd if=/dev/zero of="$ROOTDRIVE" bs=1024K count=1
+    reread_partitions "$ROOTDRIVE"
+    partprobe -s "$ROOTDRIVE"
+    log "Labeling Drive: $ROOTDRIVE"
+    parted "$ROOTDRIVE" -s "mklabel ${LABEL_TYPE}"
+
+    if [ "$ROOTDRIVE" != "$HOSTVGDRIVE" ]; then
+        log "Labeling Drive: $HOSTVGDRIVE"
+        parted "$HOSTVGDRIVE" -s "mklabel ${LABEL_TYPE}"
+    fi
+    log "Creating Root and RootBackup Partitions"
+    let RootBackup_end=${ROOT_SIZE}*2
+    parted $ROOTDRIVE -s "mkpart primary ext2 0M ${ROOT_SIZE}M"
+    parted $ROOTDRIVE -s "mkpart primary ext2 ${ROOT_SIZE}M ${RootBackup_end}M"
+    reread_partitions $ROOTDRIVE
+    partroot="${ROOTDRIVE}1"
+    partrootbackup="${ROOTDRIVE}2"
+    if [ ! -e "$partroot" ]; then
+        partroot="${ROOTDRIVE}p1"
+        partrootbackup="${ROOTDRIVE}p2"
+    fi
+    # sleep to ensure filesystems are created before continuing
+    sleep 10
+    mke2fs "${partroot}" -L Root
+    mke2fs "${partrootbackup}" -L RootBackup
+    tune2fs -c 0 -i 0 "${partroot}"
+    tune2fs -c 0 -i 0 "${partrootbackup}"
+    create_hostvg
+
+}
+
 do_confirm()
 {
 
-- 
1.6.6.1




More information about the ovirt-devel mailing list