-
Notifications
You must be signed in to change notification settings - Fork 11
Mapeo entre GCC y Chef
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.
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 | Sí | 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
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 |
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.
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/
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
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
SOLO EN USUARIO y GRUPOS
Esta política se encargará de determinar si un usuario tiene permisos de montaje
Atributo |
---|
Can Mount |
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'
SOLO EN USUARIO y GRUPOS
Esta política se encargará de determinar la configuración del salvapantallas del usuario.
Atributo |
---|
Idle Delay |
Lock Delay |
Lock Enabled |
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'
SOLO EN USUARIO y GRUPOS
Esta política se encargará de determinar si el usuario tiene permisos de compartir su carpeta
Atributo |
---|
Can Share |
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'
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
Atributo |
---|
Desktop Files |
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.
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
Atributo |
---|
Launchers |
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.
SOLO EN USUARIO y GRUPOS
Esta política se encargará de determinar que fondo de escritorio es el que debe tener el usuario establecido
Atributo |
---|
Desktop File |
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'.
SOLO EN USUARIO y GRUPOS
Esta política se encargará de configurarle al usuario el navegador de ficheros
Atributo |
---|
Auto Mount |
Explore Net |
Show Options Mount |
Burn Disc |
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'.
SOLO EN USUARIO y GRUPOS
Esta política se encargará de configurarle al usuario el navegador web
Atributo | Subatributo |
---|---|
Plugins | Name, Url |
Bookmarks | Name, Url |
Configuration | Key, Value |
Certificates | Name, Url |
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
SOLO EN USUARIO y GRUPOS
Esta política se encargará de configurarle los recursos montados en el usuario
Atributo |
---|
gtkbookmars |
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
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
Atributo |
---|
Desktops |
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)
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de configurar al equipo en que momento se realizará las actualizaciones del sistema
Atributo | Subatributo |
---|---|
Logout | - |
Start | - |
Days | Day, Hour, Period |
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
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de configurar al equipo el servidor de horas para sincronizar
Atributo |
---|
Server |
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
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de configurar al equipo un listado de scripts para ejecutar en distintas fases
Atributo |
---|
On Startup |
On Shutdown |
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
SOLO EN COMPUTERS, USERS y GRUPOS
Esta política se encargará de configurar al equipo o usuario la configuración de red
Atributo |
---|
Gateway |
Ip |
Netmask |
Network Type |
Use Dhcp |
Dns Servers |
Atributo | Subatributo |
---|---|
Gateway | - |
Ip | - |
Netmask | - |
Network Type | - |
Use Dhcp | - |
Dns Servers | - |
Certrificates | Name, Url |
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
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')
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de configurar al equipo un listado de repositorios de software
Atributo |
---|
Repo List |
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
SOLO EN COMPUTERS, USERS y GRUPOS
Esta política se encargará de configurar al equipo/usuario un listado de impresoras disponibles para imprimir
Atributo |
---|
Printers |
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.
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de configurar al equipo un listado de usuario locales con sus propiedades
Atributo | Subatributo |
---|---|
Users List | Username, Action, Groups, Password |
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'
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de configurar al equipo un listado de grupos locales con sus propiedades
Atributo | Subatributo |
---|---|
Group List | Group, Users |
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)
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de copiar y borrar ficheros locales
Atributo | Subatributo |
---|---|
Delete Files | File, Backup |
Copy Files | File Source, File Destination, User, Group, Mode, Overwrite |
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
SOLO EN COMPUTERS y GRUPOS
Esta política se encargará de configurar al equipo que usuarios tienen permiso de administración
Atributo |
---|
Users List |
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
SOLO EN USERS y GRUPOS
Esta política se encargará de configurar al usuario que carpetas sincronizará desde el servidor de sincronizacion (owncloud)
Atributo |
---|
Remote Folders |
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)
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
Atributo |
---|
Options |
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)