expand to multiple hosts starting with tp
[automated-distro-installer] / fai / config / hooks / partition.DEFAULT
similarity index 91%
rename from fai/config/hooks/partition.demohost
rename to fai/config/hooks/partition.DEFAULT
index 2adaad9a48d41578f37df46c5365d8a945a57084..2632da4a990c4e6685a72a5afbe656ecc49bfc9c 100755 (executable)
@@ -5,9 +5,8 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR
 
 # # fai's setup-storage won't do btrfs on luks,
 # # so we do it ourself :)
-skiptask partition
 
-repartition=false
+partition=false
 
 # keyfiles generated like:
 # head -c 2048 /dev/urandom | od | s dd of=/q/root/luks/host-demohost
@@ -17,13 +16,26 @@ letters=(a)
 
 if ifclass VM; then
     d=/dev/vd
-    letters=(a b)
 else
     d=/dev/sd
 fi
-devs=()
-for letter in ${letters[@]}; do
-    devs+=($d$letter)
+
+if ifclass TWO_DISK; then
+    skiptask partition
+    devs=(${d}{a,b})
+    [[ -e /dev/md127 ]] || partition=true
+elif ifclass ONE_DISK; then
+    skiptask partition
+    devs=(${d}a)
+else
+    exit
+fi
+
+# somewhat crude detection of wehter to partition
+for dev in ${devs[@]}; do
+    for part in ${dev}{1,2,3,4}; do
+        [[ -e $part ]] || partition=true
+    done
 done
 
 
@@ -47,7 +59,7 @@ fi
 swap_end=$(( $(grep ^MemTotal: /proc/meminfo| awk '{print $2}') * 3/(${#letters[@]} * 2 ) / 1000 + boot_end ))MiB
 
 shopt -s nullglob
-if $repartition; then
+if $partition; then
     mkdir -p /tmp/fai
     for dev in ${devs[@]}; do
         for x in /dev/md*; do [[ -d $x ]] || mdadm --stop $x; done