#!/bin/bash -l # assign classes to hosts based on their hostname # NOTE: # 51-multi-boot should have something like this # for transient host configs which are not saved in # git (and make it executable): # if [[ ! -e /a/bin/fai/fai-wrapper ]]; then # case $HOSTNAME in # frodo) echo STABLE ;; # esac # fi # do not use this if a menu will be presented [ "$flag_menu" ] && exit 0 # For multi-boot system. # 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 STABLE_BOOTSTRAP), # or UBUNTU + XENIAL64. # # Other notable classes: # # REPARTITION: we try to reuse partitions/filesystems to install a new # os into a multi-os system, if we see some basic hueristics, like the # right amount of them. This overrides that. # # PARTITION_PROMPT: If we don't see partitions to reuuse, prompt # to make sure we really want to repartition and use a completely # fresh install. I use this in case our repartition check has # a bug in it, or I accidentally set REPARTITION. # # ROTATIONAL: in a system with ssd and hdd, install to the hdd # instead of the default ssd. # # RAID0: Use raid 0 even if there are >= 4 disks with boot partititions. # # 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 # 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" case $HOSTNAME in frodo|treetowl) echo "DEBIAN_NON_FREE" if [[ -e /a/bin/fai/fai-wrapper ]] && isdebian-stable; then echo "STABLE_NON_FREE" fi ;; lj|lj) echo "LINODESTABLE" ;; esac if grep ^52:54:00: /sys/class/net/eth0/address &>/dev/null; then # if our eth0 mac is in the kvm range, we are a vm. echo "VM" fi