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" OPENVIDU_UPGRADABLE_VERSION="2.15"
BEATS_FOLDER=${MEDIA_NODE_FOLDER}/beats BEATS_FOLDER=${MEDIA_NODE_FOLDER}/beats
DOWNLOAD_URL=https://raw.githubusercontent.com/OpenVidu/openvidu/${MEDIA_NODE_VERSION} 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() { fatal_error() {
printf "\n =======¡ERROR!=======" printf "\n =======¡ERROR!======="
printf "\n %s" "$1" printf "\n %s" "$1"
@ -12,6 +19,27 @@ fatal_error() {
exit 0 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() { new_media_node_installation() {
printf '\n' printf '\n'
printf '\n =======================================' printf '\n ======================================='
@ -104,30 +132,6 @@ new_media_node_installation() {
exit 0 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() { upgrade_media_node() {
# Search local Openvidu installation # Search local Openvidu installation
printf '\n' printf '\n'
@ -220,7 +224,7 @@ upgrade_media_node() {
printf '\n' printf '\n'
sleep 1 sleep 1
stop_and_remove_containers stop_containers
# Pull images # Pull images
printf "\n => Pulling images...\n" printf "\n => Pulling images...\n"

View File

@ -1,5 +1,41 @@
#!/bin/bash #!/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_media_node() {
UPGRADE_SCRIPT_URL="https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_media_node_OVVERSION.sh" 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}) HTTP_STATUS=$(curl -s -o /dev/null -I -w "%{http_code}" ${UPGRADE_SCRIPT_URL//OVVERSION/$1})
@ -140,6 +176,16 @@ generate_report() {
printf '\n' printf '\n'
done 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 ======================================="
printf "\n = CONTAINER ENVS VARIABLES =" printf "\n = CONTAINER ENVS VARIABLES ="
printf "\n =======================================" printf "\n ======================================="
@ -170,7 +216,7 @@ usage() {
printf "\n\tstart\t\t\tStart media node service" printf "\n\tstart\t\t\tStart media node service"
printf "\n\tstop\t\t\tStop media node service" printf "\n\tstop\t\t\tStop media node service"
printf "\n\trestart\t\t\tRestart 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\t\t\tUpgrade to the lastest Media Node version"
printf "\n\tupgrade [version]\tUpgrade to the specific Media Node version" printf "\n\tupgrade [version]\tUpgrade to the specific Media Node version"
printf "\n\tversion\t\t\tShow version of Media Node" printf "\n\tversion\t\t\tShow version of Media Node"
@ -179,30 +225,6 @@ usage() {
printf "\n" 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 case $1 in
start) start)
@ -223,7 +245,13 @@ case $1 in
;; ;;
logs) logs)
docker-compose logs -f media-node-controller case $2 in
kms)
tail_latest_kurento_logs
;;
*)
docker logs -f "$2"
;;
;; ;;
upgrade) upgrade)