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 \