wiki:Reunion130219

Version 1 (modified by irina, 6 months ago) (diff)

--

Acta de la videoconferencia del 13 de febrero de 2019

Asisten: Málaga, Huelva, Teruel y Sevilla.
Próxima reunión: 27 de febrero a las 11:30

Versión 1.1.1 últimos cambios

#886 actualización de la 1.0.6b a la 1.1. da errores a la hora de agregar ordenadores/aulas

Se hicieron pruebas y no se encontraros errores. Se cierra como ticket no válido.

#881 Personalizar prioridad de ejecución de proceso de torrents

Se ha detectado un problema de saturación de CPU al crear los ficheros .torrent en un repositorio. Para solucionarlo, se propone personalizar el nivel de prioridad de estos procesos para que el administrador pueda adecuarlo al uso del servidor, ya que conviene reducirlo si se va a trabajar con la web de administración.

Se añade variable BTSEEDER_PRIORITY para asignar una prioridad al servicio torrent. El valor por defecto es 0 (server + repo). La descripción de la variable está dentro del fichero /etc/default/opengnsys:

# BTSEEDER_PRIORITY nice priority to seed torrent files; recommended values:
#        8 for Admin Server or Repo without Torrent
#        0 for Admin Server and Repo with Torrent
#        -8 for Repo with Torrent

Se eliminan los paréntesis del fichero de configuración porque al tratarlo en php la función parse_ini_file da problemas.

Se ha cerrado el ticket.

#882 deleteimage no borra directorio

El script para eliminar imágenes no elimina el imágenes de tipo directorio. Se ha corregido, sólo faltaba la opción "-r" para que se borrara de forma recursiva.

#880 OpenGnsys_update.sh no deja la revisión, solo deja 1.1.0a

La revisión de la versión se obtiene con el comando jq. En algunos sistemas operativos, por ejemplo Ubuntu 14, las opciones que se utilizaban son incompatibles con la versión del comando jq.

Se han modificado las opciones que para que sea compatible con las mayoría de los sistemas.

#580 Correcciones del Core de Opengnsys. ogAdmServer

Se ha revisado el código para estabilizar el servicio:

  • Se utilizan conexiones no persistentes.
  • Aunque existan errores no se caerá el servicio.
  • Los mensajes se registrarán en syslog.

#802 gestión equipos UEFI

Windows

  • Se puede restaurar el sistema operativo en una partición distinta a la del equipo modelo.
  • Se pueden tener dos Windows en un mismo equipo.

Al crear la imagen se copia el directorio Boot de la partición EFI en la partición de sistema, con la función ogCopyEfiBootLoader.

Al restaurar se copia el directorio Boot de la partición de sistema a la partición EFI, con la función ogRestoreEfiBootLoader y luego se realiza la postconfiguración normal.

La función ogWindowsBootParameters se modifica para que si es un equipo UEFI distinga entre el disco y la partición de sistema y el disco y la partición de arranque. Para Windows 10 se han añadido dos claves más y una de las existentes no sirve (se conserva para otros s.o.).

Las distintas funciones de postconfiguración de Windows utilizan el comando spartlnx.run se ha cambiado la forma de llamarlo porque no se estaba ejecutando correctamente.

Para tener dos Windows en un mismo equipo al iniciar uno se ocultan las demás particiones de Windows existentes. En las funciones para ocultar y hacer visible la partición, así como en bootOsCustom, se han añadido el tipo de partición que utiliza GPT para Windows y Windows reservada.

Las funciones ogSaveImageInfo and ogRestoreUuidPartitions no son necesarias y desaparecerán: salvaban y restauraban el GUID de la tabla de particiones.

Linux

  • Se puede restaurar el sistema operativo en una partición distinta a la del equipo modelo.
  • Se pueden tener dos Linux en un mismo equipo.

La creación de la imagen no cambia.

Al restaurar se incluye la partición EFI en el fstab y al instalar el grub se crea la parte del cargador de arranque en la partición EFI.

Se han modificado funciones existentes.

