Skip to content

Mapeo entre GCC y Chef

David Amian Valle edited this page May 12, 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
Componentes [3] 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. [3] Este campo es un array de strings

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 un array de objetos que tienen los siguientes atributos

  • plugins
  • title
  • uri
  • bookmarks
  • title
  • uri
  • config
  • key
  • value
  • certs
  • name
  • uri

Shared Folders

SOLO EN USUARIO y GRUPOS

Esta política se encargará de configurarle los recursos montados en el usuario

Atributos en el GCC

Atributo
gtkbookmars

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_shard_folders_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos 'gtkbookmarks', el cual es un array de objetos que tienen los siguientes atributos

  • gtkbookmarks
  • title
  • uri
Estos atributos serán recogidos de la entidad Almacenamiento

Autostart Applications

SOLO EN USUARIO y GRUPOS

Esta política se encargará de configurarle las aplicaciones que se ejecutarán en el arranque de sesión del usuario

Atributos en el GCC

Atributo
Desktops

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_apps_autostart_res"]["users"], este valor es un array y ahí añadir un objeto con los siguientes atributos 'desktops', el cual es un array de strings

==Application Configs== (Esta política aún esta por determinar)

Auto Updates

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de configurar al equipo en que momento se realizará las actualizaciones del sistema

Atributos en el GCC

Atributo Subatributo
Logout -
Start -
Days Day, Hour, Period

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["misc_mgmt"]["auto_updates_res"]["auto_update_rules"], este valor es un objeto con los siguientes atributos: 'logut_update', 'start_update', 'days'. El atributo days es un array de objetos cuyas propiedades son:

  • days
  • day
  • hour
  • period

NTP Date

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de configurar al equipo el servidor de horas para sincronizar

Atributos en el GCC

Atributo
Server

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["misc_mgmt"]["tz_date_res"]["server"], este valor se almacenará con el valor Server

Script Launchers

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de configurar al equipo un listado de scripts para ejecutar en distintas fases

Atributos en el GCC

Atributo
On Startup
On Shutdown

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["misc_mgmt"]["script_launch_res"], este objeto tendrá los atributos 'on_startup', 'on_shutdown' los cuales a su vez son arrays de strings

Network

SOLO EN COMPUTERS, USERS y GRUPOS

Esta política se encargará de configurar al equipo o usuario la configuración de red

Atributos en el GCC

En Computer

Atributo
Gateway
Ip
Netmask
Network Type
Use Dhcp
Dns Servers

En Users

Atributo Subatributo
Gateway -
Ip -
Netmask -
Network Type -
Use Dhcp -
Dns Servers -
Certrificates Name, Url

Workflow

En Computers

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["network_mgmt"]["network_res"], este objeto tendrá los atributos 'gateway', 'ip_adress', 'netmask', 'network_type', 'use_dhcp', 'dns_server', este último es un array de strings

En Users

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"]["network_mgmt"]["network_res"]["users"], este atributo será un array donde tendrá objetos con los siguientes atributos 'username', 'gateway', 'ip_adress', 'netmask', 'network_type', 'use_dhcp', 'dns_server' (es un array de strings), 'certs' (array de objetos con propiedades 'name', 'uri')

Software Sources

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de configurar al equipo un listado de repositorios de software

Atributos en el GCC

Atributo
Repo List

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["software_mgmt"]["software_sources_res"], este objeto tendrá los atributos 'repo_name', 'distribution', 'components' (array de strings), 'uri', 'deb_src', 'repo_key', 'key_server' estos atributos serán extraidos del recurso Repositories

Printers

SOLO EN COMPUTERS, USERS y GRUPOS

Esta política se encargará de configurar al equipo/usuario un listado de impresoras disponibles para imprimir

Atributos en el GCC

Atributo
Printers

Workflow

Cuando se asigna la política al equipo(si es al usuario debe de hacerse lo mismo por cada equipo que afecte el usuario concreto), se ha de coger el atributo node["gecos_ws_mgmt"]["printers_mgmt"]["printers_res"], este objeto tendrá los atributos 'printer_list', que ha su vez es un array de objetos cuyos atributos son 'name', 'manufacturer', 'model', 'uri', 'ppd', 'ppd_uri', estos atributos deben ser extraídos de la entidad printers.

Local Users

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de configurar al equipo un listado de usuario locales con sus propiedades

Atributos en el GCC

Atributo Subatributo
Users List Username, Action, Groups, Password

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["misc_mgmt"]["local_users_res"]["users_list"], este atributo será una array de objetos cuyos atributos son 'user', 'actiontorun', 'groups' (array de strings), 'password'

Local Groups

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de configurar al equipo un listado de grupos locales con sus propiedades

Atributos en el GCC

Atributo Subatributo
Group List Group, Users

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["misc_mgmt"]["local_groups_res"]["groups_list"], este atributo será una array de objetos cuyos atributos son 'group', 'users' (array de strings)

Local Files

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de copiar y borrar ficheros locales

Atributos en el GCC

Atributo Subatributo
Delete Files File, Backup
Copy Files File Source, File Destination, User, Group, Mode, Overwrite

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["misc_mgmt"]["local_file_res"], este objeto tendrá los atributos 'delete_files', 'copy_files' los cuales son arrays de objetos con los siguientes atributos:

  • delete_files
  • file
  • backup
  • copy_files
  • file_orig
  • file_dest
  • user
  • group
  • mode
  • overwrite

Local Admin Users

SOLO EN COMPUTERS y GRUPOS

Esta política se encargará de configurar al equipo que usuarios tienen permiso de administración

Atributos en el GCC

Atributo
Users List

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["misc_mgmt"]["local_admin_users_res"]["local_admin_list"], este atributo será una array de strings con el listado de usernames para asignar privilegios

Folders Sync

SOLO EN USERS y GRUPOS

Esta política se encargará de configurar al usuario que carpetas sincronizará desde el servidor de sincronizacion (owncloud)

Atributos en el GCC

Atributo
Remote Folders

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["folder_sync_res"]["users"], este atributo será una array de objetos con los siguientes atributos 'username' y 'remote_folders' (array de strings)

Shutdown Options

SOLO EN USERS y GRUPOS

Esta política se encargará de mostrar las opciones que tiene un usuario a la hora de apagar el pc

Atributos en el GCC

Atributo
Options

Workflow

Cuando se asigna la política al equipo, se ha de coger el atributo node["gecos_ws_mgmt"]["users_mgmt"]["shutdown_options_res"]["users"], este atributo será una array de objetos con los siguientes atributos 'username' y 'options' (array de strings)

Clone this wiki locally