#!/bin/bash

. /usr/lib/eole/ihm.sh
. /usr/lib/eole/utils.sh

activer_haute_dispo=$(CreoleGet activer_haute_dispo)

# Si haute dispo, on arrête ipsec et arv. Les lancements seront gérés par Corosync
if [ "${activer_haute_dispo}" != "non" ]
then
    if [ ! -e /etc/ha.d/.rsc_list ]
    then
        if  [ "${activer_haute_dispo}" = "maitre" ]
        then
            EchoOrange "La haute disponibilité n'a pas été configurée !!!"
            EchoOrange "N'oubliez pas de lancer le script appliquer_hautedispo"
            exit 0
        elif [ "${activer_haute_dispo}" = "esclave" ]
        then
            EchoOrange "La synchronisation n'a pas été exécutée sur le noeud maître !!!"
            if [ $1 = "instance" ]
            then
                EchoOrange "Vous pouvez exécuter dès maintenant depuis le noeud maître le script synchro-nodes.sh"
                EchoOrange "Vous aurez 2 minutes à partir du moment où vous aurez répondu à la question suivante :"
                Question_ouinon "Voulez-vous attendre que le script synchro-nodes.sh soit exécuté sur le noeud maître ?" "True" "non"
                rep=$?
            else
                rep=1
            fi
            if [ $rep -eq 0 ]
            then
                wait_true_retcode "Attente synchro-nodes.sh maître " "[ -e /etc/ha.d/.rsc_list ]"
            else
                EchoOrange "Il faudra relancer '/usr/share/eole/postservice/01-haute-dispo-sphynx instance' quand le script 'synchro-nodes.sh' aura été correctement exécuté depuis le noeud maître."
                exit 0
            fi
        fi
    fi
    for service_link in /etc/rc3.d/*
    do
        while IFS=" " read rsc_type rsc_name rsc_sce rsc_location
        do
            # On désactive le service arv si il est supervisé
            if [ "${rsc_sce}" = "arv" ]
            then
                systemctl disable arv.service > /dev/null 2>&1
                break
            fi
        done < /etc/ha.d/.rsc_list
    done
fi

# Si pas de haute dispo, on ajoute arv s'il n'existe pas au niveau des rc
if [ "${activer_haute_dispo}" == "non" ]
then
    arv_exists=0
    for service_link in /etc/rc3.d/*
    do
        if [[ "${service_link}" =~ S[0-9]*arv ]]
        then
            arv_exists=1
        fi
    done
    if [ $arv_exists -eq 0 ]
    then
        systemctl enable arv.service > /dev/null 2>&1
        service arv start
    fi
fi

