eole-one-master/scripts/onehost_create_all
Philippe Caseiro 1a911bd9fc Utilisation du cluster par défaut ONE 5.0
Plutôt que de créer un cluster "par défaut" eole on utilise la
fonctionnalité incluse dans ONE 5.0

Toutes les resources sont automatiquement attachées au cluster défaut.

ref #16797 @2h
2016-07-21 15:17:42 +02:00

119 lines
2.8 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Register all Hâpy Cluster Nodes
#
. /usr/lib/eole/ihm.sh
#
# NAME: copy_ssh_id
# AIM: Copy the ssh key on the host
# PARAM: the hostname of the node
#
function copy_ssh_id()
{
local ip=${1}
su - ${ONEUSER} -c "ssh-copy-id ${ip}"
}
#
# NAME: register_node
# AIM: register the node in OpenNebula master
# PARAM: the node hostname
#
function register_node()
{
# ref https://dev-eole.ac-dijon.fr/issues/16797
#cmd="onehost create -i kvm -v kvm -n ovswitch -c \"$(CreoleGet one_cluster_name)\" ${1}"
cmd="onehost create -i kvm -v kvm -n ovswitch -c \"default\" ${1}"
ret=$(su - ${ONEUSER} -c -- "${cmd}")
return $?
}
#
# NAME: wait_node_ok
# AIM: Wait until the node is OK or ERROR
# PARAM: The node name
#
function wait_node_ok()
{
local RET=0
local cmd="onehost show ${1} | awk '/^STATE/ {print \$3}'"
local spinstr='|/-\'
local delay=0.75
while [ 1 ]
do
st=$(su - ${ONEUSER} -c "${cmd}")
[[ ${st} == "MONITORED" ]] && break
[[ ${st} == '' ]] && break
if [[ ${st} == "ERROR" ]]
then
RET=2
break
fi
local temp=${spinstr#?}
printf " [%c] " "$spinstr"
local spinstr=$temp${spinstr%"$temp"}
sleep $delay
printf "\b\b\b\b\b\b"
done
printf " \b\b\b\b"
return ${RET}
}
#
# MAIN
#
HAPY_ACTIF=$(echo $(CreoleGet activer_onesinglenode))
if [[ $HAPY_ACTIF == "non" ]]
then
EchoRouge "Le serveur de virtualisation n'est pas activé dans l'interface de configuration du module"
exit 1
fi
HAPY_NODE_SUPPORT=$(echo $(CreoleGet activer_multinode))
if [[ $HAPY_NODE_SUPPORT == "non" ]]
then
EchoRouge "Le mode multi-noeuds n'est pas activé dans l'interface de configuration du module"
exit 1
fi
declare -a HAPY_SLV=('')
declare -a HAPY_SLV_IP=('')
ONEUSER=$(CreoleGet virt_user)
HAPY_SLV=$(echo $(CreoleGet one_nodes) | sed -e "s/\n/ /g")
HAPY_SLV_IP=$(echo $(CreoleGet node_ip) | sed -e "s/\n/ /g")
echo -e "\n"
EchoBleu "Vous allez inscrire un noeud dans une grappe Hâpy"
EchoBleu "Pour ce faire vous devez vous munir du mot de passe de l'utilisateur 'oneadmin' de chacun des noeuds"
Question_ouinon "Voulez-vous commencer ?" 'True' "oui"
if [[ $? -ne 0 ]]
then
EchoOrange "Abandon de l'enregistrement"
exit 1
fi
for ((i = 0; i < ${#HAPY_SLV[*]}; i +=1))
do
echo -e "\n"
EchoOrange "Traitement du noeud ${HAPY_SLV[${i}]}"
echo
EchoVert " * Gestion des clés SSH"
echo
copy_ssh_id ${HAPY_SLV_IP[${i}]}
EchoVert " * Enregistrement du noeud"
register_node ${HAPY_SLV[${i}]}
wait_node_ok ${HAPY_SLV[${i}]}
if [[ ${?} -ne 0 ]]
then
EchoRouge "Erreur lors de l'enregistrement du noeud ${HAPY_SLV[${i}]} !"
fi
done
echo -e "\n"
EchoVert "Enregistrement des noeuds terminé"