X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=pxe-server;h=a3df1a5953846368397e9b335be844970b132771;hb=a027429011d313e0d9156fef9451f5a55a588163;hp=d8cbeb819b03bc134245ba0ec484f03577cf3114;hpb=ec9227898fa68bd89de454c87bce8ea051a8d783;p=automated-distro-installer diff --git a/pxe-server b/pxe-server index d8cbeb8..a3df1a5 100755 --- a/pxe-server +++ b/pxe-server @@ -28,19 +28,31 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR usage() { cat < tftpboot + + +-r Don't redeploy fai config. For example, if there is a different host + that is mid-install. + +-a Don't setup pxe, just Wait for 2 dhcp acks, then disable the pxe + server after a delay. First ack is for pxe boot, 2nd ack is + for os boot. Sometimes on debian, there is a 3rd one shortly + after the 2nd. I can't remember exactly why this caused a + problem, but I'm hoping the sleep will take care of it. + +-w Setup pxe, then wait like -a. -h|--help Print help and exit @@ -51,7 +63,6 @@ EOF ##### begin command line parsing ######## -args=() redep=true acks=2 wait=false @@ -68,12 +79,16 @@ while true; do esac done -read type host <<<"$@" +read -r host type <<<"$@" -if [[ ! $type ]]; then - echo "$0: error: exptected 1 argument of type" - usage 1 -fi +case $# in + 0|2);; + *) + echo "$0: error: expected 0 or 2 arguments" + echo + usage 1 + ;; +esac if [[ $host ]]; then host_tag="tag:$host," @@ -104,7 +119,6 @@ EOF fai() { cat </dev/null ||: fi fi @@ -150,7 +166,8 @@ if $wait; then # bleh. echo "waiting for $acks dhcp acks then disabling pxe" ack-wait $acks - set-pxe : + type= + set-pxe # previously tried waiting for one more ack then disabling faiserver, # since it can contain sensitive info, so turn it off when not in use,