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"
|
||||
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"
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue