warn of new upstream basefiles
[automated-distro-installer] / fai-redep
index c342d4b6020b89cf3c77ee5466190d99b83e6df2..68d51d5f135459c51206973692c6b42911d89701 100755 (executable)
--- a/fai-redep
+++ b/fai-redep
 # 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.
-set -x
-
-# Deploy fai configuration to faiserver,
-# then start a virtual machine to test the config.
-
 set -eE -o pipefail
 trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
 
-cd $(dirname $(readlink -f "$BASH_SOURCE"))
+x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*}
+
+usage() {
+    cat <<EOF
+usage: ${0##*/} [-h|--help]
+Deploy fai configuration to host "faiserver"
+EOF
+    exit $1
+}
+case $1 in
+    -h|--help) usage ;;
+esac
 
 
 # i use faiserver as a dns alias, but ssh key is associated with
@@ -41,11 +47,28 @@ scp -q ~/.ssh/id_rsa.pub \
 # these files are not exposed.
 s scp -qr /q/root/luks /q/root/shadow \
   root@$faiserver_host:/srv/fai/config/distro-install-common
+
+# should tar ssh all the files, but these ones really justified it
+tar -cz /p/c/machine_specific/*/filesystem/etc/ssh | \
+  ssh root@$faiserver_host tar -xz -C /srv/fai/config/distro-install-common
 scp -q /a/bin/fai/devbyid root@$faiserver_host:/srv/fai/nfsroot/usr/local/bin
 
+
 # built BELANOS basefile with mk-basefile -J BELENOS64. it's stored in
 # it's own repo which is published alongside this one called
 # fai-basefiles due to being a large binary file.
+
+declare -A sums
+while read -r sum file; do
+    sums[$file]=$sum
+done < <(cat /a/bin/fai-basefiles/md5sums.txt)
+
+curl -s http://fai-project.org/download/basefiles/md5sums.txt |
+  while read -r sum file; do
+      if [[ ${sums[$file]} && ${sums[$file]} != $sum ]]; then
+        echo "${0##*/}: WARNING!!!!!!!!! NEW UPSTREAM BASEFILE: $file"
+      fi
+  done
 scp -q /a/bin/fai-basefiles/*.tar.xz root@$faiserver_host:/srv/fai/config/basefiles
 ssh root@$faiserver_host bash <<'EOF'
 set -eE -o pipefail
@@ -66,4 +89,3 @@ chmod -R a+rX /srv/fai/config/distro-install-common
 #wget -nv -N $u
 EOF
 
-faiserver-enable