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
This commit is contained in:
Philippe Caseiro 2016-07-21 14:32:53 +02:00
parent 051136ac81
commit 1a911bd9fc
4 changed files with 89 additions and 78 deletions

View File

@ -24,9 +24,6 @@
<value>oui</value>
</variable>
<variable name='vnet_pilote' type='string' description='Pilote réseau' hidden='True' />
<variable name='one_cluster_name' type='string' description="Nom de la grappe OpenNebula" mode='expert' auto_freeze='True' mandatory="True">
<value></value>
</variable>
<variable name='vnets' type='string' description='Réseaux virtuels Niveau 3' multi='True'/>
<variable name='vnet_network_addr' type='ip' description='Adresse du réseau'/>
<variable name='vnet_network_mask' type='netmask' description='Masque du réseau'/>
@ -114,10 +111,6 @@
<param>openvswitch</param>
<param type="eole" name="condition_1">vnet_pilote</param>
</auto>
<fill name='concat' target='one_cluster_name'>
<param>CL-</param>
<param type='eole'>numero_etab</param>
</fill>
<check name='valid_enum' target='one_video_driver'>
<param>['qxl','vga','std','cirrus']</param>
@ -127,7 +120,6 @@
<condition name='disabled_if_in' source='activer_onesinglenode'>
<param>non</param>
<target type='filelist'>onesinglenode</target>
<target type='variable'>one_cluster_name</target>
<target type='variable'>one_ds_system_prefix</target>
<target type='variable'>one_ds_iso_name</target>
<target type='variable'>one_ds_image_name</target>

View File

