wiki:Version2/Desarrollo/Engine

Version 1 (modified by adelcastillo, 9 years ago) (diff)

--

OGR

ogr ó OpenGnSys Runner es un comando que se ha desarrollado para la versión 2 para facilitar el uso del engine. Se basa en ejecutar comandos que se encuentre en el directorio que marqué la variable global $OGEDIR. Si la variable no estuviera seteada se usará por defecto el valor: '/opt/opengnsys/engine/' . En esta carpeta se encontrarán los distintos directorios, al que vamos a llamar módulos a partir de ahora, que tiene el engine:

  • net: Scripts para redes.
  • proto: Scripts de protocolos.
  • rellenar todos los que falten.
  • utils: Aquí encontramos todos los scripts propios de está herramienta que facilitarán el uso del engine:
    • help: muestra la ayuda. Si recibe un script como argumento se mostrará la ayuda del script.
    • list: muestra todos los comandos disponibles. Si se le pasa como argumento un módulo mostrará sólo los de el módulo en concreto.
    • listmodules: muestra la lista de módulos.
    • trace: muestra la traza que siguen los scripts.
    • debug: muestra la traza que siguen los scripts pero se pueden modificar los argumentos en cada llamada.
    • ...

Ejemplos de uso:

ogr getNumDisk
ogr help getNumDisk
ogr list

Engine

El engine se encarga de todas las tareas a bajo nivel de OpenGnSys. Las operaciones van desde saber que IP tiene el cliente, como crear particiones, crear imágenes, arrancar una partición, etc. Dentro del engine divisamos dos niveles diferenciados:

  • Scripts de bajo nivel: Son creados principalmente en bash. Realizan las tareas de bajo nivel como saber el número de discos que tiene un ordenador, o el número de particiones de un disco, o qué IP tiene el ordenador asociado, etc. El valor de retorno puede tener los siguiente valores:
    • 0: si el script se ejecuto sin problemas.
    • -1: si hubo problemas que hace que se cancele la ejecución.
    • 1: con problemas pero puede continuar la ejecución.

La salida estándar devuelve el/los valor/es obtenidos por el script y la salida de errores las advertencias o errores que éste tuvo.

  • Scripts de alto nivel: Son creados principalmente en python. Realizan operaciones mucho más compleja como por ejemplo devolver toda la información sobre discos: número de discos, con cuántas particiones cada uno, tamaño, tipo, etc. Además su salida está formateada en json para la comunicación con el WebConsole.