wiki:DocumentacionUsuario1.1.0/EntornosVagrant

Version 9 (modified by ramon, 6 years ago) (diff)

Actaulizar información de máquinas virtuales disponibles.

Entornos de desarrollo estandarizados

Se pretende generar un conjunto de entornos para desarrollo y pruebas de los distintos componentes de OpenGnsys, utilizando herramientas de despliegue automático sobre máquinas virtuales o contenedores.

En una primera instancia, todos los entornos de trabajo se desplegarán utilizando Vagrant (https://www.vagrantup.com/) sobre máquinas virtuales ejecutadas con VirtualBox (https://www.virtualbox.org/).

Requisitos previos

  • Instalar Oracle VM VirtualBox 5.0 con su Extension Pack.
  • Instalar la última versión oficial de Vagrant (no usar la incluida en Ubuntu 14.04).
  • Crear un directorio de trabajo para dicho entorno.
  • Descargar en dicho directorio el fichero de configuración del entorno deseado y renombrarlo como Vagrantfile.

Entornos definidos

Los ficheros de configuración de Vagrant para los distintos entornos definidos en OpenGnsys 1.1 pueden descargarse de la sección de código fuente del proyecto o se encuentran en el directorio branches/version1.1/installer/vagrant, si se ha obtenido una copia local del código de OpenGnsys.

Fichero Entorno Recomendado para
Vagrantfile-trunk-vboxVagrantfile para la versión oficial de OpenGnsys (1.0.x).Pruebas en general
Vagrantfile-devel-vboxVagrantfile para la versión de desarrollo de OpenGnsys (1.1.x).Pruebas y desarrollo general
Vagrantfile-boottools-vboxVagrantfile para preparar el entorno de generación del cliente ogLiveDesarrolladores experimentados
Vagrantfile-browser-vboxVagrantfile para preparar el entorno de compilación del Browser del clienteMiembros del grupo de desarrollo
Vagrantfile-ogagent-vboxVagrantfile para preparar el entorno de desarrollo del agente OGAgentMiembros del grupo de desarrollo

Entornos de pruebas de OpenGnsys

Ambos entornos de pruebas definen el mismo conjunto de máquinas virtuales, por lo que son mutuamente excluyentes.

MV Descripción
ogAdministratorServidor OpenGnsys (basado en Ubuntu 14.04 para la versión 1.0 y en Ubuntu 16.04 para la versión 1.1) con 2º disco para repositorio
ogClient01Cliente modelo (con Ubuntu 14.04 para la versión 1.0 y Ubuntu 16.04 para la versión 1.1) instalado en una única partición
ogClient02 - ogclient0NClientes para restaurar con disco vacío y arranque PXE

Configurar entorno de pruebas

Una vez elegido el entorno de pruebas deseado, opcionalmente puede editarse el fichero Vagrantfile para personalizar los valores de sus variables de configuración.

Variable Descripción Por omisión
LANGUAGEIdioma (se aceptan es_ES, ca_ES y en_GB)es_ES
NCLIENTSNº de clientes a generar (de 2 a 9)4
REPODISKFichero del disco duro virtual para el repositorio de imágenesogRepo.vdi
REPOSIZETamaño (en GB) del disco duro virtual para el repositorio de imágenes50
SERVERMEMMemoria virtual (en MB) para el servidor OpenGnsys1024
CLIENTMEMMemoria virtual (en MB) para los clientes512
NETPREFIXPrefijo para las direcciones IP de la red virtual192.168.2.
MACPREFIXPrefijo para las direcciones MAC de los clientes08:00:27:0E:65:
LOCALWEBPORTPuerto local para acceder al web de administración de OpenGnsys8443

Aviso: el ordenador que ejecute este entorno deberá disponer de una cantidad de memoria superior al valor de SERVERMEM+NCLIENTS*CLIENTMEM (en MB).

Adicionalmente, los usuarios más experimentados pueden editar el fichero Vagranfile para insertar automáticamente en el servidor OpenGnsys la definición automática de un aula virtual con sus clientes incorporados, descomentando las órdenes relacionadas con los comandos mysql y setclientmode. Nota: no se recomienda que realicen esta operación los usuarios noveles que están aprendiendo el manejo de OpenGnsys.

Iniciar el entorno

Las máquinas virtuales deben iniciarse por primera vez en el siguiente orden, esperando a la finalización de cada operación.

  1. Iniciar la MV del servidor OpenGnsys:
    vagrant up
    
  2. Si no se ha preparado la inserción automática de datos, acceder al servidor OpenGnsys para crear un aula e incorporar los ordenadores de los clientes (https://localhost:8443/opengnsys/, o el puerto especificado en la variable LOCALWEBPORT).
  3. Iniciar las MV del cliente modelo (tras iniciar el servidor):
    vagrant up ogClient01
    
  4. Usar VirtualBox para apagar esta máquina virtual y deshabilitar su interfaz de red 1.
  5. Iniciar las MV de los clientes vacíos para restaurar (siendo X de 2 al nº máximo definido):
    vagrant up ogClient0X
    

Nota:

  • Los procesos de inicio pueden tardar varios minutos en la primera ejecución, porque descargan y configuran las máquinas virtuales.
  • Ignorar los errores de conexión de Vagrant con los clientes vacíos.

IMPORTANTE: una vez que las máquinas virtuales estén definidas correctamente, dejar de usar Vagrant para su manejo y utilizar únicamente las herramientas VirtualBox.

Notas sobre la máquina virtual del servidor OpenGnsys

  • Debe estar iniciada en primer lugar y activa para gestionar los clientes.
  • Usuario/clave para acceso SSH: vagrant/vagrant.
  • La interfaz 2 de VirtualBox está definida en la red privada para las MV del entorno de pruebas.
  • Instalación de OpenGnsys Server con datos de acceso por defecto.
  • Para acceder a la web de administración de OpenGnsys, utilizar un navegador del host local con la URL https://localhost:8443/opengnsys/ (o el puerto indicado en la variable LOCALWEBPORT del fichero de despliegue).
  • Si no se han quitado los comentarios para la configuración automática, incluir en el DHCP las direcciones MAC de los clientes según lo indicado en la definición de la interfaz 2 de cada MV en VirtualBox.

Notas sobre las máquinas virtuales de los clientes

  • La interfaz 2 de cada MV VirtualBox está definida en la red privada del entorno.
  • Ignorar los posibles errores de conexión de Vagrant a las MV vacías.
  • Usar VirtualBox para deshabilitar la interfaz 1 de la MV del cliente modelo ogClient01.
  • Una vez desplegadas las MV deberán ser controladas directamente con VirtaulBox (no usar Vagrant).

Entorno para desarrollo de distribución cliente ogLive

El fichero Vagrantfile-boottools-vbox define un entorno virtual para generar distribuciones ISO de clientes ogLive, generando una única máquina virtual (ogBootTools) basada en Ubuntu 16.04 Server de 64 bits. Dicho fichero puede editarse para modificar los variables de configuración.

Variable Descripción Por omisión
LANGUAGEIdiomaes_ES
VMMEMMemoria virtual (en MB)1024

Iniciar y desplegar la MV con los requisitos necesarios:

vagrant up

Una vez finalizado el despliegue, utilizar VirtualBox para acceder a la máquina virtual con usuario vagrant y clave vagrant y ejecutar el script boottoolsgenerator.sh según las instrucciones de generación de la distribución del cliente ogLive.

Nota: puede ser necesario pulsar [Intro] para continuar la instalación de los paquetes davfs2 y kexec-tools.

Entorno para desarrollo de Browser del cliente

El fichero Vagrant-browser-vbox define un entorno de desarrollo y programación para crear el Browser web que utiliza el cliente OpenGnsys para presentar los menús de usuario, generando una única máquina virtual (ogBrowser) basada en Ubuntu 14.04 Server de 32 bits que compilar e instala el entorno Qt Embedded 4.8. Este fichero puede editarse para modificar los variables de configuración.

Variable Descripción Por omisión
LANGUAGEIdiomaes_ES
VMMEMMemoria virtual (en MB)4096
VMCPUSProcesadores virtuales4

Iniciar y desplegar la MV con los requisitos necesarios:

vagrant up

Notas:

  • La primera instalación del entorno puede tardar mucho tiempo, porque la compilación de Qt es un proceso bastante largo.
  • El proceso de instalación realiza también una primera compilación del Browser.
  • Para facilitar la copia de ficheros con el hipervisor, la MV tiene importado el directorio de Vagrant en su directorio /vagrant.

Para acceder a la máquina virtual, ejecutar:

vagrant ssh

El código fuente del Browser se encuentra en el directorio /home/vagrant/browser y para obtener una nueva compilación, ejecutar sudo make. Una vez compilado el Browser, deberán copiarse al servidor OpenGnsys los siguientes ficheros:

  • El ejecutable browser al directorio /opt/opengnsys/client/bin del servidor.
  • Las librerías Qt enlazadas por dicho fichero (revisar ejecutando ldd browser|grep libQt) al directorio /opt/opengnsys/client/lib/qtlibs del servidor.

Entorno para desarrollo de agente OGAgent

El fichero Vagrant-ogagent-vbox define un entorno de desarrollo y programación del agente para sistemas operativos OGAgent, generando una única máquina virtual (ogAgent) basada en Fedora 25 Cloud que incluye: escritorio ligero XFCE 4, navegador web Firefox, Wine para ejecutar programas Windows, entorno de programación Atom (o descomentar las líneas correspondientes para instalar Eclipse). para ejecutar programas Windows y utilidades varias. Este fichero puede editarse para modificar los variables de configuración.

Variable Descripción Por omisión
LANGUAGEIdiomaes_ES
VMMEMMemoria virtual (en MB)4096
VMCPUSProcesadores virtuales4

Iniciar y desplegar la MV con los requisitos necesarios:

vagrant up

Aunque durante el despliegue se iniciará una ventana para acceder a la MV, el usuario debe esperar a que finalice el proceso de despliegue, el cual puede tardar varios minutos porque tiene que descargar e instalar un número importante de paquetes.

Una vez finalizado este proceso, utilizar VirtualBox para acceder a la máquina virtual con usuario vagrant y clave vagrant y reiniciarla (o entrar directamente en el entorno gráfico, ejecutando "startxfce4 &").

Para generar los paquetes del cliente OGAgent, debe abrirse una terminal de comandos y ejecutar:

bash ogagent-devel-installer.sh

Puede utilizar cualquier entorno de programación para realizar modificaciones del código en el agente OGAgent. Si se ha elegido Eclipse, debe configurarse siguiendo estos pasos:

  • Establecer la asociación adecuada del intérprete Python en el menú Window / Preferences / PyDev / Interpreters / Python Interpreter y pulsar el botón Quick Auto-Config.
  • Crear un nuevo proyecto PyDev localizado en el directorio /home/vagrant/ogagent/src