summaryrefslogtreecommitdiffstats
path: root/installer/vagrant
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2017-04-26 08:15:30 +0000
committerramon <ramongomez@us.es>2017-04-26 08:15:30 +0000
commitccec614da35b823a3b40bfb4a78805607546ab0e (patch)
tree825186e35da855bca404c5b1889b766c1df0e231 /installer/vagrant
parent31d44a4eda13233baa77a9cf2847983dbadd674f (diff)
#739: Retocar fichero Vagrant para permitir reaprovisionamiento de servidor y solucionar problemas que pueden producirse durante una instalación previa de paquetes.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5279 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'installer/vagrant')
-rw-r--r--installer/vagrant/README.es.txt17
-rw-r--r--installer/vagrant/Vagrantfile-devel-vbox18
-rw-r--r--installer/vagrant/Vagrantfile-trunk-vbox20
3 files changed, 32 insertions, 23 deletions
diff --git a/installer/vagrant/README.es.txt b/installer/vagrant/README.es.txt
index 9bd86a64..10578404 100644
--- a/installer/vagrant/README.es.txt
+++ b/installer/vagrant/README.es.txt
@@ -14,30 +14,30 @@ Ficheros de configuración disponibles:
Requisitos previos.
- - Instalar Oracle VM VirtualBox 5.0 con su Extension Pack.
+ - Instalar Oracle VM VirtualBox 5.x con su Extension Pack.
- Instalar la última versión oficial de Vagrant (no usar la incluida en Ubuntu 14.04).
-El entorno de trabajo de OpenGnsys
+El entorno de trabajo de OpenGnsys.
- - ogAdministrator: MV para servidor OpenGnsys basada en Ubuntu 14.04 y 2º disco para repositorio.
- - ogClient01: MV cliente modelo con Ubuntu 14.04 instalado.
+ - ogAdministrator: MV para servidor OpenGnsys basada en Ubuntu 16.04 y 2º disco para repositorio.
+ - ogClient01: MV cliente modelo con Ubuntu 16.04 instalado.
- ogClient02 - ogclient0N: MV clientes para restaurar con disco vacío.
-Ejecutar el entorno virtual (Vagrantfile-trunk y Vagrantfile-devel).
+Ejecutar el entorno virtual (Vagrantfile-trunk-vbox y Vagrantfile-devel-vbox).
- Crear un directorio de trabajo.
- - Copiar el fichero Vagrantfile correspondiente en dicho directorio como Vagrantfile.
+ - Copiar el fichero Vagrantfile-...-vbox correspondiente en dicho directorio como Vagrantfile.
- Opcional: editar las variables de configuración del fichero Vagrantfile para el entorno personal.
- LANGUAGE: idioma (se aceptan es_ES, ca_ES y en_GB).
- NCLIENTS: nº de clientes a generar (de 2 a 9).
- - REPODISK, REPOSIZE: fichero y tamaño (en GB) del disco duro virtual para el repositorio de imágenes.
+ - REPODISK, REPOSIZE: fichero y tamaño (en GB) del disco virtual para el repositorio de imágenes.
- SERVERMEM, CLIENTMEM: memoria virtual (en MB) para servidor y clientes (mínimo 256 MB).
- NETPREFIX: prefijo para las direcciones IP de la red virtual.
- MACPREFIX: prefijo para las direcciones MAC de los clientes.
- LOCALWEBPORT: puerto local para acceder al web de administración del servidor.
- - Opcional: para una definición automática del aula virtual con sus 2 clientes, descomentar las líneas del fichero Vagrantfile de los comandos "mysql" y "setclientmode".
+ - Opcional: para una definición automática del aula virtual con sus clientes, descomentar las líneas del fichero Vagrantfile de los comandos "mysql" y "setclientmode".
- Iniciar la MV del servidor:
vagrant up
@@ -49,6 +49,7 @@ Ejecutar el entorno virtual (Vagrantfile-trunk y Vagrantfile-devel).
Notas:
- Los procesos de inicio pueden tardar varios minutos en la primera ejecución, porque descargan y configuran las máquinas virtuales.
+ - Si se producen errores al instalar paquetes en el servidor, volver a aprovisionarlo ejecutando "vagrant provision" (o "vagrant up --provision", si la MV está parada).
- Antes de iniciar las MV de los clientes, debe accederse a la web de OpenGnsys para crear el aula e incorporar los equipos (o revisar que los datos son correctos).
- Ignorar los errores de conexión de Vagrant con los clientes vacíos.
diff --git a/installer/vagrant/Vagrantfile-devel-vbox b/installer/vagrant/Vagrantfile-devel-vbox
index 9cc70c56..e9a0f67a 100644
--- a/installer/vagrant/Vagrantfile-devel-vbox
+++ b/installer/vagrant/Vagrantfile-devel-vbox
@@ -22,13 +22,16 @@ LOCALWEBPORT = 8443
# OpenGnsys Server provisioning script: prepare repo disk, install OpenGnsys, change default interface, configure DHCP server.
OGSERVERSCRIPT = <<EOT
-# Mount repository disk.
-test -n "$(blkid /dev/sdb1 | grep ext4)" && exit
-echo -e "o\nn\np\n\n\n\nw" | fdisk /dev/sdb
-mkfs -t ext4 /dev/sdb1
-mkdir -p /opt/opengnsys/images
-echo "/dev/sdb1 /opt/opengnsys/images ext4 defaults 0 0" >> /etc/fstab
-mount -a
+# Exit if OpenGnsys is installed.
+[ -f /opt/opengnsys/doc/VERSION.txt ] && echo "Cannot provision, OpenGnsys is already installed." && exit 1
+# Mount repository disk, if necesary.
+if [ -n "$(blkid /dev/sdb1 | grep ext4)" ]; then
+ echo -e "o\nn\np\n\n\n\nw" | fdisk /dev/sdb
+ mkfs -t ext4 /dev/sdb1
+ mkdir -p /opt/opengnsys/images
+ echo "/dev/sdb1 /opt/opengnsys/images ext4 defaults 0 0" >> /etc/fstab
+ mount -a
+fi
# Install OpenGnsys and change server address.
wget -q http://opengnsys.es/svn/branches/version1.1/installer/opengnsys_installer.sh -O - | bash || exit $?
mv /opt/opengnsys/log/bash.log /opt/opengnsys/log/opengnsys_installer.log
@@ -78,6 +81,7 @@ dpkg-reconfigure -fnoninteractive console-setup
echo "Notes:"
echo "- OpenGnsys Server URL: https://localhost:#{LOCALWEBPORT}/opengnsys/"
[ -d /opt/opengnsys/www/angular ] && echo "- Angular-based web URL: https://localhost:#{LOCALWEBPORT}/opengnsys/angular/ogWebAdmin/"
+exit 0
EOT
# Client 1 OS provisioning script.
diff --git a/installer/vagrant/Vagrantfile-trunk-vbox b/installer/vagrant/Vagrantfile-trunk-vbox
index 646c3a62..efd4e9ab 100644
--- a/installer/vagrant/Vagrantfile-trunk-vbox
+++ b/installer/vagrant/Vagrantfile-trunk-vbox
@@ -22,15 +22,19 @@ LOCALWEBPORT = 8443
# OpenGnsys Server provisioning script: prepare repo disk, install OpenGnsys, change default interface, configure DHCP server.
OGSERVERSCRIPT = <<EOT
-# Mount repository disk.
-test -n "$(blkid /dev/sdb1 | grep ext4)" && exit
-echo -e "o\nn\np\n\n\n\nw" | fdisk /dev/sdb
-mkfs -t ext4 /dev/sdb1
-mkdir -p /opt/opengnsys/images
-echo "/dev/sdb1 /opt/opengnsys/images ext4 defaults 0 0" >> /etc/fstab
-mount -a
+# Exit if OpenGnsys is installed.
+[ -f /opt/opengnsys/doc/VERSION.txt ] && echo "Cannot provision, OpenGnsys is already installed." && exit 1
+# Mount repository disk, if necesary.
+if [ -n "$(blkid /dev/sdb1 | grep ext4)" ]; then
+ echo -e "o\nn\np\n\n\n\nw" | fdisk /dev/sdb
+ mkfs -t ext4 /dev/sdb1
+ mkdir -p /opt/opengnsys/images
+ echo "/dev/sdb1 /opt/opengnsys/images ext4 defaults 0 0" >> /etc/fstab
+ mount -a
+fi
# Install OpenGnsys and change server address.
-wget -q http://opengnsys.es/svn/trunk/installer/opengnsys_installer.sh -O - | bash
+wget -q http://opengnsys.es/svn/trunk/installer/opengnsys_installer.sh -O - | bash || exit $?
+mv /opt/opengnsys/log/bash.log /opt/opengnsys/log/opengnsys_installer.log
echo y | sudo /opt/opengnsys/bin/setserveraddr eth1
# Insert DHCP data.
for ((i=#{NCLIENTS}; i>0; i--)); do