bug fix
[automated-distro-installer] / faiserver-disable
index 7893524426844344d3d5e6d5f16d5c95db14b8b1..74aaef8664b806c6e10e6a9cb8329518840e3d66 100755 (executable)
@@ -1,18 +1,33 @@
 #!/bin/bash
 
+if ! test "$BASH_VERSION"; then echo "error: shell is not bash" >&2; exit 1; fi
+shopt -s inherit_errexit 2>/dev/null ||: # ignore fail in bash < 4.4
 set -eE -o pipefail
-trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
+trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" exit status: $?, PIPESTATUS: ${PIPESTATUS[*]}" >&2' ERR
+
+this_file="$(readlink -f -- "${BASH_SOURCE[0]}")"
+readonly this_file this_dir="${this_file%/*}"
+cd "$this_dir"
 
 usage() {
-    cat <<EOF
-Usage: ${0##*/}
-Disable the fai nfs server.
+  cat <<'EOF'
+Usage: faiserver-disable
+Disable the fai nfs server exports
 EOF
-    exit $1
+  exit $1
 }
 
 if [[ $1 ]]; then
-    usage 1
+  usage 1
 fi
 
-ssh root@$(chost faiserver) "sed -ri 's,^/srv/fai/,#\0,' /etc/exports; exportfs -ra"
+
+
+faiserver_addr=$(host faiserver.b8.nz | sed -rn 's/^\S+ has address //p;T;q' ||:)
+if ip a | grep "^ *inet.\? $faiserver_addr" &>/dev/null; then
+  echo "$0: disabling fai nfs exports or apache site"
+  ./faiserver-disable-local
+else
+  echo "$0: sshing to $(chost faiserver.b8.nz) to disable fai nfs exports or apache site"
+  ssh root@$(chost faiserver.b8.nz) bash <faiserver-disable-local
+fi