@ -21,42 +21,44 @@ function get_one_auth()
${CMD} ${FILE}
}
function check_cluster()
{
name="${1}"
cmd="onecluster"
opt="list"
auth=$(get_one_auth)
# ref https://dev-eole.ac-dijon.fr/issues/16797
#function check_cluster()
#{
# name="${1}"
# cmd="onecluster"
# opt="list"
# auth=$(get_one_auth)
#
# res=0
# clst_list=$(${cmd} ${opt} --user ${auth%:*} --password ${auth#*:} | tail -n +2 | awk -F ' ' '{print $2}')
# for hst in ${clst_list}
# do
# [[ "${NAME}" = "${hst}" ]] && res=$((res+1))
# done
# return ${res}
#}
res=0
clst_list=$(${cmd} ${opt} --user ${auth%:*} --password ${auth#*:} | tail -n +2 | awk -F ' ' '{print $2}')
for hst in ${clst_list}
do
[[ "${NAME}" = "${hst}" ]] && res=$((res+1))
done
return ${res}
}
function manage_cluster()
{
NAME="${1}"
CMD="onecluster create"
AUTH=$(get_one_auth)
check_cluster ${clst_name}
if [[ ${?} -eq 0 ]]
then
crt=$(${CMD} --user ${AUTH%:*} --password ${AUTH#*:} ${NAME})
if [[ ${?} -ne 0 ]]
then
error "Cluster create failed"
else
echo "Cluster ${NAME} created"
fi
else
echo "Cluster \"${NAME}\" already exist"
fi
}
# ref https://dev-eole.ac-dijon.fr/issues/16797
#function manage_cluster()
#{
# NAME="${1}"
# CMD="onecluster create"
# AUTH=$(get_one_auth)
#
# check_cluster ${clst_name}
# if [[ ${?} -eq 0 ]]
# then
# crt=$(${CMD} --user ${AUTH%:*} --password ${AUTH#*:} ${NAME})
# if [[ ${?} -ne 0 ]]
# then
# error "Cluster create failed"
# else
# echo "Cluster ${NAME} created"
# fi
# else
# echo "Cluster \"${NAME}\" already exist"
# fi
#}
function check_host()
{
@ -190,7 +192,9 @@ function attach_host()
{
HOST=${1}
CLST=${2}
CLST_ID=$(get_cluster_id_by_name ${CLST})
# ref https://dev-eole.ac-dijon.fr/issues/16797
#CLST_ID=$(get_cluster_id_by_name ${CLST})
CLST_ID=0
HST_ID=$(get_host_id_by_name ${HOST})
AUTH=$(get_one_auth)
CMD="onecluster"
@ -226,32 +230,34 @@ function attach_host()
#
# Attach a datastore to a cluster
#
function attach_ds_to_cluster()
{
DS=${1}
CLST=${2}
CLST_ID=$(get_cluster_id_by_name ${CLST})
DS_ID=$(get_ds_id_by_name ${ds_name})
AUTH=$(get_one_auth)
CMD="onecluster"
OPT="adddatastore ${CLST_ID} ${DS_ID}"
RES=$(${CMD} ${OPT} --user ${AUTH%:*} --password ${AUTH#*:})
if [[ ${?} -ne 0 ]]
then
error "Attaching ${DS} to ${CLST} failed."
else
echo "Datastore ${DS} attached to ${CLST}."
return 0
fi
return 0
}
# ref https://dev-eole.ac-dijon.fr/issues/16797
#function attach_ds_to_cluster()
#{
# DS=${1}
# CLST=${2}
# CLST_ID=$(get_cluster_id_by_name ${CLST})
# DS_ID=$(get_ds_id_by_name ${ds_name})
# AUTH=$(get_one_auth)
# CMD="onecluster"
# OPT="adddatastore ${CLST_ID} ${DS_ID}"
#
# RES=$(${CMD} ${OPT} --user ${AUTH%:*} --password ${AUTH#*:})
# if [[ ${?} -ne 0 ]]
# then
# error "Attaching ${DS} to ${CLST} failed."
# else
# echo "Datastore ${DS} attached to ${CLST}."
# return 0
# fi
# return 0
#}
function create_datastore()
{
ds_type="${1}"
ds_name="${2}"
ds_cluster="${3}"
# ref https://dev-eole.ac-dijon.fr/issues/16797
#ds_cluster="${3}"
if [[ $(CreoleGet activer_multinode 2>&1) == 'oui' ]]
then
@ -297,12 +303,12 @@ __EOF__
auth=$(get_one_auth)
cmd="onedatastore"
#opt="create --user ${AUTH%:*} --password ${AUTH#*:} -c ${ds_cluster} ${TMPL_FILE}"
opt="create --user ${AUTH%:*} --password ${AUTH#*:} ${TMPL_FILE}"
RUN=$(${cmd} ${opt})
if [[ ${?} -eq 0 ]]
then
attach_ds_to_cluster ${ds_name} ${ds_cluster}
# ref https://dev-eole.ac-dijon.fr/issues/16797
#attach_ds_to_cluster ${ds_name} ${ds_cluster}
rm ${TMPL_FILE}
return 0
else
@ -385,10 +391,13 @@ __EOF__
function manage_datastores()
{
cluster=${1}
# ref https://dev-eole.ac-dijon.fr/issues/16797
#cluster=${1}
AUTH=$(get_one_auth)
SYSTEM_DS="$(CreoleGet 'one_ds_system_prefix')${cluster}"
# ref https://dev-eole.ac-dijon.fr/issues/16797
#SYSTEM_DS="$(CreoleGet 'one_ds_system_prefix')${cluster}"
SYSTEM_DS="$(CreoleGet 'one_ds_system_prefix')default"
ISO_DS=$(CreoleGet 'one_ds_iso_name')
IMAGE_DS=$(CreoleGet 'one_ds_image_name')
@ -396,7 +405,9 @@ function manage_datastores()
sid=$(get_ds_id_by_name ${SYSTEM_DS})
if [[ ${sid} = "ERR" ]]
then
create_datastore "SYSTEM" "${SYSTEM_DS}" "${cluster}"
# ref https://dev-eole.ac-dijon.fr/issues/16797
#create_datastore "SYSTEM" "${SYSTEM_DS}" "${cluster}"
create_datastore "SYSTEM" "${SYSTEM_DS}"
else
update_datastore ${AUTH} ${sid}
fi
@ -404,7 +415,9 @@ function manage_datastores()
imgid=$(get_ds_id_by_name ${IMAGE_DS})
if [[ ${imgid} = "ERR" ]]
then
create_datastore "IMAGE" "${IMAGE_DS}" "${cluster}"
# ref https://dev-eole.ac-dijon.fr/issues/16797
#create_datastore "IMAGE" "${IMAGE_DS}" "${cluster}"
create_datastore "IMAGE" "${IMAGE_DS}"
else
update_datastore ${AUTH} ${imgid}
fi
@ -412,7 +425,9 @@ function manage_datastores()
isoid=$(get_ds_id_by_name ${ISO_DS})
if [[ ${isoid} = "ERR" ]]
then
create_datastore "ISO" "${ISO_DS}" "${cluster}"
# ref https://dev-eole.ac-dijon.fr/issues/16797
#create_datastore "ISO" "${ISO_DS}" "${cluster}"
create_datastore "ISO" "${ISO_DS}"
else
update_datastore ${AUTH} ${isoid}
fi
@ -423,9 +438,9 @@ function main()
{
#
# Creating Cluster
#
clst_name=$(CreoleGet one_cluster_name)
manage_cluster ${clst_name}
# ref https://dev-eole.ac-dijon.fr/issues/16797
#clst_name=$(CreoleGet one_cluster_name)
#manage_cluster ${clst_name}
#
# Creating Host
@ -439,7 +454,7 @@ function main()
#
# Attaching Host to the Cluster
#
attach_host ${host} ${clst_name}
attach_host ${host} "default"
#
# Création des Datastores

View File

@ -289,7 +289,9 @@ def main():
client = CreoleClient()
one_client = OneClient('oneadmin')
networks = []
cluster = client.get_creole('one_cluster_name')
# ref https://dev-eole.ac-dijon.fr/issues/16797
# cluster = client.get_creole('one_cluster_name')
cluster = "default"
swname = client.get_creole('ovs_sw_name')
zones = client.get_creole('vnets')
vlans = client.get_creole('vnet_vlan_tag')

View File

@ -24,7 +24,9 @@ function copy_ssh_id()
#
function register_node()
{
cmd="onehost create -i kvm -v kvm -n ovswitch -c \"$(CreoleGet one_cluster_name)\" ${1}"
# 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 $?
}