JavaScript is required to for searching.
Omitir vínculos de navegación
Salir de la Vista de impresión
Guía de administración de Oracle® ZFS Storage Appliance, versión 2013.1.3.0
Red de tecnología de Oracle
Biblioteca
PDF
Vista de impresión
Comentarios
search filter icon
search icon

Información del documento

Acerca de Oracle ZFS Storage Appliance

Configuración de Oracle ZFS Storage Appliance

Trabajo con servicios

Mantenimiento de Oracle ZFS Storage Appliance

Trabajar con flujos de trabajo de mantenimiento

Descripción de flujos de trabajo

Descripción de los parámetros de flujos de trabajo

Parámetros restringidos de flujos de trabajo

Parámetros de flujo de trabajo opcionales

Manejo de errores de flujo de trabajo

Validación de entradas de flujo de trabajo

Auditoría y generación de informes de ejecución de flujos de trabajo

Descripción de control de versiones de flujos de trabajo

Uso de los flujos de trabajo para acciones de alerta

Uso de flujos de trabajo programados

Uso de flujo de trabajo programado

Codificación de programas de flujo de trabajo

Crear una hoja de trabajo basada en un tipo de unidad especificado

Carga de flujos de trabajo con la BUI

Descarga de flujos de trabajo mediante el uso de la CLI

Mostrar flujos de trabajo mediante el uso de la CLI

Ejecución de flujos de trabajo con la CLI

Trabajo con recursos compartidos

Integración de aplicaciones con Oracle ZFS Storage Appliance

Auditoría y generación de informes de ejecución de flujos de trabajo

Los flujos de trabajo pueden emitir registros de auditoría si llaman a la función audit. El único argumento de la función audit es una cadena que se colocará en el log de auditoría.

Para los flujos de trabajo complicados cuya ejecución requiere bastante tiempo, puede ser útil proporcionar información clara acerca del progreso para el usuario que ejecuta el flujo de trabajo. Para permitir que se genere un informe sobre la ejecución de un flujo de trabajo de esta manera, el miembro execute debe devolver una matriz de pasos. Cada elemento de la matriz debe contener los siguientes miembros:

Tabla 4-6  Miembros requeridos para la generación de informes de ejecución
Miembro obligatorio
Tipo
Descripción
step
Cadena
Cadena que denota el nombre del paso de ejecución.
execute
Función
Función que ejecuta el paso del flujo de trabajo.

Al igual que con la función execute para el flujo de trabajo como un todo, el miembro execute de cada paso toma como argumento un objeto que contiene los parámetros del flujo de trabajo.

Ejemplo 4-7  Generación de informes de ejecución de flujos de trabajo

Como ejemplo, en el siguiente flujo de trabajo, se crea un nuevo proyecto, recurso compartido y registro de auditoría en tres pasos:

var steps = [ {
	step: 'Checking for associated project',
	execute: function (params) {
		try {
			run('shares select ' + params.unit);
		} catch (err) {
			if (err.code != EAKSH_ENTITY_BADSELECT)
				throw (err);

			/*
			 * We haven't yet created a project that corresponds to
			 * this business unit; create it now.
			 */
			run('shares project ' + params.unit);
			set('mountpoint', '/export/' + params.unit);
			run('commit');
			run('shares select ' + params.unit);
		}
	}
}, {
	step: 'Creating share',
	execute: function (params) {
		run('filesystem ' + params.name);
		run('commit');
	}
}, {
	step: 'Creating audit record',
	execute: function (params) {
		audit('created "' + params.name + '" in "' + params.unit);
	}
} ];

var workflow = {
	name: 'Create share',
	description: 'Creates a new share in a business unit',
	parameters: {
		name: {
			label: 'Name of new share',
			type: 'String'
		},
		unit: {
			label: 'Business unit',
			type: 'ChooseOne',
			options: [ 'development', 'finance', 'qa', 'sales' ],
			optionlabels: [ 'Development', 'Finance',
			    'Quality Assurance', 'Sales/Administrative' ],
		}
	},
	validate: function (params) {
		try {
			run('shares select ' + params.unit);
			run('select ' + params.name);
		} catch (err) {
			if (err.code == EAKSH_ENTITY_BADSELECT)
				return;
		}

		return ({ name: 'share already exists' });
	},
	execute: function (params) { return (steps); }
};