improve host repo detection outside fai
[automated-distro-installer] / fai / config / class / 50-host-classes
index 4f776f5ea38466e9c31585feefb66fdee42b375d..31f3f9a99d1ee69e9ce67f6fe3f9967dc92ed0d0 100755 (executable)
 
 
 # For multi-boot system.
-# Check that we aren't in a pxe boot environment.
+# We check that we aren't in a pxe boot environment.
 # There is probably a better way to do this.
 # We check the reverse condition in 51-multi-boot,
 # and set what os we are installing, but don't check it
-# into git since it changes regularly. Each host needs
-# to have a class of either DEBIAN + (STABLE or STRETCH64),
-# or UBUNTU + XENIAL64.
+# into git since it changes regularly.
+# It's code looks like this:
+# if [[ ! -e /a/bin/fai/fai-wrapper ]]; then
+#     case $HOSTNAME in
+#         tp) DEBIAN STABLE VOL_STABLE STABLE_FREE;;
+#         # add more multi-boot hostnames here
+#     esac
+# fi
+#
+# Each host defines the base distro: UBUNTU or DEBIAN.
+# the disto version, also the basefile name if we aren't installing debian stable:
+# STABLE, STRETCH64, XENIAL64, BELANOS64
+# the distro subvol name, we can add as many of these as we want:
+# VOL_STABLE, VOL_STABLE_BOOTSTRAP, VOL_STRETCH, VOL_XENIAL, VOL_BELANOS
+# and the class which defines the apt sources files we want,
+# STABLE_FREE, STABLE_NONFREE, TESTING_FREE, TESTING_NONFREE,
+# XENIAL_FREE (no XENIAL_NONFREE setup yet), BELANOS, STABLE_LINODE.
+# This is a little redundant in some cases, but it keeps things
+# simpler.
+#
 #
 # Other notable classes:
 #
 # fresh install. I use this in case our repartition check has
 # a bug in it, or I accidentally set REPARTITION.
 #
-# It's shell looks like this:
-# if [[ ! -e /a/bin/fai/fai-wrapper ]]; then
-#     case $HOSTNAME in
-#         tp) DEBIAN STABLE ;;
-#         # add more multi-boot hostnames here
-#     esac
-# fi
+# ROTATIONAL: in a system with ssd and hdd, install to the hdd
+# instead of the default ssd.
 #
-if [[ -e /a/bin/fai/fai-wrapper ]] && isdebian-stable; then
-    echo "STABLE"
+# RAID0: Use raid 0 even if there are >= 4 disks with boot partititions.
+#
+#
+if [[ -e /a/bin/fai/fai-wrapper ]]; then
+    source /a/bin/distro-functions/src/identify-distros
+    if isdebian-stable; then
+        echo "STABLE"
+    fi
 fi
 
 # use a list of classes for our demo machine
-echo "FAIBASE PARTITION_PROMPT"
+echo "FAIBASE"
+
+#echo "PARTITION_PROMPT"
+#echo REPARTITION
+
 case $HOSTNAME in
-    frodo|treetowl)
-        echo "DEBIAN_NON_FREE"
-        if [[ -e /a/bin/fai/fai-wrapper ]] && isdebian-stable; then
-            echo "STABLE_NON_FREE"
+    lj|lj) echo "STABLE STABLE_LINODE" ;;
+    *)
+        if [[ -e /a/bin/fai/fai-wrapper ]] && isdebian; then
+            if isdebian-stable; then
+                # nonfree repo is not going away any time soon due to
+                # gcc-doc being in nonfree
+                echo "STABLE_NONFREE"
+            elif isdebian-testing; then
+                echo "TESTING_NONFREE"
+            fi
         fi
         ;;
-    lj|lj)
-        echo "LINODESTABLE" ;;
 esac
 
 if grep ^52:54:00: /sys/class/net/eth0/address &>/dev/null; then