Skip to content

Mapeo entre GCC y Chef

David Amian Valle edited this page Apr 11, 2014 · 9 revisions

Table of Contents

Datos de las entidades web

En este apartado trataremos cada uno de los datos mostrados en la UI de GECOS y que interpretación tienen en CHEF, así como cual se almacena en éste.

Computers

La entidad computers del GCC debe de tener los siguientes atributos que mostramos a continuación en la tabla.

Campo Almacenado en Chef Modificable Campo en Chef
Usuarios Si No ohai_gecos.users -> array con los usernames
Uptime Si No uptime
Ultima Ejecución Si No ohai_time [1]
Marca/Modelo Si No dmi.decode.system.manufacturer+'/'+dmi.decode.system.product_name
Nombre Si No ohai_gecos.pclabel[2]
Tipo No Si No se almacenará en Chef
Ip Si No network.eth0[3].adresses[0]
Mac Si No network.eth0[3].adresses[1]
Grupos No No se almacenará en Chef (la gestión de los grupos se hará desde GCC)
Nº de Serie Si No dmi.system.serial.number
Nº de Registro No Si Este campo no se almacenará en Chef

[1] En Ruby lo traduciamos a fecha así

 Time.at(@node.automatic["ohai_time"]).strftime("%d/%m/%y - %T")
[2] Es necesario proponer a Alfonso que el registro de los Nodos se realicen con un nombre automatico (md5sum de la mac) si no este campo sería el nombre del nodo [3] Este campo será el valor que haya en el campo network.default_interface con lo cual depende de éste

Users

La entidad Users no es necesaria almacenarla en Chef, simplemente se necesitarán determinados campos para algunas políticas que se apliquen sobre los usuarios pero no existirá la información del usuario en chef. A continuación mostramos la tabla con los campos que creemos necesarios

Campo Modificable
Username No
Email Si
Nombre Si
Apellidos Si
Dirección Si
Nº de teléfono Si
Grupos Si

Cuando se apliquen determinadas politicas donde influya el usuario lo único que interesa por parte de Chef es que en los atributos del recurso concreto que aplica dicha politica se introduzca el campo username al cual se le está aplicando.

Printers

La entidad Printers no es necesaria almacenarla en Chef, simplemente se necesitarán determinados campos para algunas políticas que se apliquen donde intervengan las impresoras pero no existirá la información de la impresora en chef. A continuación mostramos la tabla con los campos que creemos necesarios

Campo Modificable
Nombre No
Marca Si
Modelo Si
Nº de serie Si
Nº de registro Si
Descripción Si
Ubicación Si
Tipo de conexión Si
Ruta de la impresora Si
PPD_Uri [1] Si

Los campos necesarios cuando tengamos alguna política que interactue con una impresora serán. Nombre, Marca, Modelo y PPD

[1] Creo que lo más interesante es que siempre se proporcione una url con el PPD de la impresora, estos PPDs deben de estar almacenados en el servidor y descargables, se recogerán todos los existentes de la pagina Openprinting. Habrá que discutir si tiene sentido hacerlo así o no.

