[[PageOutline(2-5,Índice)]] = Videoconferencia de 24 de octubre de 2017 = Asisten: Huelva, Málaga, Teruel, Valencia y Sevilla. \\ Próxima reunión: 7 de noviembre de 2017 a las 11:30. Leyendas: * [[Image(wiki:Reuniones:todo.png)]] Tareas pendientes. * [[Image(wiki:Reuniones:mejora.png)]] Mejoras. == Versión 1.1.0 últimos cambios == === #797 Revisar log en los procesos de restauración === En el log del script updateCache se incluye línea de 'INICIO script' si no se llama desde deployImage. Antes mostraba datos sobre las distintas operaciones sin poner qué script se estaba ejecutando. === #810: Crear script checkrepo para mantener información de imágenes del repositorio === El script se ejecuta cada minuto revisando los cambios en el repositorio, la información se guarda en un fichero JSON que contiene: * un array de las imágenes * un array de las unidades organizativas con las imágenes de contienen * un array con las propiedades del repositorio, como el tamaño del disco y el espacio libre Se crea en la API REST la URL: ip_repo/repository/images que lee el fichero local y muestra los datos. El formulario de propiedades del repositorio llama a la API REST y muestra los datos. Se crea en la API REST las URL: ip_repo/repository/image/nombre_imagen y ip_repo/repository/ou/image/nombre_imagen: muestra los datos de la imagen En la página de propiedades de la imagen se muestran estos datos: tamaño, backup,... Si la imagen está bloqueada sólo se muestra esta información y no los datos del archivo. Ya que el tamaño puede verse modificado por la acción que bloquea la imagen. De igual modo se podría usar esta información y la API REST para eliminar las imágenes, permitiendo borrar imágenes de repositorios remotos. Falta internacionalizar. Se ha documentado en el swagger y en el wiki. === #740 Clonar disco completo en modo "raw" === Están todas las funciones necesarias. Se añaden al script de creación de los checksum, pueden tardar bastante debido al tamaño de las imágenes. Se muestran en la API REST con el resto de la información del repositorio. === #708 Crear API REST para integración de OpenGnsys con UDS === La nueva versión de UDS ya puede comunicarse con OpenGnsys Se añade depuración a rutas REST para aumentar el registro de las solicitudes REST. Se utilizan dos archivos de log: * rest.log: fichero que guarda la información de las solicitudes HTTP. * remotepc.log: da información más detallada de los que realizan las funciones según la rute solicitada. === Actualización de OpenGnsys === Al actualizar con el script opengnsys_update se regenera la API KEY del repositorio, por lo que hay que modificarla manualmente en la consola para poder volver a conectar el server con el repo. En caso de que se haya comprometido la clave de la API REST basta actualizar el repositorio para tener una nueva segura. === #767 Revisar estabilidad del asistente de particionado. === Antes en el comando particionar se había mejorado controlando que el tamaño de las particiones no supere el del disco duro. Se ha hecho igual para el asistente: Si el tamaño de la cache tenía un valor numérico calculaba si el espacio de disco era suficiente. Ahora también los hace aunque dejemos la cache "Sin modificar tamaño" === #718 Nuevo agente modular con comunicaciones REST === Se apagaba tan rápido que la tarjeta de red no se configuraba con WOL, ya sí lo hace. Si la tarjeta de red tardaba en estar activa el agente había dejado de intentar conectarse. Se aumenta el tiempo que intenta de conectarse a 60s y ya va bien. En Linux funcionan todos los comandos. En Windows al enviar mensaje fallaba si tiene caracteres de utf-8, ahora ya no da error pero muestra caracteres raros. === Documentación de usuario === En el wiki en la zona de documentación de usuario se incluye la de la nueva versión: '''Aviso importante''': Esta versión está en fase de pruebas, no instalar en sistemas en producción. Otra documentación: * [wiki:DocumentacionUsuario1.1.0/OUseparadas Unidades organizativas en directorios separados] * [wiki:DocumentacionUsuario1.1.0/VariosRepos Cliente de OpenGnsys con varios repositorios] * [wiki:ApiRest Descripción API REST para servidor OpenGnsys] * [wiki:DocumentacionUsuario1.1.0/OgAgent OGAgent: agente de sistema operativo] * [wiki:DocumentacionUsuario1.1.0/EntornosVagrant Entornos estandarizados de desarrollo y pruebas con Vagrant] * Imágenes sincronizadas (experimental) * [wiki:SyncronizeConceptos Conceptos sobre imágenes sincronizadas y diferenciales] * [wiki:SyncronizeConsolav1.0.6 Gestión de las imágenes sincronizadas desde la consola v1.0.6] * [wiki:Syncronize1.0.6-1.1 Comparación entre versiones 1.0.6 y 1.1 (tipo archivo)] * [wiki:SyncronizeConsolav1.1.0 Gestión de las imágenes sincronizadas desde la consola v1.1.0 (tipo archivo)] Documentación de desarrollo: * [wiki:DocumentacionUsuario1.1.0/TraduccionGettext Tradución automática de mensajes con Gettext] * [wiki:DocumentacionUsuario1.1.0/MenuPersonalizado Creación de menús personalizados] === #796 burg como systemMenu gráfico === Se crean las funciones: * ogBurgHidePartitions: Cuando existe más de un sistema operativo Windows en el equipo, modifica la configuración de Burg para que al iniciar una partición oculte las otras. * ogBurgDeleteEntry: Permite borrar una entrada del Burg, evitando que la partición sea accesible a los usuarios. Como el cambio en la configuración es igual para Grub y Burg, se crean funciones auxiliares que son llamadas por las anteriores y las de Grub. === #713 #785 Propiedades del inventario de hardware === Con los nuevos ogLive no se puede utilizar el inicio de Windows directo. En las propiedades del inventario de hardware se elimina la lista de selección que permite decidir si se inicia Windows directamente y con reinicio, obligando siempre a reiniciar. == Prueba con UDS == Se prueba el acceso remoto a un cliente que contenga una imagen concreta. __Configuración de UDS __ 1. En UDS se configura la conexión al servidor de OpenGnsys. 2. Se crea un recurso imagen con la información de las aulas que puedo utilizar, si no ponemos este parámetro se considera que son todas. La imagen y las aulas tendrán que estar seleccionadas para "Acceso remoto" en la consola de OpenGnsys. 3. Se define un servicio, con el número de ordenadores mínimo arrancado y el número máximo de equipos disponibles. __Preparando la imagen__ En la imagen de Windows hay que configurar el acceso remoto y qué usuarios pueden utilizarlo. En la imagen de Linux hay que configurar en xrdp, Virtual Cable nos ha pasado un script para automatizar el proceso. __Proceso de inicio__ El servidor OG le enviará al equipo el comando arrancar y pondrá en la cola de acciones iniciar sesión en la partición deseada. Si el equipo no se enciende en 15 min. se mandarán los comandos a otro cliente. El usuario se conectará al equipo desde un navegador, encontrará un icono por cada imagen disponible. Tiene que configurado el rdp en su equipo. Cuando el usuario hace login el sistema operativo el agente envía un mensaje a OG y el servidor envía un mensaje a UDS. UDS devuelve el tiempo máximo de sesión de usuario. __Proceso de fin de sesión__ Cuando llegue el tiempo máximo de sesión el servidor debe: * 5 minutos antes enviar un mensaje de finalización de sesión. * Apagar el equipo. Hay que decidir cómo se implementa esta parte. __Otros__ Se podría realizar una demostración de remotePC en RedIris (29 de noviembre) y en alguna videoconferencia. UDS permite tener distintos tipos de usuario: genéricos, autenticados con ldap, etc. Hay que ver que mecanismo utilizar para que el usuario pueda guardar los documentos que necesite. * Disco virtual estilo dropbox. * Puede que las máquina virtuales puedan montar dispositivos locales, si es así también lo podría hacer OpenGnsys. Es importante documentar bien el uso de remotePc. == Marcas del arranque de Windows == Se dejarán de usar las marcar para arrancar Windows y se sustituirá por ogSetMode en la función ogBoot. Al restaurar el seguimiento del doble reinicio de Windows se hacía con las marcas; Hay que ver si es necesario otro mecanismo, que podría realizarse con el agente de Windows Hay que revisar si para los equipo MAC se utilizan las marcas, en caso contrario se modificarán las plantillas PXE para que no revisen las marcas. == Seguridad en el ogLive == Tiene las claves de samba y rsync en claro, habría que ver si hay alguna forma de que estén cifradas. FALTA == Consola nueva == Vemos una demo de la nueva consola. En la página principal se muestran diversos datos sobre el servidor: tamaño y uso del disco, subida y bajada de datos en la conexión de red, ... Se pueden añadir lo que veamos interesante. El asistente de particionado. * muestra cada partición, permitiendo elegir el tipo y el tamaño en bytes o tanto por ciento del disco. * muestra un gráfico circular representando el tamaño del disco y lo que ocuparian las particiones. * muestra un gráfico lineal con el mismo contenido, donde podemos modificar el tamaño de las particiones de forma gráfica. Al crear la partición Cache la situa automáticamente al final de disco. Al pasar de tipo de particiones MSDOS a GPT: * Crear la partición EFI automáticamente. * Si hay partición es lógicas, elimina la extendidas y las pasa a primarias. Al pasar de GPT a MSDOS hace el proceso contrario. Para los comandos es necesario ver como se comunicaría la API REST con el cliente de OpenGnsys. Podría hacerlo con el agente de OpenGnsys. Hasta ahora el agente se ha usado sólo para los sistemas operativos, pero estaba previsto que sustituyera a ogAdmClient. Los cliente al recibir una acción del servidor devolverían un número para identificarla, de forma que podrían mandar mensajes del desarrollo y el servidor podría saber a qué comando se refieren. También existe la posibilidad de usar websocket. Las tablas estáticas de la base de datos se pasarán a un fichero en formato JSON. En el caso de la tabla particiones falta la propiedad "tipo de tabla de particiones" a que corresponden. Otro dato ue tenemos asociado a las particiones es si son clonables o no, según su valor aparecerán o no en el comando restaurar. Pruebas__________________ === ogMergeLive _______________________________ [ "$(uname -i)" != "i386" ] && LIBS=lib32 Al cliente ogLive-precise-3.2.0-i386-r5159 no contiene el directorio lib32 Failed to open /opt/oglive/rootfs/lib32/: No such file or directory. Aborting! mount: mounting /opt/oglive/unionsfs/lib32 on /lib32 failed: Invalid argument -> Al arrancar el ogAdmClient da un segmentation fault man uname -m, --machine print the machine hardware name -i, --hardware-platform print the hardware platform or "unknown" -m < [ "$(uname -m)" == "x86_64" ] && LIBS=lib32 --- > [ "$(uname -i)" != "i386" ] && LIBS=lib32 Salida versión 1.1 == Mapa de implantación == Se enviará un correo a Tecniris para realizar un mapa de implantación.