Sun Cluster: Guía del desarrollador de los servicios de datos del sistema operativo Solaris

Comportamiento del método Validate

RGM llama a Validate con argumentos adicionales a aquéllos transferidos a otros métodos, incluidos los valores y las propiedades que se están actualizando. Por lo tanto, este método del servicio de datos de ejemplo debe implementar una función parse_args() diferente para administrar los argumentos adicionales.

El método Validate del servicio de datos de ejemplo verifica una única propiedad, la propiedad de extensión Confdir. Esta propiedad señala al directorio de configuración de DNS, que es fundamental para una operación satisfactoria del DNS.


Nota –

Dado que no se puede modificar el directorio de configuración mientras DNS está en ejecución, la propiedad Confdir se declara en el archivo RTR como TUNABLE = AT_CREATION . Por lo tanto, el método Validate nunca se invoca para verificar la propiedad Confdir como resultado de una actualización, sino sólo cuando se crea el recurso del servicio de datos.


Si Confdir es una de las propiedades que RGM pasa a Validate, la función parse_args() recupera y guarda su valor. Validate comprueba que el directorio al que Confdir señala está accesible y que el archivo named.conf existe en ese directorio y contiene datos.

Si la función parse_args() no puede recuperar el valor de Confdir desde los argumentos de línea de comandos transferidos por RGM, Validate intentará aún validar la propiedad Confdir. Validate utiliza scha_resource_get() para obtener el valor de Confdir desde la configuración estática. Validate realiza las mismas comprobaciones para verificar que el directorio de configuración está accesible y contiene un archivo named.conf no vacío.

Si Validate sale con un fallo, fallarán la actualización o la creación de todas las propiedades, no sólo de Confdir.