X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=dsfull;h=5cc0fad0a972de334be5db84f5866aba3d5b1a1a;hb=8d5ef1a7a61d7475823452f47f5b4cd7a06722e8;hp=54ee3661a8a5d3c5569c6d89ed1cc55d1f5c7e7e;hpb=47b51938ae090a2717cb2ec3f9e547a76e7b2ae7;p=automated-distro-installer diff --git a/dsfull b/dsfull index 54ee366..5cc0fad 100755 --- a/dsfull +++ b/dsfull @@ -13,9 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -eE -o pipefail -cleanup() { :; } -trap 'cleanup; echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR +x="$(readlink -f "$BASH_SOURCE")"; source "${x%/*}/bash-trace" reboot=true if [[ $1 == -r ]]; then @@ -32,8 +30,9 @@ Note: relies on other repos and paths specific to Ian's system. Note: disables btrbk.timer. If it was active before, it should be manual reenabled after completion. ---no-r Don't ssh to host and reboot. -k ssh to host and kexec, don't use pxe. implies --no-r +--no-r Don't ssh to host and reboot. Use this for when you are + booting or rebooting from some other means. -h|--help Print help and exit. Note: Uses GNU getopt options parsing style @@ -60,28 +59,27 @@ host=$1 ##### end command line parsing ######## -e ser stop btrbk.timer +ser stop btrbk.timer if [[ ! $host ]]; then echo "$0: error: expected 1 arg of hostname" exit 1 fi -e() { echo "$@"; "$@"; } if $kexec; then - e fai-redep - e myfai-chboot $host - e fai-kexec $host ||: + fai-redep + myfai-chboot $host + fai-kexec $host ||: else - cleanup() { pxe-server; } - e pxe-server $host fai + cleanup() { pxe-server; }; _errcatch_cleanup=cleanup + pxe-server $host fai if $reboot; then # untested, this caused hang using here doc. - ssh $host "touch /tmp/keyscript-off; sudo reboot" ||: & + ssh root@$host "touch /tmp/keyscript-off; reboot" ||: & fi - e pxe-server -a - cleanup() { :; } + pxe-server -a + unset _errcatch_cleanup fi error=true @@ -92,6 +90,7 @@ for ((i=0; i<240; i++)); do fi sleep 5 done +faiserver-disable if $error; then echo "$0: error: timeout" exit 1 @@ -99,5 +98,8 @@ fi while [[ $(ser is-active btrbk.service) == active ]]; do sleep 5 done -e btrbk-run -t $host -e dsremote $host +btrbk-run -t $host +#ssh $host /a/bin/distro-setup/distro-begin +# this should be done instead of distro-begin, but +# keeping it to 2 steps for now +dsremote $host