#!/bin/bash -l # assign classes to hosts based on their hostname # do not use this if a menu will be presented [ "$flag_menu" ] && exit 0 # For multi-boot system. # 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. # It's code looks like this: # if [[ ! -e /a/bin/fai/fai-wrapper ]]; then # case $HOSTNAME in # tp) DEBIAN STRETCH VOL_STRETCH STRETCH_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: # STRETCH64, XENIAL64, BELENOS64, FLIDAS64 # the distro subvol name, we can add as many of these as we want: # VOL_TESTING, VOL_STRETCH, VOL_XENIAL, VOL_BELENOS, VOL_FLIDAS # Using VOL_STRETCH_BOOTSTRAP sets up the install to act like a pxe rom if # grub sets a specific var. # and the class which defines the apt sources files we want, # STRETCH_FREE, STRETCH_NONFREE, TESTING_FREE, TESTING_NONFREE, # XENIAL_FREE (no XENIAL_NONFREE setup yet), BELENOS, FLIDAS, STRETCH_LINODE. # This is a little redundant in some cases, but it keeps things # simpler. # # # 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. # # if [[ -e /a/bin/fai/fai-wrapper ]]; then source /a/bin/distro-functions/src/identify-distros if isdebian; then echo "DEBIAN" fi if isdebian-stable; then echo "STRETCH" case $HOSTNAME in li|lj) echo "STRETCH_LINODE" ;; *) # nonfree repo is not going away any time soon due to # gcc-doc being in nonfree echo "STRETCH_NONFREE" ;; esac elif isdebian-testing; then echo "TESTING_NONFREE" fi fi echo "FAIBASE" echo "PARTITION_PROMPT" #echo REPARTITION 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