openvidu-deployment Improve media node scripts

pull/553/head
cruizba 2020-11-05 11:57:29 +01:00
parent 3ecd9885d6
commit a4c8e02a3f
2 changed files with 83 additions and 51 deletions

View File

@ -5,6 +5,13 @@ MEDIA_NODE_VERSION=master
OPENVIDU_UPGRADABLE_VERSION="2.15"
BEATS_FOLDER=${MEDIA_NODE_FOLDER}/beats
DOWNLOAD_URL=https://raw.githubusercontent.com/OpenVidu/openvidu/${MEDIA_NODE_VERSION}
IMAGES=(
"kurento-media-server",
"docker.elastic.co/beats/filebeat",
"docker.elastic.co/beats/metricbeat",
"openvidu/media-node-controller"
)
fatal_error() {
printf "\n =======¡ERROR!======="
printf "\n %s" "$1"
@ -12,6 +19,27 @@ fatal_error() {
exit 0
}
docker_command_by_container_image() {
IMAGE_NAME=$1
COMMAND=$2
if [[ ! -z "${IMAGE_NAME}" ]]; then
CONTAINERS=$(docker ps -a | grep "${IMAGE_NAME}" | awk '{print $1}')
for CONTAINER_ID in ${CONTAINERS[@]}; do
if [[ ! -z "${CONTAINER_ID}" ]] && [[ ! -z "${COMMAND}" ]]; then
docker "${COMMAND}" "${CONTAINER_ID}"
fi
done
fi
}
stop_containers() {
printf "Stopping containers..."
for IMAGE in ${IMAGES[@]}; do
docker_command_by_container_image "${IMAGE}" "rm -f"
done
}
new_media_node_installation() {
printf '\n'
printf '\n ======================================='
@ -104,30 +132,6 @@ new_media_node_installation() {
exit 0
}
stop_and_remove_container_by_image() {
IMAGE_NAME=$1
if [[ ! -z "${IMAGE_NAME}" ]]; then
CONTAINER_ID=$(docker ps -a | grep "${IMAGE_NAME}" | awk '{print $1}')
if [[ ! -z "${CONTAINER_ID}" ]]; then
docker rm -f "${CONTAINER_ID}"
fi
fi
}
stop_and_remove_containers() {
IMAGES=(
"kurento-media-server",
"docker.elastic.co/beats/filebeat",
"docker.elastic.co/beats/metricbeat",
"openvidu/media-node-controller"
)
for image in ${IMAGES[@]}
do
stop_container_by_image "${image}"
done
}
upgrade_media_node() {
# Search local Openvidu installation
printf '\n'
@ -220,7 +224,7 @@ upgrade_media_node() {
printf '\n'
sleep 1
stop_and_remove_containers
stop_containers
# Pull images
printf "\n => Pulling images...\n"

View File

@ -1,5 +1,41 @@
#!/bin/bash
# Deployed images in media-node
IMAGES=(
"kurento-media-server",
"docker.elastic.co/beats/filebeat",
"docker.elastic.co/beats/metricbeat",
"openvidu/media-node-controller"
)
docker_command_by_container_image() {
IMAGE_NAME=$1
COMMAND=$2
if [[ ! -z "${IMAGE_NAME}" ]]; then
CONTAINERS=$(docker ps -a | grep "${IMAGE_NAME}" | awk '{print $1}')
for CONTAINER_ID in ${CONTAINERS[@]}; do
if [[ ! -z "${CONTAINER_ID}" ]] && [[ ! -z "${COMMAND}" ]]; then
docker "${COMMAND}" "${CONTAINER_ID}"
fi
done
fi
}
stop_containers() {
printf "Stopping containers..."
for IMAGE in ${IMAGES[@]}; do
docker_command_by_container_image "${IMAGE}" "rm -f"
done
}
tail_latest_kurento_logs() {
LATEST_LOG_FILE=$(find /opt/openvidu/kurento-logs/* -printf '%T+ %p\n' | sort -r | head -1 | awk '{print $2}')
if [[ ! -z "${LATEST_LOG_FILE}" ]]; then
tail -f "${LATEST_LOG_FILE}"
fi
}
upgrade_media_node() {
UPGRADE_SCRIPT_URL="https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_media_node_OVVERSION.sh"
HTTP_STATUS=$(curl -s -o /dev/null -I -w "%{http_code}" ${UPGRADE_SCRIPT_URL//OVVERSION/$1})
@ -140,6 +176,16 @@ generate_report() {
printf '\n'
done
printf '\n'
printf "\n ---------------------------------------"
printf "\n KMS"
printf "\n ---------------------------------------"
printf '\n'
tail_latest_kurento_logs
printf "\n ---------------------------------------"
printf '\n'
printf '\n'
printf "\n ======================================="
printf "\n = CONTAINER ENVS VARIABLES ="
printf "\n ======================================="
@ -170,7 +216,7 @@ usage() {
printf "\n\tstart\t\t\tStart media node service"
printf "\n\tstop\t\t\tStop media node service"
printf "\n\trestart\t\t\tRestart media node service"
printf "\n\tlogs\t\t\tShow media node logs"
printf "\n\tlogs <container_name>\t\t\tShow logs by container name"
printf "\n\tupgrade\t\t\tUpgrade to the lastest Media Node version"
printf "\n\tupgrade [version]\tUpgrade to the specific Media Node version"
printf "\n\tversion\t\t\tShow version of Media Node"
@ -179,30 +225,6 @@ usage() {
printf "\n"
}
stop_container_by_image() {
IMAGE_NAME=$1
if [[ ! -z "${IMAGE_NAME}" ]]; then
CONTAINER_ID=$(docker ps | grep "${IMAGE_NAME}" | awk '{print $1}')
if [[ ! -z "${CONTAINER_ID}" ]]; then
docker stop "${CONTAINER_ID}"
fi
fi
}
stop_containers() {
IMAGES=(
"kurento-media-server",
"docker.elastic.co/beats/filebeat",
"docker.elastic.co/beats/metricbeat",
"openvidu/media-node-controller"
)
for image in ${IMAGES[@]}
do
stop_container_by_image "${image}"
done
}
case $1 in
start)
@ -223,7 +245,13 @@ case $1 in
;;
logs)
docker-compose logs -f media-node-controller
case $2 in
kms)
tail_latest_kurento_logs
;;
*)
docker logs -f "$2"
;;
;;
upgrade)