Fix ShellCheck errors and warnings on shell scripts

* ALWAYS quote variable expansions (except in for loops)
* Use "-n" instead of "! -z"
* Fix bad redirection (|) when an OR (||) was intended
* Don't expand variables in printf format string (pass as argument)
* ALWAYS quote variable expansions (except in for loops)
* Avoid useless cat:
  cat file | grep pattern ==> grep pattern file
* Did I mention to ALWAYS quote variable expansions?

Always use ShellCheck to write shell scripts!
https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck
pull/621/head
Juan Navarro 2021-04-20 17:06:07 +02:00
parent 050057253a
commit 8e3f1e1eaf
8 changed files with 85 additions and 85 deletions

View File

@ -72,7 +72,7 @@ new_ov_installation() {
printf '\n $ ./openvidu start' printf '\n $ ./openvidu start'
printf '\n' printf '\n'
printf '\n For more information, check:' printf '\n For more information, check:'
printf "\n https://docs.openvidu.io/en/${OPENVIDU_VERSION//v}/deployment/deploying-on-premises/" printf '\n https://docs.openvidu.io/en/%s/deployment/deploying-on-premises/' "${OPENVIDU_VERSION//v}"
printf '\n' printf '\n'
printf '\n' printf '\n'
exit 0 exit 0
@ -158,7 +158,7 @@ upgrade_ov() {
printf "\n => Moving to 'tmp' folder..." printf "\n => Moving to 'tmp' folder..."
printf '\n' printf '\n'
cd "${TMP_FOLDER}" || fatal_error "Error when moving to 'tmp' folder" cd "${TMP_FOLDER}" || fatal_error "Error when moving to 'tmp' folder"
docker-compose pull | true docker-compose pull || true
printf '\n => Stopping Openvidu...' printf '\n => Stopping Openvidu...'
printf '\n' printf '\n'
@ -167,7 +167,7 @@ upgrade_ov() {
printf "\n => Moving to 'openvidu' folder..." printf "\n => Moving to 'openvidu' folder..."
printf '\n' printf '\n'
cd "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder" cd "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder"
docker-compose down | true docker-compose down || true
printf '\n' printf '\n'
printf '\n => Moving to working dir...' printf '\n => Moving to working dir...'
@ -179,7 +179,7 @@ upgrade_ov() {
mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.yml'" mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.yml'"
printf '\n - docker-compose.yml' printf '\n - docker-compose.yml'
if [ ! -z "${USE_OV_CALL}" ]; then if [ -n "${USE_OV_CALL}" ]; then
mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.override.yml'" mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.override.yml'"
printf '\n - docker-compose.override.yml' printf '\n - docker-compose.override.yml'
fi fi
@ -201,7 +201,7 @@ upgrade_ov() {
mv "${TMP_FOLDER}/docker-compose.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.yml'" mv "${TMP_FOLDER}/docker-compose.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.yml'"
printf '\n - docker-compose.yml' printf '\n - docker-compose.yml'
if [ ! -z "${USE_OV_CALL}" ]; then if [ -n "${USE_OV_CALL}" ]; then
mv "${TMP_FOLDER}/docker-compose.override.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.override.yml'" mv "${TMP_FOLDER}/docker-compose.override.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.override.yml'"
printf '\n - docker-compose.override.yml' printf '\n - docker-compose.override.yml'
else else
@ -224,7 +224,7 @@ upgrade_ov() {
# Define old mode: On Premise or Cloud Formation # Define old mode: On Premise or Cloud Formation
OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }') OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }')
[ ! -z "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" [ -n "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml"
# Ready to use # Ready to use
printf '\n' printf '\n'
@ -249,8 +249,8 @@ upgrade_ov() {
printf "\n If you want to rollback, all the files from the previous installation have been copied to folder '.old-%s'" "${OPENVIDU_PREVIOUS_VERSION}" printf "\n If you want to rollback, all the files from the previous installation have been copied to folder '.old-%s'" "${OPENVIDU_PREVIOUS_VERSION}"
printf '\n' printf '\n'
printf '\n For more information, check:' printf '\n For more information, check:'
printf "\n https://docs.openvidu.io/en/${OPENVIDU_VERSION//v}/deployment/deploying-on-premises/" printf '\n https://docs.openvidu.io/en/%s/deployment/deploying-on-premises/' "${OPENVIDU_VERSION//v}"
printf "\n https://docs.openvidu.io/en/${OPENVIDU_VERSION//v}/deployment/upgrading/" printf '\n https://docs.openvidu.io/en/%s/deployment/upgrading/' "${OPENVIDU_VERSION//v}"
printf '\n' printf '\n'
printf '\n' printf '\n'
} }
@ -273,7 +273,7 @@ else
fi fi
# Check type of installation # Check type of installation
if [[ ! -z "$1" && "$1" == "upgrade" ]]; then if [[ -n "$1" && "$1" == "upgrade" ]]; then
upgrade_ov upgrade_ov
else else
new_ov_installation new_ov_installation

View File

@ -28,7 +28,7 @@ collect_basic_information() {
OV_VERSION=$(grep 'Openvidu Version:' "${OV_FOLDER}/docker-compose.yml" | awk '{ print $4 }') OV_VERSION=$(grep 'Openvidu Version:' "${OV_FOLDER}/docker-compose.yml" | awk '{ print $4 }')
CONTAINERS=$(docker ps | awk '{if(NR>1) print $NF}') CONTAINERS=$(docker ps | awk '{if(NR>1) print $NF}')
if [ ! -z "$(grep -E '^ image: openvidu/openvidu-call:.*$' "${OV_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]')" ]; then if [ -n "$(grep -E '^ image: openvidu/openvidu-call:.*$' "${OV_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]')" ]; then
OV_CALL_VERSION=$(grep -E 'Openvidu-Call Version:' "${OV_FOLDER}/docker-compose.override.yml" | awk '{ print $4 }') OV_CALL_VERSION=$(grep -E 'Openvidu-Call Version:' "${OV_FOLDER}/docker-compose.override.yml" | awk '{ print $4 }')
fi fi
[ -z "${OV_CALL_VERSION}" ] && OV_CALL_VERSION="No present" [ -z "${OV_CALL_VERSION}" ] && OV_CALL_VERSION="No present"
@ -150,10 +150,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker logs $CONTAINER docker logs "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'
@ -177,10 +177,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n =======================================" printf "\n ======================================="
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker exec $CONTAINER env docker exec "$CONTAINER" env
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'
@ -245,7 +245,7 @@ case $1 in
;; ;;
kms-logs) kms-logs)
kurento_logs $2 kurento_logs "$2"
;; ;;
upgrade) upgrade)

View File

@ -124,7 +124,7 @@ new_ov_installation() {
printf "\n CAUTION: The folder 'openvidu/elasticsearch' use user and group 1000 permissions. " printf "\n CAUTION: The folder 'openvidu/elasticsearch' use user and group 1000 permissions. "
printf "\n This folder is necessary for store elasticsearch data." printf "\n This folder is necessary for store elasticsearch data."
printf "\n For more information, check:" printf "\n For more information, check:"
printf "\n https://docs.openvidu.io/en/${OPENVIDU_VERSION//v}/openvidu-pro/deployment/on-premises/#deployment-instructions" printf '\n https://docs.openvidu.io/en/%s/openvidu-pro/deployment/on-premises/#deployment-instructions' "${OPENVIDU_VERSION//v}"
printf '\n' printf '\n'
printf '\n' printf '\n'
exit 0 exit 0
@ -132,13 +132,13 @@ new_ov_installation() {
get_previous_env_variable() { get_previous_env_variable() {
local ENV_VARIABLE_NAME=$1 local ENV_VARIABLE_NAME=$1
echo $(grep -E "${ENV_VARIABLE_NAME}=.*$" "${OPENVIDU_PREVIOUS_FOLDER}/.env" | cut -d'=' -f2) echo "$(grep -E "${ENV_VARIABLE_NAME}=.*$" "${OPENVIDU_PREVIOUS_FOLDER}/.env" | cut -d'=' -f2)"
} }
replace_variable_in_new_env_file() { replace_variable_in_new_env_file() {
local ENV_VARIABLE_NAME=$1 local ENV_VARIABLE_NAME=$1
local ENV_VARIABLE_VALUE=$2 local ENV_VARIABLE_VALUE=$2
[[ ! -z "${ENV_VARIABLE_VALUE}" ]] && sed -i "s|#${ENV_VARIABLE_NAME}=|${ENV_VARIABLE_NAME}=${ENV_VARIABLE_VALUE}|" "${OPENVIDU_PREVIOUS_FOLDER}/.env-${OPENVIDU_VERSION}" [[ -n "${ENV_VARIABLE_VALUE}" ]] && sed -i "s|#${ENV_VARIABLE_NAME}=|${ENV_VARIABLE_NAME}=${ENV_VARIABLE_VALUE}|" "${OPENVIDU_PREVIOUS_FOLDER}/.env-${OPENVIDU_VERSION}"
} }
upgrade_ov() { upgrade_ov() {
@ -242,7 +242,7 @@ upgrade_ov() {
printf '\n' printf '\n'
cd "${TMP_FOLDER}" || fatal_error "Error when moving to 'tmp' folder" cd "${TMP_FOLDER}" || fatal_error "Error when moving to 'tmp' folder"
printf '\n' printf '\n'
docker-compose pull | true docker-compose pull || true
printf '\n => Stopping Openvidu...' printf '\n => Stopping Openvidu...'
printf '\n' printf '\n'
@ -252,7 +252,7 @@ upgrade_ov() {
printf '\n' printf '\n'
cd "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder" cd "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder"
printf '\n' printf '\n'
docker-compose down | true docker-compose down || true
printf '\n' printf '\n'
printf '\n => Moving to working dir...' printf '\n => Moving to working dir...'
@ -264,7 +264,7 @@ upgrade_ov() {
mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.yml'" mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.yml'"
printf '\n - docker-compose.yml' printf '\n - docker-compose.yml'
if [ ! -z "${USE_OV_CALL}" ]; then if [ -n "${USE_OV_CALL}" ]; then
mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.override.yml'" mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.override.yml'"
printf '\n - docker-compose.override.yml' printf '\n - docker-compose.override.yml'
fi fi
@ -292,7 +292,7 @@ upgrade_ov() {
mv "${TMP_FOLDER}/docker-compose.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.yml'" mv "${TMP_FOLDER}/docker-compose.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.yml'"
printf '\n - docker-compose.yml' printf '\n - docker-compose.yml'
if [ ! -z "${USE_OV_CALL}" ]; then if [ -n "${USE_OV_CALL}" ]; then
mv "${TMP_FOLDER}/docker-compose.override.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.override.yml'" mv "${TMP_FOLDER}/docker-compose.override.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.override.yml'"
printf '\n - docker-compose.override.yml' printf '\n - docker-compose.override.yml'
else else
@ -345,16 +345,16 @@ upgrade_ov() {
# Define old mode: On Premise or Cloud Formation # Define old mode: On Premise or Cloud Formation
OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }') OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }')
[ ! -z "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" [ -n "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml"
# Update .env variables to new .env-version # Update .env variables to new .env-version
AWS_REGION=$(get_previous_env_variable AWS_DEFAULT_REGION) AWS_REGION=$(get_previous_env_variable AWS_DEFAULT_REGION)
if [[ ! -z ${AWS_REGION} ]]; then if [[ -n ${AWS_REGION} ]]; then
# Get new AMI ID # Get new AMI ID
NEW_AMI_ID=$(curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/CF-OpenVidu-Pro-${OPENVIDU_VERSION//v}.yaml --silent | NEW_AMI_ID=$(curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/CF-OpenVidu-Pro-${OPENVIDU_VERSION//v}.yaml --silent |
sed -n -e '/KMSAMIMAP:/,/Metadata:/ p' | sed -n -e '/KMSAMIMAP:/,/Metadata:/ p' |
grep -A 1 ${AWS_REGION} | grep AMI | tr -d " " | cut -d":" -f2) grep -A 1 "${AWS_REGION}" | grep AMI | tr -d " " | cut -d":" -f2)
[[ -z ${NEW_AMI_ID} ]] && fatal_error "Error while getting new AWS_IMAGE_ID for Media Nodes" [[ -z ${NEW_AMI_ID} ]] && fatal_error "Error while getting new AWS_IMAGE_ID for Media Nodes"
# Get previous values # Get previous values
@ -430,7 +430,7 @@ else
fi fi
# Check type of installation # Check type of installation
if [[ ! -z "$1" && "$1" == "upgrade" ]]; then if [[ -n "$1" && "$1" == "upgrade" ]]; then
upgrade_ov upgrade_ov
else else
new_ov_installation new_ov_installation

View File

@ -28,7 +28,7 @@ collect_basic_information() {
OV_VERSION=$(grep 'Openvidu Version:' "${OV_FOLDER}/docker-compose.yml" | awk '{ print $4 }') OV_VERSION=$(grep 'Openvidu Version:' "${OV_FOLDER}/docker-compose.yml" | awk '{ print $4 }')
CONTAINERS=$(docker ps | awk '{if(NR>1) print $NF}') CONTAINERS=$(docker ps | awk '{if(NR>1) print $NF}')
if [ ! -z "$(grep -E '^ image: openvidu/openvidu-call:.*$' "${OV_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]')" ]; then if [ -n "$(grep -E '^ image: openvidu/openvidu-call:.*$' "${OV_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]')" ]; then
OV_CALL_VERSION=$(grep -E 'Openvidu-Call Version:' "${OV_FOLDER}/docker-compose.override.yml" | awk '{ print $4 }') OV_CALL_VERSION=$(grep -E 'Openvidu-Call Version:' "${OV_FOLDER}/docker-compose.override.yml" | awk '{ print $4 }')
fi fi
[ -z "${OV_CALL_VERSION}" ] && OV_CALL_VERSION="No present" [ -z "${OV_CALL_VERSION}" ] && OV_CALL_VERSION="No present"
@ -150,10 +150,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker logs $CONTAINER docker logs "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'
@ -167,10 +167,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n =======================================" printf "\n ======================================="
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker exec $CONTAINER env docker exec "$CONTAINER" env
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'

View File

@ -22,10 +22,10 @@ fatal_error() {
docker_command_by_container_image() { docker_command_by_container_image() {
IMAGE_NAME=$1 IMAGE_NAME=$1
COMMAND=$2 COMMAND=$2
if [[ ! -z "${IMAGE_NAME}" ]]; then if [[ -n "${IMAGE_NAME}" ]]; then
CONTAINERS=$(docker ps -a | grep "${IMAGE_NAME}" | awk '{print $1}') CONTAINERS="$(docker ps -a | grep "${IMAGE_NAME}" | awk '{print $1}')"
for CONTAINER_ID in ${CONTAINERS[@]}; do for CONTAINER_ID in $CONTAINERS; do
if [[ ! -z "${CONTAINER_ID}" ]] && [[ ! -z "${COMMAND}" ]]; then if [[ -n "${CONTAINER_ID}" ]] && [[ -n "${COMMAND}" ]]; then
bash -c "docker ${COMMAND} ${CONTAINER_ID}" bash -c "docker ${COMMAND} ${CONTAINER_ID}"
fi fi
done done
@ -35,7 +35,7 @@ docker_command_by_container_image() {
stop_containers() { stop_containers() {
printf "Stopping containers..." printf "Stopping containers..."
for IMAGE in ${IMAGES[@]}; do for IMAGE in "${IMAGES[@]}"; do
docker_command_by_container_image "${IMAGE}" "rm -f" docker_command_by_container_image "${IMAGE}" "rm -f"
done done
} }
@ -89,15 +89,15 @@ new_media_node_installation() {
# Pull images # Pull images
printf "\n => Pulling images...\n" printf "\n => Pulling images...\n"
cd "${MEDIA_NODE_FOLDER}" || fatal_error "Error when moving to '${MEDIA_NODE_FOLDER}' folder" cd "${MEDIA_NODE_FOLDER}" || fatal_error "Error when moving to '${MEDIA_NODE_FOLDER}' folder"
KMS_IMAGE=$(cat docker-compose.yml | grep KMS_IMAGE | cut -d"=" -f2) KMS_IMAGE=$(grep KMS_IMAGE docker-compose.yml | cut -d"=" -f2)
METRICBEAT_IMAGE=$(cat docker-compose.yml | grep METRICBEAT_IMAGE | cut -d"=" -f2) METRICBEAT_IMAGE=$(grep METRICBEAT_IMAGE docker-compose.yml | cut -d"=" -f2)
FILEBEAT_IMAGE=$(cat docker-compose.yml | grep FILEBEAT_IMAGE | cut -d"=" -f2) FILEBEAT_IMAGE=$(grep FILEBEAT_IMAGE docker-compose.yml | cut -d"=" -f2)
OPENVIDU_RECORDING_IMAGE=$(cat docker-compose.yml | grep OPENVIDU_RECORDING_IMAGE | cut -d"=" -f2) OPENVIDU_RECORDING_IMAGE=$(grep OPENVIDU_RECORDING_IMAGE docker-compose.yml | cut -d"=" -f2)
docker pull $KMS_IMAGE || fatal "Error while pulling docker image: $KMS_IMAGE" docker pull "$KMS_IMAGE" || fatal "Error while pulling docker image: $KMS_IMAGE"
docker pull $METRICBEAT_IMAGE || fatal "Error while pulling docker image: $METRICBEAT_IMAGE" docker pull "$METRICBEAT_IMAGE" || fatal "Error while pulling docker image: $METRICBEAT_IMAGE"
docker pull $FILEBEAT_IMAGE || fatal "Error while pulling docker image: $FILEBEAT_IMAGE" docker pull "$FILEBEAT_IMAGE" || fatal "Error while pulling docker image: $FILEBEAT_IMAGE"
docker pull $OPENVIDU_RECORDING_IMAGE || fatal "Error while pulling docker image: $OPENVIDU_RECORDING_IMAGE" docker pull "$OPENVIDU_RECORDING_IMAGE" || fatal "Error while pulling docker image: $OPENVIDU_RECORDING_IMAGE"
docker-compose pull | true docker-compose pull || true
# Ready to use # Ready to use
printf "\n" printf "\n"
@ -122,7 +122,7 @@ new_media_node_installation() {
printf '\n 4. Start or restart OpenVidu Pro and all containers will be provisioned' printf '\n 4. Start or restart OpenVidu Pro and all containers will be provisioned'
printf '\n automatically to all the media nodes configured in "KMS_URIS"' printf '\n automatically to all the media nodes configured in "KMS_URIS"'
printf '\n More info about Media Nodes deployment here:' printf '\n More info about Media Nodes deployment here:'
printf "\n --> https://docs.openvidu.io/en/${OPENVIDU_VERSION//v}/openvidu-pro/deployment/on-premises/#set-the-number-of-media-nodes-on-startup" printf '\n --> https://docs.openvidu.io/en/%s/openvidu-pro/deployment/on-premises/#set-the-number-of-media-nodes-on-startup' "${OPENVIDU_VERSION//v}"
printf '\n' printf '\n'
printf '\n' printf '\n'
printf "\n If you want to rollback, all the files from the previous installation have been copied to folder '.old-%s'" "${OPENVIDU_PREVIOUS_VERSION}" printf "\n If you want to rollback, all the files from the previous installation have been copied to folder '.old-%s'" "${OPENVIDU_PREVIOUS_VERSION}"
@ -222,15 +222,15 @@ upgrade_media_node() {
# Pull images # Pull images
printf "\n => Pulling images...\n" printf "\n => Pulling images...\n"
KMS_IMAGE=$(cat docker-compose.yml | grep KMS_IMAGE | cut -d"=" -f2) KMS_IMAGE="$(grep KMS_IMAGE docker-compose.yml | cut -d"=" -f2)"
METRICBEAT_IMAGE=$(cat docker-compose.yml | grep METRICBEAT_IMAGE | cut -d"=" -f2) METRICBEAT_IMAGE="$(grep METRICBEAT_IMAGE docker-compose.yml | cut -d"=" -f2)"
FILEBEAT_IMAGE=$(cat docker-compose.yml | grep FILEBEAT_IMAGE | cut -d"=" -f2) FILEBEAT_IMAGE="$(grep FILEBEAT_IMAGE docker-compose.yml | cut -d"=" -f2)"
OPENVIDU_RECORDING_IMAGE=$(cat docker-compose.yml | grep OPENVIDU_RECORDING_IMAGE | cut -d"=" -f2) OPENVIDU_RECORDING_IMAGE="$(grep OPENVIDU_RECORDING_IMAGE docker-compose.yml | cut -d"=" -f2)"
docker pull $KMS_IMAGE || fatal "Error while pulling docker image: $KMS_IMAGE" docker pull "$KMS_IMAGE" || fatal "Error while pulling docker image: $KMS_IMAGE"
docker pull $METRICBEAT_IMAGE || fatal "Error while pulling docker image: $METRICBEAT_IMAGE" docker pull "$METRICBEAT_IMAGE" || fatal "Error while pulling docker image: $METRICBEAT_IMAGE"
docker pull $FILEBEAT_IMAGE || fatal "Error while pulling docker image: $FILEBEAT_IMAGE" docker pull "$FILEBEAT_IMAGE" || fatal "Error while pulling docker image: $FILEBEAT_IMAGE"
docker pull $OPENVIDU_RECORDING_IMAGE || fatal "Error while pulling docker image: $OPENVIDU_RECORDING_IMAGE" docker pull "$OPENVIDU_RECORDING_IMAGE" || fatal "Error while pulling docker image: $OPENVIDU_RECORDING_IMAGE"
docker-compose pull | true docker-compose pull || true
printf '\n => Stopping Media Node...' printf '\n => Stopping Media Node...'
printf '\n' printf '\n'
@ -239,7 +239,7 @@ upgrade_media_node() {
printf "\n => Moving to 'openvidu' folder..." printf "\n => Moving to 'openvidu' folder..."
printf '\n' printf '\n'
cd "${MEDIA_NODE_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder" cd "${MEDIA_NODE_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder"
docker-compose down | true docker-compose down || true
printf '\n' printf '\n'
printf '\n => Moving to working dir...' printf '\n => Moving to working dir...'
@ -290,7 +290,7 @@ upgrade_media_node() {
# Define old mode: On Premise or Cloud Formation # Define old mode: On Premise or Cloud Formation
OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }') OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }')
[ ! -z "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${MEDIA_NODE_PREVIOUS_FOLDER}/docker-compose.yml" [ -n "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${MEDIA_NODE_PREVIOUS_FOLDER}/docker-compose.yml"
# Ready to use # Ready to use
printf '\n' printf '\n'
@ -317,7 +317,7 @@ upgrade_media_node() {
printf '\n 5. Start or restart OpenVidu Pro and all containers will be provisioned' printf '\n 5. Start or restart OpenVidu Pro and all containers will be provisioned'
printf '\n automatically to all the media nodes configured in "KMS_URIS"' printf '\n automatically to all the media nodes configured in "KMS_URIS"'
printf '\n More info about Media Nodes deployment here:' printf '\n More info about Media Nodes deployment here:'
printf "\n --> https://docs.openvidu.io/en/${OPENVIDU_VERSION//v}/openvidu-pro/deployment/on-premises/#set-the-number-of-media-nodes-on-startup" printf '\n --> https://docs.openvidu.io/en/%s/openvidu-pro/deployment/on-premises/#set-the-number-of-media-nodes-on-startup' "${OPENVIDU_VERSION//v}"
printf '\n' printf '\n'
printf '\n' printf '\n'
printf "\n If you want to rollback, all the files from the previous installation have been copied to folder '.old-%s'" "${OPENVIDU_PREVIOUS_VERSION}" printf "\n If you want to rollback, all the files from the previous installation have been copied to folder '.old-%s'" "${OPENVIDU_PREVIOUS_VERSION}"
@ -342,7 +342,7 @@ else
fi fi
# Check type of installation # Check type of installation
if [[ ! -z "$1" && "$1" == "upgrade" ]]; then if [[ -n "$1" && "$1" == "upgrade" ]]; then
upgrade_media_node upgrade_media_node
else else
new_media_node_installation new_media_node_installation

View File

@ -11,10 +11,10 @@ IMAGES=(
docker_command_by_container_image() { docker_command_by_container_image() {
IMAGE_NAME=$1 IMAGE_NAME=$1
COMMAND=$2 COMMAND=$2
if [[ ! -z "${IMAGE_NAME}" ]]; then if [[ -n "${IMAGE_NAME}" ]]; then
CONTAINERS=$(docker ps -a | grep "${IMAGE_NAME}" | awk '{print $1}') CONTAINERS="$(docker ps -a | grep "${IMAGE_NAME}" | awk '{print $1}')"
for CONTAINER_ID in ${CONTAINERS[@]}; do for CONTAINER_ID in $CONTAINERS; do
if [[ ! -z "${CONTAINER_ID}" ]] && [[ ! -z "${COMMAND}" ]]; then if [[ -n "${CONTAINER_ID}" ]] && [[ -n "${COMMAND}" ]]; then
bash -c "docker ${COMMAND} ${CONTAINER_ID}" bash -c "docker ${COMMAND} ${CONTAINER_ID}"
fi fi
done done
@ -24,7 +24,7 @@ docker_command_by_container_image() {
stop_containers() { stop_containers() {
printf "Stopping containers..." printf "Stopping containers..."
for IMAGE in ${IMAGES[@]}; do for IMAGE in "${IMAGES[@]}"; do
docker_command_by_container_image "${IMAGE}" "rm -f" docker_command_by_container_image "${IMAGE}" "rm -f"
done done
} }
@ -167,10 +167,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker logs $CONTAINER docker logs "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'
@ -194,10 +194,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n =======================================" printf "\n ======================================="
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker exec $CONTAINER env docker exec "$CONTAINER" env
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'
@ -257,7 +257,7 @@ case $1 in
;; ;;
kms-logs) kms-logs)
kurento_logs $2 kurento_logs "$2"
;; ;;
upgrade) upgrade)

View File

@ -124,7 +124,7 @@ new_ov_installation() {
printf "\n CAUTION: The folder 'openvidu/elasticsearch' use user and group 1000 permissions. " printf "\n CAUTION: The folder 'openvidu/elasticsearch' use user and group 1000 permissions. "
printf "\n This folder is necessary for store elasticsearch data." printf "\n This folder is necessary for store elasticsearch data."
printf "\n For more information, check:" printf "\n For more information, check:"
printf "\n https://docs.openvidu.io/en/${OPENVIDU_VERSION//v}/openvidu-pro/deployment/on-premises/#deployment-instructions" printf '\n https://docs.openvidu.io/en/%s/openvidu-pro/deployment/on-premises/#deployment-instructions' "${OPENVIDU_VERSION//v}"
printf '\n' printf '\n'
printf '\n' printf '\n'
exit 0 exit 0
@ -132,13 +132,13 @@ new_ov_installation() {
get_previous_env_variable() { get_previous_env_variable() {
local ENV_VARIABLE_NAME=$1 local ENV_VARIABLE_NAME=$1
echo $(grep -E "${ENV_VARIABLE_NAME}=.*$" "${OPENVIDU_PREVIOUS_FOLDER}/.env" | cut -d'=' -f2) echo "$(grep -E "${ENV_VARIABLE_NAME}=.*$" "${OPENVIDU_PREVIOUS_FOLDER}/.env" | cut -d'=' -f2)"
} }
replace_variable_in_new_env_file() { replace_variable_in_new_env_file() {
local ENV_VARIABLE_NAME=$1 local ENV_VARIABLE_NAME=$1
local ENV_VARIABLE_VALUE=$2 local ENV_VARIABLE_VALUE=$2
[[ ! -z "${ENV_VARIABLE_VALUE}" ]] && sed -i "s|#${ENV_VARIABLE_NAME}=|${ENV_VARIABLE_NAME}=${ENV_VARIABLE_VALUE}|" "${OPENVIDU_PREVIOUS_FOLDER}/.env-${OPENVIDU_VERSION}" [[ -n "${ENV_VARIABLE_VALUE}" ]] && sed -i "s|#${ENV_VARIABLE_NAME}=|${ENV_VARIABLE_NAME}=${ENV_VARIABLE_VALUE}|" "${OPENVIDU_PREVIOUS_FOLDER}/.env-${OPENVIDU_VERSION}"
} }
upgrade_ov() { upgrade_ov() {
@ -242,7 +242,7 @@ upgrade_ov() {
printf '\n' printf '\n'
cd "${TMP_FOLDER}" || fatal_error "Error when moving to 'tmp' folder" cd "${TMP_FOLDER}" || fatal_error "Error when moving to 'tmp' folder"
printf '\n' printf '\n'
docker-compose pull | true docker-compose pull || true
printf '\n => Stopping Openvidu...' printf '\n => Stopping Openvidu...'
printf '\n' printf '\n'
@ -252,7 +252,7 @@ upgrade_ov() {
printf '\n' printf '\n'
cd "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder" cd "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error when moving to 'openvidu' folder"
printf '\n' printf '\n'
docker-compose down | true docker-compose down || true
printf '\n' printf '\n'
printf '\n => Moving to working dir...' printf '\n => Moving to working dir...'
@ -264,7 +264,7 @@ upgrade_ov() {
mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.yml'" mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.yml'"
printf '\n - docker-compose.yml' printf '\n - docker-compose.yml'
if [ ! -z "${USE_OV_CALL}" ]; then if [ -n "${USE_OV_CALL}" ]; then
mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.override.yml'" mv "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.override.yml" "${ROLL_BACK_FOLDER}" || fatal_error "Error while moving previous 'docker-compose.override.yml'"
printf '\n - docker-compose.override.yml' printf '\n - docker-compose.override.yml'
fi fi
@ -292,7 +292,7 @@ upgrade_ov() {
mv "${TMP_FOLDER}/docker-compose.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.yml'" mv "${TMP_FOLDER}/docker-compose.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.yml'"
printf '\n - docker-compose.yml' printf '\n - docker-compose.yml'
if [ ! -z "${USE_OV_CALL}" ]; then if [ -n "${USE_OV_CALL}" ]; then
mv "${TMP_FOLDER}/docker-compose.override.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.override.yml'" mv "${TMP_FOLDER}/docker-compose.override.yml" "${OPENVIDU_PREVIOUS_FOLDER}" || fatal_error "Error while updating 'docker-compose.override.yml'"
printf '\n - docker-compose.override.yml' printf '\n - docker-compose.override.yml'
else else
@ -345,16 +345,16 @@ upgrade_ov() {
# Define old mode: On Premise or Cloud Formation # Define old mode: On Premise or Cloud Formation
OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }') OLD_MODE=$(grep -E "Installation Mode:.*$" "${ROLL_BACK_FOLDER}/docker-compose.yml" | awk '{ print $4,$5 }')
[ ! -z "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml" [ -n "${OLD_MODE}" ] && sed -i -r "s/Installation Mode:.+/Installation Mode: ${OLD_MODE}/" "${OPENVIDU_PREVIOUS_FOLDER}/docker-compose.yml"
# Update .env variables to new .env-version # Update .env variables to new .env-version
AWS_REGION=$(get_previous_env_variable AWS_DEFAULT_REGION) AWS_REGION=$(get_previous_env_variable AWS_DEFAULT_REGION)
if [[ ! -z ${AWS_REGION} ]]; then if [[ -n ${AWS_REGION} ]]; then
# Get new AMI ID # Get new AMI ID
NEW_AMI_ID=$(curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/CF-OpenVidu-Pro-${OPENVIDU_VERSION//v}.yaml --silent | NEW_AMI_ID=$(curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/CF-OpenVidu-Pro-${OPENVIDU_VERSION//v}.yaml --silent |
sed -n -e '/KMSAMIMAP:/,/Metadata:/ p' | sed -n -e '/KMSAMIMAP:/,/Metadata:/ p' |
grep -A 1 ${AWS_REGION} | grep AMI | tr -d " " | cut -d":" -f2) grep -A 1 "${AWS_REGION}" | grep AMI | tr -d " " | cut -d":" -f2)
[[ -z ${NEW_AMI_ID} ]] && fatal_error "Error while getting new AWS_IMAGE_ID for Media Nodes" [[ -z ${NEW_AMI_ID} ]] && fatal_error "Error while getting new AWS_IMAGE_ID for Media Nodes"
# Get previous values # Get previous values
@ -430,7 +430,7 @@ else
fi fi
# Check type of installation # Check type of installation
if [[ ! -z "$1" && "$1" == "upgrade" ]]; then if [[ -n "$1" && "$1" == "upgrade" ]]; then
upgrade_ov upgrade_ov
else else
new_ov_installation new_ov_installation

View File

@ -28,7 +28,7 @@ collect_basic_information() {
OV_VERSION=$(grep 'Openvidu Version:' "${OV_FOLDER}/docker-compose.yml" | awk '{ print $4 }') OV_VERSION=$(grep 'Openvidu Version:' "${OV_FOLDER}/docker-compose.yml" | awk '{ print $4 }')
CONTAINERS=$(docker ps | awk '{if(NR>1) print $NF}') CONTAINERS=$(docker ps | awk '{if(NR>1) print $NF}')
if [ ! -z "$(grep -E '^ image: openvidu/openvidu-call:.*$' "${OV_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]')" ]; then if [ -n "$(grep -E '^ image: openvidu/openvidu-call:.*$' "${OV_FOLDER}/docker-compose.override.yml" | tr -d '[:space:]')" ]; then
OV_CALL_VERSION=$(grep -E 'Openvidu-Call Version:' "${OV_FOLDER}/docker-compose.override.yml" | awk '{ print $4 }') OV_CALL_VERSION=$(grep -E 'Openvidu-Call Version:' "${OV_FOLDER}/docker-compose.override.yml" | awk '{ print $4 }')
fi fi
[ -z "${OV_CALL_VERSION}" ] && OV_CALL_VERSION="No present" [ -z "${OV_CALL_VERSION}" ] && OV_CALL_VERSION="No present"
@ -150,10 +150,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker logs $CONTAINER docker logs "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'
@ -167,10 +167,10 @@ generate_report() {
do do
printf '\n' printf '\n'
printf "\n =======================================" printf "\n ======================================="
printf "\n %s" $CONTAINER printf "\n %s" "$CONTAINER"
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
docker exec $CONTAINER env docker exec "$CONTAINER" env
printf "\n ---------------------------------------" printf "\n ---------------------------------------"
printf '\n' printf '\n'
printf '\n' printf '\n'