Skip to content
Snippets Groups Projects
launcher.sh 3.75 KiB
#!/bin/bash
set -e
# This script installs a MS/worker/campus-manager/cache/MV using envsetup on a system

# Prerequisites
# 1. create DNS entries
#	alpha.ubicast.net
#	alpha-cm.ubicast.net
#	alpha-mon.ubicast.net
# 2. create system in panel
# 3. launcher.sh

# log
LOGFILE=/root/$(date +%F)_envsetup.log
exec > >(tee -i ${LOGFILE})

## envsetup action calls
init() {
    python3 /root/envsetup/envsetup.py 31
    python3 /root/envsetup/envsetup.py 32
    python3 /root/envsetup/envsetup.py 33
    python3 /root/envsetup/envsetup.py 34
    python3 /root/envsetup/envsetup.py 35

    python3 /root/envsetup/envsetup.py 11
    python3 /root/envsetup/envsetup.py 12
    python3 /root/envsetup/envsetup.py 13

    python3 /root/envsetup/envsetup.py 21
    python3 /root/envsetup/envsetup.py 22
}

monitor() {
    python3 /root/envsetup/envsetup.py 23
    python3 /root/envsetup/envsetup.py 25
    python3 /root/envsetup/envsetup.py 26
    python3 /root/envsetup/envsetup.py 41
}

mediaserver() {
    python3 /root/envsetup/envsetup.py 23
    python3 /root/envsetup/envsetup.py 24
    python3 /root/envsetup/envsetup.py 71
    python3 /root/envsetup/envsetup.py 25
    python3 /root/envsetup/envsetup.py 51
    python3 /root/envsetup/envsetup.py 52
    python3 /root/envsetup/envsetup.py 53
    python3 /root/envsetup/envsetup.py 25
}

worker() {
    python3 /root/envsetup/envsetup.py 72
}

campusmanager() {
    python3 /root/envsetup/envsetup.py 23
    python3 /root/envsetup/envsetup.py 25
    python3 /root/envsetup/envsetup.py 61
    python3 /root/envsetup/envsetup.py 25
}

cache() {
    python3 /root/envsetup/envsetup.py 81
    python3 /root/envsetup/envsetup.py 82
    python3 /root/envsetup/envsetup.py 25
    python3 /root/envsetup/envsetup.py 26
}

tests() {
    python3 /root/envsetup/tester.py
}

backup_server() {
    python3 /root/envsetup/envsetup.py 91
}

reconf_client() {
    python3 /root/envsetup/envsetup.py 201
}

reconf_dump_config() {
    python3 /root/envsetup/envsetup.py 202
}

reconf_smtp() {
    python3 /root/envsetup/envsetup.py 203
}

reconf_default() {
    python3 /root/envsetup/envsetup.py 204
}

wowza_license() {
    python3 /root/envsetup/envsetup.py 205
}

exportvm() {
    python3 /root/envsetup/envsetup.py 101
}

exportvm_local(){
    python3 /root/envsetup/envsetup.py 102
}

case "$1" in
    "ms")
        init
        monitor
        campusmanager
        mediaserver
        tests
    ;;

    "w")
        init
        worker
        tests
    ;;

    "cm")
        init
        monitor
        campusmanager
        tests
    ;;

    "cache")
        init
        cache
    ;;

    "mv")
        init
        backup_server
    ;;

    "reconf")
        reconf_default
    ;;

    "client")
        reconf_client
        reconf_dump_config
        reconf_smtp
    ;;

    "recette")
        reconf_dump_config
    ;;

    "wrecette")
        wowza_license
        reconf_dump_config
    ;;

    "exportvm")
        CONF=$(echo "$2")
        exportvm
    ;;
    
    "exportvm_local")
		VM_NAME=$(echo "$2")
        exportvm_local
    ;;
   

    *)
        echo "
Usage: $0 [arg]
ms          build a MediaServer & CM
w           build a Worker
cm          build a Campus-Manager
cache       build a Cache server (munin needs manual configuration on master AND node)
mv          build a MediaVault

--------------------------------------
reconf      install a tool for post-shipping configuration
client	    deploy client configuration
--------------------------------------
recette     run tests
wrecette    deploy wowza license key and run tests


After usage a log file will be generated under /root/$(date +%F)_envsetup.log

From admin machine :
Usage: $0 exportvm
exportvm        [conf_file]    export VM from an hypervisor
exportvm_local  [vm name]      export VM from local vbox
"
    ;;
esac