Skip to content
Snippets Groups Projects
launcher.sh 3.75 KiB
Newer Older
Stéphane Diemer's avatar
Stéphane Diemer committed
#!/bin/bash
set -e
# This script installs a MS/worker/campus-manager/cache/MV using envsetup on a system
Stéphane Diemer's avatar
Stéphane Diemer committed

Stéphane Diemer's avatar
Stéphane Diemer committed
# Prerequisites
# 1. create DNS entries
#	alpha.ubicast.net
#	alpha-cm.ubicast.net
#	alpha-mon.ubicast.net
# 2. create system in panel
# 3. launcher.sh
Stéphane Diemer's avatar
Stéphane Diemer committed

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

## envsetup action calls
Stéphane Diemer's avatar
Stéphane Diemer committed
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
Stéphane Diemer's avatar
Stéphane Diemer committed
}

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
Stéphane Diemer's avatar
Stéphane Diemer committed
}

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
Stéphane Diemer's avatar
Stéphane Diemer committed
}

worker() {
    python3 /root/envsetup/envsetup.py 72
Stéphane Diemer's avatar
Stéphane Diemer committed
}

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
Stéphane Diemer's avatar
Stéphane Diemer committed
}

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
Stéphane Diemer's avatar
Stéphane Diemer committed
}

tests() {
    python3 /root/envsetup/tester.py
Stéphane Diemer's avatar
Stéphane Diemer committed
}

backup_server() {
    python3 /root/envsetup/envsetup.py 91
Stéphane Diemer's avatar
Stéphane Diemer committed
}

reconf_client() {
    python3 /root/envsetup/envsetup.py 201
reconf_dump_config() {
    python3 /root/envsetup/envsetup.py 202
Stéphane Diemer's avatar
Stéphane Diemer committed
}

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

reconf_default() {
    python3 /root/envsetup/envsetup.py 204
    python3 /root/envsetup/envsetup.py 205
Stéphane Diemer's avatar
Stéphane Diemer committed
}

exportvm() {
    python3 /root/envsetup/envsetup.py 101
Julien Allary's avatar
Julien Allary committed
exportvm_local(){
    python3 /root/envsetup/envsetup.py 102
Stéphane Diemer's avatar
Stéphane Diemer committed
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
Stéphane Diemer's avatar
Stéphane Diemer committed
        reconf_smtp
    ;;

    "recette")
        reconf_dump_config
Stéphane Diemer's avatar
Stéphane Diemer committed
    ;;

    "wrecette")
        reconf_dump_config
Stéphane Diemer's avatar
Stéphane Diemer committed
    ;;

    "exportvm")
        CONF=$(echo "$2")
        exportvm
    ;;
Julien Allary's avatar
Julien Allary committed
    
    "exportvm_local")
		VM_NAME=$(echo "$2")
        exportvm_local
    ;;
   
Stéphane Diemer's avatar
Stéphane Diemer committed

    *)
        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 :
Julien Allary's avatar
Julien Allary committed
Usage: $0 exportvm
exportvm        [conf_file]    export VM from an hypervisor
exportvm_local  [vm name]      export VM from local vbox
"
Stéphane Diemer's avatar
Stéphane Diemer committed
    ;;
esac