539f5a3bd3
L’utilisation de « LOCALTIME » pour les modèles de VM EOLE peut-être problématique. Pour les postes Linux, elle entraîne un décalage de l’horloge au démarrage de la machine virtuelle qui devra être corrigé par ntp. Ce qui peut entraîner des soucis avec certains services comme mysql. * postservice/99-init-hapy-master (FEATURES): Suppression de « LOCALTIME ». Ref: #18448
109 lines
3.3 KiB
Bash
Executable File
109 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
[ $(CreoleGet hapy_init_master) == non ] && exit 0
|
|
|
|
DISKSIZE=$(CreoleGet hapy_init_master_disk_size)
|
|
DISKNAME="DSK-${DISKSIZE}-Go"
|
|
DISKDESC="Disque vide de ${DISKSIZE} Go"
|
|
|
|
VERSIONISO=$(CreoleGet hapy_init_master_iso_version)
|
|
MAJORVERSION=${VERSIONISO:0:3}
|
|
ISONAME="ISO-Eole-${VERSIONISO}-amd64"
|
|
ISODESC="Image ISO EOLE Stable ${VERSIONISO} 64 bits"
|
|
|
|
TMPLNAME="InstallEole-${VERSIONISO}-amd64"
|
|
TMPLDESC="Modèle de VM permettant d'installer un module EOLE ${VERSIONISO} 64 bits (non persistente)"
|
|
|
|
echo "########### suppr ${DISKNAME} ###############"
|
|
oneimage delete ${DISKNAME}
|
|
echo
|
|
echo "########### suppr ${ISONAME} ###################"
|
|
oneimage delete ${ISONAME}
|
|
echo
|
|
echo "########### suppr ${TMPLNAME} ###################"
|
|
onetemplate delete ${TMPLNAME}
|
|
echo
|
|
|
|
#*****************************************************
|
|
# DISQUE VIDE
|
|
#*****************************************************
|
|
if ! oneimage show "${DISKNAME}" &>/dev/null
|
|
then
|
|
echo "***** Création de ${DISKNAME} *****"
|
|
oneimage create -d $(CreoleGet one_ds_image_name) --name "${DISKNAME}" --type DATABLOCK --description "${DISKDESC}" --size $((${DISKSIZE}*1024)) --prefix vd --driver qcow2 --fstype qcow2
|
|
oneimage chtype "${DISKNAME}" OS
|
|
else
|
|
echo "***** ${DISKNAME} existe déjà *****"
|
|
fi
|
|
echo
|
|
|
|
#*****************************************************
|
|
# Image ISO EOLE Latest Stable
|
|
#*****************************************************
|
|
if ! oneimage show "${ISONAME}" &>/dev/null
|
|
then
|
|
echo "***** Téléchargement de ${ISONAME} *****"
|
|
wget --output-document "/tmp/eole-${VERSIONISO}-alternate-amd64.iso" "http://eole.ac-dijon.fr/pub/iso/EOLE-${MAJORVERSION}/${VERSIONISO}/eole-${VERSIONISO}-alternate-amd64.iso"
|
|
echo "***** Création de ${ISONAME} *****"
|
|
if [ $? -ne 0 ]; then
|
|
echo "Erreur lors du téléchargement, Abandon"
|
|
exit 1
|
|
fi
|
|
|
|
FILE=$(mktemp)
|
|
cat > ${FILE} <<EOF
|
|
NAME="${ISONAME}"
|
|
TYPE="CDROM"
|
|
DESCRIPTION="${ISODESC}"
|
|
DEV_PREFIX="hd"
|
|
PATH="/tmp/eole-${VERSIONISO}-alternate-amd64.iso"
|
|
PERSISTENT="No"
|
|
EOF
|
|
oneimage create -d $(CreoleGet one_ds_iso_name) ${FILE}
|
|
/bin/rm -f ${FILE}
|
|
for i in `seq 60`
|
|
do
|
|
sleep 1
|
|
#oneimage show ${ISONAME} | grep STATE | grep rdy &>/dev/null && break
|
|
oneimage show ${ISONAME} | grep STATE | grep lock &>/dev/null || break
|
|
echo -n "Attente : "
|
|
oneimage show ${ISONAME} | grep STATE
|
|
done
|
|
rm -f "/tmp/eole-${VERSIONISO}-alternate-amd64.iso"
|
|
else
|
|
echo "***** ${ISONAME} existe déjà *****"
|
|
fi
|
|
echo
|
|
|
|
|
|
#*****************************************************
|
|
# Template EOLEBASE
|
|
#*****************************************************
|
|
if ! onetemplate show "${TMPLNAME}" &>/dev/null
|
|
then
|
|
echo "***** Création de ${TMPLNAME} *****"
|
|
FILE=$(mktemp)
|
|
cat > ${FILE} <<EOF
|
|
NAME="${TMPLNAME}"
|
|
DESCRIPTION="${TMPLDESC}"
|
|
INPUT=[BUS="usb",TYPE="tablet"]
|
|
CPU="0.2"
|
|
DISK=[DEV_PREFIX="vd",IMAGE_UNAME="oneadmin",IMAGE="${DISKNAME}",DRIVER="qcow2"]
|
|
DISK=[DEV_PREFIX="hd",IMAGE_UNAME="oneadmin",IMAGE="${ISONAME}",DRIVER="raw"]
|
|
FEATURES=[ACPI="yes",PAE="no"]
|
|
VCPU="1"
|
|
GRAPHICS=[LISTEN="0.0.0.0",TYPE="vnc",KEYMAP="fr"]
|
|
OS=[BOOT="hd,cdrom",ARCH="x86_64"]
|
|
MEMORY="1024"
|
|
EOF
|
|
#NIC=[MODEL="virtio",NETWORK="CR_eole"]
|
|
onetemplate create ${FILE}
|
|
|
|
/bin/rm -f ${FILE}
|
|
else
|
|
echo "***** ${TMPLNAME} existe déjà *****"
|
|
fi
|
|
echo
|
|
exit 0
|
|
|