#!/bin/bash
+# Copyright (C) 2016 Ian Kelling
+
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Setup dhcp server to point to tftp server,
# and depending on the type, setup the tftp server.
-h|--help Print help and exit
-- Subsequent arguments are never treated as options
--p Persist. Otherwise, wait for 2 dhcp acks then remove.
+-p Persist. Otherwise, wait for dhcp acks then remove.
-r Don't redeploy fai config.
+-a Wait for 2 dhcp acks instead of the default 3. Some distros
+ do 2, some do 3.
EOF
exit $1
}
persist=false
args=()
redep=true
+acks=3
while [[ $1 ]]; do
case $1 in
--) shift; break ;;
-h|--help) usage ;;
-r) redep=false; shift ;;
-p) persist=true; shift ;;
+ -a) acks=2; shift ;;
*) args+=("$1"); shift ;;
esac
done
case $type in
:|true) persist=true ;;
+ arch) acks=2 ;;
esac
##### end command line parsing ########
fi
if ! $persist; then
- echo "waiting for 2 dhcp acks then disabling pxe"
- ack-wait 2
+ # fai's debian jessie 8.5ish does 2 dhcp requests when booting,
+ # roughly 4 seconds apart. Earlier
+ # versions did just 1. Now testing on a vm, it does 1.
+ # bleh.
+ echo "waiting for $acks dhcp acks then disabling pxe"
+ ack-wait $acks
set-pxe :
if [[ $type == fai ]]; then
# fai server can contain sensitive info, so turn it off