#!/bin/bash
# mr8.1: check for processes that might be problematic during upgrades

set -e
set -u

die() {
  echo "ERROR: $*" >&2
  exit 1
}

request_confirmation() {
  if [[ "${FORCE_UPGRADE}" = "true" ]] ; then
    die "Forcing to STOP, as FORCE_UPGRADE is set"
  fi

  while true; do
    echo -n "Should we continue with the upgrade? (yes/no): "
    read -r a
    case "${a,,}" in
      yes)
        echo "Continue as requested."
        break
        ;;
      no)
        die "Aborted as requested."
        ;;
      *)
        echo "Please answer 'yes' or 'no'."
        ;;
    esac
    unset a
  done
}


processes=()
processes+=(mysqldump)

for p in "${processes[@]}"; do
  if pgrep --exact "${p}" &>/dev/null ; then
    echo "WARNING: detected dangerous running process: ${p}"
    request_confirmation
  fi
done
