From df0420ecb881849dfefb94ec96bd572fc4da8236 Mon Sep 17 00:00:00 2001 From: Mykola Malkov Date: Fri, 23 Mar 2018 15:25:28 +0100 Subject: [PATCH] TT#32751 Check CD integrity Write md5 sum during the building of ISO file Check md5 sum before installation Change-Id: I27ac12816a750e9e6400eb28a5c5f1edd7f3b101 --- build_iso.sh | 2 ++ templates/scripts/includes/verify_iso_image.sh | 17 +++++++++++++++++ templates/scripts/main.sh | 1 + 3 files changed, 20 insertions(+) create mode 100755 templates/scripts/includes/verify_iso_image.sh diff --git a/build_iso.sh b/build_iso.sh index 16a436c..b0f676c 100755 --- a/build_iso.sh +++ b/build_iso.sh @@ -80,6 +80,8 @@ sudo /usr/sbin/grml2iso -c ./${TEMPLATES} -o "${SIPWISE_ISO}" "${GRML_ISO}" echo "*** Generating dd-able ISO ***" sudo /usr/bin/isohybrid "${SIPWISE_ISO}" +sudo implantisomd5 "${SIPWISE_ISO}" + echo "*** Generating SHA1 and MD5 checksum files ***" sha1sum "${SIPWISE_ISO}" > "${SIPWISE_ISO}.sha1" md5sum "${SIPWISE_ISO}" > "${SIPWISE_ISO}.md5" diff --git a/templates/scripts/includes/verify_iso_image.sh b/templates/scripts/includes/verify_iso_image.sh new file mode 100755 index 0000000..3e399ad --- /dev/null +++ b/templates/scripts/includes/verify_iso_image.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +set -e + +message="Do you want to check the install media?" +if dialog --yes-label Yes --no-label Skip --yesno "${message}" 0 0 ; then + sudo apt-get update 1>/dev/null || true + sudo apt-get install isomd5sum --assume-yes 1>/dev/null || true + if ! result="$( { checkisomd5 /dev/sr0 1>/dev/null; } 2>&1 )" ; then + err_message="Integrity check failed. Reason: ${result}. Abort installation or continue anyway?" + if dialog --yes-label Exit --no-label Continue --yesno "${err_message}" 0 0 ; then + exit 1 + else + exit 0 + fi + fi +fi diff --git a/templates/scripts/main.sh b/templates/scripts/main.sh index a178481..aac41cb 100755 --- a/templates/scripts/main.sh +++ b/templates/scripts/main.sh @@ -157,6 +157,7 @@ deploy() { install_sipwise_keyring network_check "${scripts_dir}/check_installing_version.sh" +"${scripts_dir}/verify_iso_image.sh" prompt_for_target check_for_existing_pvs report_ssh_password