Cada distribución de linux guarda el gestor de arranque en una carpeta distinta dentro de la partición EFI. Si queremos que las plantilla PXE sean iguales para todas las distribuciones las funciones que instalan el grub tienen que mover el gestor de arranque a una carpeta que definamos. Por ahora lo hacemos para Ubuntu.

Todas las pruebas han sido con Ubuntu, hay que probar otras distribuciones.

La función ogGrubInstallMbr y ogGrubInstallPartition está dando problemas al detectar el initrd de la partición efi → no crea bien la entrada.

Para obtener los datos del kernel y el initrd utiliza linux-boot-prober que para los kernel efi-signed no detecta los initrd

Se está usando el grub.cfg de la instalación, que utiliza los UUID de las particiones. Esto da problema al instalar varios linux en un mismo equipo. Por ahora se resuelve con la función de postconfiguracióń ogUuidChange, que genera un UUID y modifica el de la partición y lo configura en el fstab y en el grub.cfg. Más adelante será innecesaria.

Arranque PXE

Las plantillas y los archivos PXE se sitúan en distintas carpetas según sean para equipos BIOS (/opt/opengnsys/tftpboot/menu.lst) o UEFI (/opt/opengnsys/tftpboot/grub).

Habrá plantillas que pertenezcan:

A los dos tipos y que generarán dos archivos PXE uno para cada tipo de firmware. (ej: ogLive)

Sólo a uno de ellos y que generará un único archivo PXE, dejando para el otro firmware la opción por defecto. (ej: MBR)

En la consola, en NetBootAvanzado:

Se muestran las plantillas para bios y uefi.

Utiliza el comando setclientmode para generar las plantillas.

El script setclientmode:

Crea configuración PXE para BIOS y UEFI partiendo de las distintas plantillas.

Permite pasar la información de acceso a la base de datos en un fichero.

Actualmente en la configuración PXE para el arranque del ogLive tenemos distintas opciones: para que busque el kernel y el initrd en la cache y en la red y si no encuentra los del ogLive asignado busque los del ogLive por defecto.

Se ha conseguido tener plantillas con varias opciones de arranque, pero no que salte automáticamente de una a otra sin mostrar mensaje.

Del grub4dos hay un fork, habría que revisar si hay versiones que hayan tenido en cuenta al arquitectura UEFI.

#873 Script para importar imagen de otro repositorio

Crear un script para automatizar el proceso de descarga de una imagen desde un repositorio remoto y de generación de los datos necesarios para el mantenimiento del repositorio local.

Se trae la imagen por scp y si se ejecuta en la máquina del server incluye la información en la base de datos.

#806 Comando particionar y formatear: controlar que no se exceda el tamaño del disco

Se muestra un mensaje de aviso cuando el tamaño de la partición es menor que cero.

#834 Aplicar limpieza de código PHP

Se utiliza phpstorm para revisar el código y se resuelven los problemas que detecta. Esto eliminará muchos mensajes de aviso o error en los log de apache.

Se quitan sentencias html obsoletas, marcas de cierre de php repetidas, etc.

Serán necesarias pruebas muy exhaustivas porque se realizan muchos cambios.

Foro: Problemas al utilizar los script de exportar e importar

En el foro han descrito un error del script de importación por el que falla al bajarse los archivos de actualización de la base de datos.

Se revisará.

#891 ogAdmServer problema con Wake On Lan

En la Universidad de Cádiz tienen los servidores en una red diferente de los equipos de las aulas, por lo que el wake on lan no funciona.

La arquitectura actual de OpenGnsys:

  • Existe un único server con varios repositorios.
  • El server ve a todos los equipos de las aulas
  • El repo es simplemente un almacén de ficheros.
  • El ogLive se puede compartir desde un servidor independiente. Pata ello es necesario hacer cambios en el script de creación de los ficheros PXE para que tome el valor de la ip del servidor de ogLive que corresponda.

Para adaptarnos a la distribución de los servidores en Cádiz es necesario una cambio de arquitectura muy importante.

#877 Apoyo al modo examen de la Universidad de Sevilla

Cuando se utilizan los equipos de las aulas en modo examen se cambian las ip para que no puedan salir al exterior.

