mirror of https://github.com/OpenVidu/openvidu.git
openvidu-deployment Improve media node scripts
parent
3ecd9885d6
commit
a4c8e02a3f
|
@ -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"
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue