Changes between Version 7 and Version 8 of Version2/Arquitectura


Ignore:
Timestamp:
Mar 21, 2011, 9:54:50 AM (13 years ago)
Author:
edulix
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Version2/Arquitectura

    v7 v8  
    1616Es un servicio web y principal elemento de comunicación que se tiene para comunicarse con el sistema. Es un panel de control donde puedes administrar todo el complejo. Sus funcionalidades pueden verse en [milestone:OpenGnSys2.0 objetivos de OpenGnSys 2.0].
    1717
    18 == OGDaemon Server ==
     18== Job Receiver ==
    1919
    20 Es un servicio cuya finalidad es recibir las respuestas de los clientes. El servidor, a través de la WebConsole, manda diversas tareas a los clientes como apagar, restaurar una imagen en una partición, requerir que hardware utiliza, etc. Las respuestas de estos comandos se reciben por este servicio, que lo guarda en la base de datos y ejecuta la parte del código que se encarga de manejar esa respuesta.
     20Es un servicio cuya finalidad es recibir actualizaciones de los clientes acerca de los trabajos que ejecutan. El servidor, a través de la WebConsole, manda diversas tareas a los clientes como apagar, restaurar una imagen en una partición, requerir que hardware utiliza, etc. Las respuestas de estos comandos se reciben por este servicio, que lo guarda en la base de datos y ejecuta la parte del código que se encarga de manejar esa respuesta.
    2121
    2222= Repositorio =
     
    2828El Repositorio necesita correr unos servicios ajenos a OpenGnSys para que el sistema funcione. Todos están relacionados con el arranque en red de los clientes. Por ahora se usa DHCP, PXE, TFTP y NFS. El servicio DHCP obliga a que el Repositorio esté en la misma red que sus clientes. El DHCP permite coger una IP para arrancar en red, luego lo envía al servidor TFTP. De aquí se descargar el kernel y el initrd que usará para arrancar. El NFS guardará el resto de la distro que se arranca. Además NFS guarda los logs y las imágenes de los clientes. Por ahora OpenGnSys 2.0 no administra los servicios a través de la consola web. En futuras versiones, cuando sí se administren un cliente podrá tener varios Repositorios y cada uno puede tener una función distinta.
    2929
    30 == OGDaemon Repo ==
     30== Job Executer ==
    3131
    32 Este demonio, por ahora es igual que el del cliente y si se sigue mantienendo general, seguirá siendo así. Simplemente recibe comandos, los ejecuta y manda la salida de vuelta al servidor. En el caso del repositorio puede  usarse para configurar los servicios, arrancarlos, pararlos, reiniciarlos, etc.  Pero eso será en futuras versiones ya que no está planeado para la versión 2.0. Por ahora sólo se usará para mandar la orden de arrancar ordenadores por red ayudándose del programa wakeonlan.
    33 
    34 Más información en: [[wiki:Version2/Arquitectura/#OGDaemonClient OGDaemonClient]]
     32Este servicio es invocado desde el servidor y ejecuta comandos localmente. Es el mismo que el que se ejecuta en el cliente (ver más abajo).
    3533
    3634= Cliente =
     
    5654Se está estudiando como mejorar este sistema ya que presenta limitaciones sobretodo a la hora de las comunicaciones con el Servidor.
    5755
    58 == OGDaemon Client ==
     56== Job Executer ==
    5957
    60 Los scripts del engine se llaman a través de un servicio creado por nosotros. Este servicio recibe comandos desde el Servidor y los ejecuta. La salida la envía de vuelta al servidor. Este programa no es muy complejo, está hecho en Python. Es un servidor web usando webpy. En este puerto escucha peticiones, las parsea y si llega correctamente lo ejecuta. Si el proceso tarda mucho va mandando mensajes de que el proceso todavía se está ejecutando al Servidor. La salida la va mandando a medida que se va generando para que llegue la mayor información posible al Servidor, de esta forma se ha implementado un progreso para saber cuanto le falta.
     58Los scripts del engine (así como comandos nativos) se llaman a través de un servicio creado por nosotros. Este servicio recibe comandos desde el Servidor y los ejecuta. La salida la envía de vuelta al servidor a través del servicio Job Receiver. Este programa no es muy complejo, está hecho en Python. Es un servidor web usando webpy. Escucha peticiones, las parsea y si llegan correctamente las ejecuta. Si el proceso tarda mucho va mandando mensajes de que el proceso todavía se está ejecutando al Servidor. Envía mensajes de progreso a partir de la salida de los comandos del engine. Finalmente, cuando termina un comando, se envía la salida al servidor.
    6159
    6260= Más información =