X-Git-Url: https://iankelling.org/git/?p=automated-distro-installer;a=blobdiff_plain;f=myfai-chboot-local;h=cef41c4347ea32939de34d1146808860417876be;hp=8ab5a92117a568ec3bf259e333fc0c4b121952c8;hb=1e6019a5846160b3f62fc94357e16944b5b3527b;hpb=137ffae7de84a51c4b438ccf2fb50f5571f522a6 diff --git a/myfai-chboot-local b/myfai-chboot-local index 8ab5a92..cef41c4 100755 --- a/myfai-chboot-local +++ b/myfai-chboot-local @@ -34,6 +34,10 @@ while [[ $1 == -* ]]; do bond=true shift ;; + --no-r) + fai_reboot_arg= + shift + ;; esac done @@ -44,15 +48,27 @@ err() { echo "[$(date +'%Y-%m-%d %H:%M:%S%z')]: $pre: $*" >&2; } host=$1 + rm -f /srv/tftp/fai/pxelinux.cfg/* if [[ ! $1 ]]; then echo "$0: clearing pxe config and exiting" exit 0 fi +# somewhat duplicated in brc hostip() + case $host in + [0-9:]) + hostip=$host + ;; + *) + hostip=$(getent ahostsv4 "$host" | awk '{ print $1 }' | head -n1) + ;; + esac + + # assuming ipv4, or else we might need to deal with multiple addresses # in an ipv4 + ipv6 network. -my_ip=$(ip -4 route get 8.8.8.8 | sed -nr 's,^.*src\s+(\S+).*,\1,p') +my_ip=$(ip -4 route get $hostip | sed -nr 's,^.*src\s+(\S+).*,\1,p') if [[ ! $my_ip || $my_ip =~ [[:space:]] ]]; then echo "$0: error: failed to get \$my_ip, got: $my_ip" exit 1