From 298347260bebd7501e85dc384abbd41de1832240 Mon Sep 17 00:00:00 2001 From: Alexander Lutay Date: Wed, 11 May 2016 18:20:52 +0200 Subject: [PATCH] MT#17213 Discontinue puppetrescuedrive GRML boot option We have to always provide Sipwise Hiera rescue ISO if we are using recovery from git repository as it doesn't have any passwords and SSH keys. In the same time we search drive by label, so there is no point to have an options here anymore. Change-Id: Ib47f147cbb3a154f96d37ef31d43acad3a68c9e5 --- deployment.sh | 64 +++++++++++++++++++++------------------------------ 1 file changed, 26 insertions(+), 38 deletions(-) diff --git a/deployment.sh b/deployment.sh index 7a7e82d..14b0b79 100755 --- a/deployment.sh +++ b/deployment.sh @@ -50,7 +50,6 @@ PUPPET_SERVER=puppet.mgm.sipwise.com PUPPET_GIT_REPO='' PUPPET_GIT_BRANCH=master PUPPET_LOCAL_GIT="${TARGET}/tmp/puppet.git" -PUPPET_RESCUE_DRIVE="none" PUPPET_RESCUE_PATH="/mnt/rescue_drive" PUPPET_RESCUE_LABEL="SIPWRESCUE*" RESTART_NETWORK=true @@ -455,10 +454,6 @@ if checkBootParam "puppetgitbranch" ; then PUPPET_GIT_BRANCH=$(getBootParam puppetgitbranch) fi -if checkBootParam "puppetrescuedrive" ; then - PUPPET_RESCUE_DRIVE=$(getBootParam puppetrescuedrive) -fi - if checkBootParam "debianrelease" ; then DEBIAN_RELEASE=$(getBootParam debianrelease) fi @@ -2160,48 +2155,41 @@ puppet_install_from_git () { local PUPPET_TMP_ENV PUPPET_TMP_ENV="${TARGET}/etc/puppetlabs/code/environments/${PUPPET}" - echo "Creating empty Puppet environment '${PUPPET_TMP_ENV}'" mkdir -m 0755 -p "${PUPPET_TMP_ENV}" - case "${PUPPET_RESCUE_DRIVE}" in - auto) - echo "Searching for Hiera rescue device by label '${PUPPET_RESCUE_LABEL}'..." - PUPPET_RESCUE_DRIVE=$(blkid | grep -E "LABEL=\"${PUPPET_RESCUE_LABEL}" | head -1 | awk -F: '{print $1}') + echo "Searching for Hiera rescue device by label '${PUPPET_RESCUE_LABEL}'..." + local PUPPET_RESCUE_DRIVE + PUPPET_RESCUE_DRIVE=$(blkid | grep -E "LABEL=\"${PUPPET_RESCUE_LABEL}" | head -1 | awk -F: '{print $1}') - if [ ! -n "${PUPPET_RESCUE_DRIVE}" ] ; then - die "ERROR: No USB device found matching label '${PUPPET_RESCUE_LABEL}', cannot continue!" - fi + if [ -n "${PUPPET_RESCUE_DRIVE}" ] ; then + echo "Found Hiera rescue device: '${PUPPET_RESCUE_DRIVE}'" + else + die "ERROR: No USB device found matching label '${PUPPET_RESCUE_LABEL}', cannot continue!" + fi - local device_type - device_type=$(blkid | grep -E "LABEL=\"${PUPPET_RESCUE_LABEL}" | head -1 | sed 's/.*TYPE="\(.*\)".*/\1/') + echo "Searching for Hiera rescue device type..." + local DEVICE_TYPE + DEVICE_TYPE=$(blkid | grep -E "LABEL=\"${PUPPET_RESCUE_LABEL}" | head -1 | sed 's/.*TYPE="\(.*\)".*/\1/') - if [ ! -n "${device_type}" ] ; then - die "ERROR: Cannot detect device type for device '${PUPPET_RESCUE_LABEL}', cannot continue!" - fi + if [ -n "${DEVICE_TYPE}" ] ; then + echo "Hiera rescue device type is:'${DEVICE_TYPE}'" + else + die "ERROR: Cannot detect device type for device '${PUPPET_RESCUE_LABEL}', cannot continue!" + fi - echo "Copying data from device '${PUPPET_RESCUE_DRIVE}' (mounted into '${PUPPET_RESCUE_PATH}', type '${device_type}')" - mkdir -p "${PUPPET_RESCUE_PATH}" - mount -t "${device_type}" -o ro "${PUPPET_RESCUE_DRIVE}" "${PUPPET_RESCUE_PATH}" - mkdir -m 0700 -p "${TARGET}/etc/puppetlabs/code/hieradata/" - cp -a "${PUPPET_RESCUE_PATH}"/hieradata/* "${TARGET}/etc/puppetlabs/code/hieradata/" - umount -f "${PUPPET_RESCUE_PATH}" - rmdir "${PUPPET_RESCUE_PATH}" - ;; - none) - echo "Hiera rescue drive has been skipped as requested." - ;; - *) - die "ERROR: Unsupported rescue drive '${PUPPET_RESCUE_DRIVE}', cannot continue!" - ;; - esac + echo "Copying data from device '${PUPPET_RESCUE_DRIVE}' (mounted into '${PUPPET_RESCUE_PATH}', type '${DEVICE_TYPE}')" + mkdir -p "${PUPPET_RESCUE_PATH}" + mount -t "${DEVICE_TYPE}" -o ro "${PUPPET_RESCUE_DRIVE}" "${PUPPET_RESCUE_PATH}" + mkdir -m 0700 -p "${TARGET}/etc/puppetlabs/code/hieradata/" + cp -a "${PUPPET_RESCUE_PATH}"/hieradata/* "${TARGET}/etc/puppetlabs/code/hieradata/" + umount -f "${PUPPET_RESCUE_PATH}" + rmdir "${PUPPET_RESCUE_PATH}" - if [ "${PUPPET_RESCUE_DRIVE}" != "none" ] ; then - echo "Initializing Hiera config..." - grml-chroot $TARGET puppet apply --test --modulepath="${PUPPET_CODE_PATH}/modules" \ + echo "Initializing Hiera config..." + grml-chroot $TARGET puppet apply --test --modulepath="${PUPPET_CODE_PATH}/modules" \ -e "include puppet::hiera" 2>&1 | tee -a /tmp/puppet.log - check_puppet_rc "${PIPESTATUS[0]}" "2" - fi + check_puppet_rc "${PIPESTATUS[0]}" "2" echo "Running Puppet core deployment..." grml-chroot $TARGET puppet apply --test --modulepath="${PUPPET_CODE_PATH}/modules" --tags core,apt \