Se ha modificado el agente para que en la web se vea el estado del equipo aunque esté en modo examen.

No se ha cambiado nada más: como en la base de datos el equipo sólo tiene asignada una IP, cuando el equipo este en modo examen no de le puedan mandar acciones porque el servidor no los reconoce.

#893 configureOs no asigna nombre de host en Linux

Se ha modificado para que sí asigne el nombre de pc en linux.

Se ha cerrado el ticket.

#836 Crear informe de soporte

Crear script para generar informes de soporte del servidor OpenGnsys, que pueda automatizar el proceso de recogida de información para localizar problemas.

Se ha terminado y se ha cerrado.

#894 Crear comando web para crear imagen de disco completo

Existe el script, que crea una imagen del disco a nivel de bloque.

Sólo es necesario crear el comando en la consola.

Granada utiliza un script para automatizar las imágenes de un disco completo haciendo la de cada una de las particiones.

#872 Liberar versión de mantenimiento OpenGnsys 1.1.0a

Es el último ticket que se cierra en la versión. Se pasarán todos los cambios a la rama master.

#895 Asistente de particionado: error al pasar de tabla de particiones MSDOS a GPT y más

Cuando un equipo con tabla de particiones MSDOS se particiona en modo GPT es necesario realizar un reinicio y repetir la operación. Ya está corregido.

Cuando no existe la cache la función ogCreateGptPartitions da un falso error saliendo con código de error 1, aunque sí se realiza el particionado correctamente. Ya está corregido.

Queda pendiente un error que cuando se crea la cache falla en algunas ocasiones (tanto en MSDOS como el GPT):

  • Hay que detectar cuándo se produce antes de resolverlo.
  • Si se repite la operación funciona correctamente.

#736 Mejorar la seguridad del servidor

El script security-config realiza la configuración de seguridad para UFW, FirewallD and SELinux.

Se actualizan las políticas de seguridad: se restringe el acceso a mysql al loopback, se añaden puertos auxiliares y se comprueba si SELinux esta activo.

El script de instalación antes deshabilitaba firewall or SELinux, ya no lo hace. Ahora recomienda utilizar el script security-config.

La configuración que se realiza es correcta para OpenGnsys pero bastante restrictiva.

#855 sincronizadas en la 1.1.0 con rsync

Al crear la imagen básica la crea en el repo asociado al PC y no al asociado a la imagen.

El cambio requiere bastante esfuerzo, que no se ve justificado para unas imágenes que prácticamente no se están usando y serán reemplazadas por las sincronizadas con git.

Se cerrará el ticket como "no se resolverá".

ogBoot

Es un servicio propietario de dhcp.

No se está utilizando, se elimina el código.

Página web de usuarios

Se ha creado una página web para facilitar a los usuarios de OpenGnsys acceder a las cosas que necesitará habitualmente: descargar la última versión estable, documentación, soporte, ...

La idea es que se muestre al entrar en la opengnsys.es, de forma que la web actual quede principalmente para desarrollo.

Se puede consultar en: https://opengnsys.es/drupal-8.4.5/

Se mandará un correo a las lista de usuarios para conocer su opinión. La publicación se realizará después escuchar las propuestas.

Sincronizadas con git

Se están usando en producción en Granada.

Están migrando un aula que tiene acceso de muchos usuarios para comprobar principalmente los tiempos de restauración.

Ya tienen dos aulas de 40 equipos y van a poner una de 120 con pc de otra arquitectura más antigua.

Para integrar el código en proyecto se creará una rama independiente.

Cuando se vayan a integrar en la consola, la forma más fácil sería crear un modo más de sincronizadas.

Pruebas de la 1.1.0a

Se ha creado un nuevo tgz para realizar pruebas de instalación.

Málaga ha realizado la instalación desde el tgz en tres centros. Tienen alguna personalización:

  • La clave de Windows la toma de un fichero de configuración.
  • configureOs si al restaurar la partición es de un tipo distinto al sistema de fichero se cambia la partición.

Se podría plantear tener ramas de git para las personalizaciones de las Universidades, igual que se tenían en svn.

Se están documentando en Google Docs, en una hoja de cálculo.