wget -O /tmp/foomatic-db-nonfree-current.tar.gz http://www.openprinting.org/download/foomatic/foomatic-db-nonfree-current.tar.gz 
wget -O /tmp/foomatic-db-current.tar.gz http://www.openprinting.org/download/foomatic/foomatic-db-current.tar.gz 
tar -xvzf /tmp/foomatic-db-current.tar.gz -C /tmp
tar -xvzf /tmp/foomatic-db-nonfree-current.tar.gz -C /tmp
mkdir db
cp -r /tmp/foomatic-db*/db/* db/ 

Repositories

La entidad Repositories no es necesaria almacenarla en Chef, simplemente se necesitarán determinados campos para algunas políticas que se apliquen donde intervengan los repositorios pero no existirá la información del repositorio en chef. A continuación mostramos la tabla con los campos que creemos necesarios

Campo Modificable
Nombre No
Distribución Si
Url Si
Deb-src [1] Si
Key [2] Si
Key-server [2] Si

Los datos que serán necesarios en los recursos que intervengan con repositorios serán: Nobmre,Distribucion,Componetnes,Url,Deb-src,Key,Key-server

[1] Booleano que indica si se quiere añadir también el repositorio de sources. [2] Key puede ser una url del fichero .key con las claves del repositorio, entonces key-server no tendrá que ponerse. Si key es un fingerprint (C0061A4A) entonces si rellenamos key-server indicaremos la url del servidor de claves si no usará el que tenga el sistema.

Almacenamiento

La entidad Almacenamiento no es necesaria almacenarla en Chef, simplemente se necesitarán determinados campos para algunas políticas que se apliquen donde intervengan los almacenamientos remotos pero no existirá la información del almacenamiento remoto en chef. A continuación mostramos la tabla con los campos que creemos necesarios

Campo Modificable
Nombre No
Url Si

Los datos que se necesitarán para los recursos que intervengan con almacenamiento remoto serán: Nombre,Url

Politicas

User_mount

SOLO EN USUARIO y GRUPOS

Esta política se encargará de determinar si un usuario tiene permisos de montaje

Atributos en el GCC

Atributo
Can Mount

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["user_mount_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username,can_mount

Screensaver

SOLO EN USUARIO y GRUPOS

Esta política se encargará de determinar la configuración del salvapantallas del usuario.

Atributos en el GC

Atributo
Idle Delay
Lock Delay
Lock Enabled

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["screensaver_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username,idle_delay,lock_enabled,lock_delay

Folder Sharing

SOLO EN USUARIO y GRUPOS

Esta política se encargará de determinar si el usuario tiene permisos de compartir su carpeta

Atributos en el GCC=

Atributo
Can Share

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["folder_sharing_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username,can_share

Desktop Control (Aún por determinar como será finalmente)

Desktop Menu

SOLO EN USUARIO y GRUPOS

Esta política se encargará de determinar que aplicaciones aparecerán en el menú de aplicaciones de la sesión del usuario

Atributos en el GCC

Atributo
Desktop Files

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["desktop_files_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username y un array desktop_files de strings con los nombres de los desktops.

User Launchers

SOLO EN USUARIO y GRUPOS

Esta política se encargará de añadir enlaces simbólicos al escritorio de aplicaciones concretas para la sesión de dicho usuario

Atributos en el GCC

Atributo
Launchers

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["user_launchers_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username y un array launchers de strings con los nombres de los lanzadores.

Desktop background

SOLO EN USUARIO y GRUPOS

Esta política se encargará de determinar que fondo de escritorio es el que debe tener el usuario establecido

Atributos en el GCC

Atributo
Desktop File

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["desktop_background_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username, desktop_file.

File Browser

SOLO EN USUARIO y GRUPOS

Esta política se encargará de configurarle al usuario el navegador de ficheros

Atributos en el GCC

Atributo
Auto Mount
Explore Net
Show Options Mount
Burn Disc

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["file_browser_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username, auto_mount, explore_net, show_options_mount, burn_disc.

Web Browser

SOLO EN USUARIO y GRUPOS

Esta política se encargará de configurarle al usuario el navegador web

Atributos en el GCC

Atributo Subatributo
Plugins Name, Url
Bookmarks Name, Url
Configuration Key, Value
Certificates Name, Url

Workflow

Cuando se asigna la política al usuario se debe de seleccionar todos los equipos a los que afecte (equipos donde el usuario haya logeado), se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["web_browser_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos username, plugins, bookmarks,config,certs. Donde cada uno son objetos que tienen los siguientes atributos

  • plugins
  • title
  • uri
  • bookmarks
  • title
  • uri
  • config
  • key
  • value
  • certs
  • name
  • uri
Clone this wiki locally