Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Guide d'administration des systèmes Oracle® ZFS Storage Appliance |
Utilisation de la présente documentation
Chapitre 1 Présentation d'Oracle ZFS Storage Appliance
Chapitre 3 Configuration initiale
Chapitre 4 Configuration réseau
Chapitre 5 Configuration de stockage
Chapitre 6 Configuration du réseau de stockage SAN
Chapitre 7 Configuration utilisateur
Chapitre 8 Définition des préférences de ZFSSA
Chapitre 9 Configuration des alertes
Chapitre 10 Configuration de cluster
Chapitre 12 Partages, projets et schéma
Chapitre 15 Ecriture de scripts à l'aide de la CLI
Chapitre 16 Maintenance des workflows
Contexte d'exécution des workflows
Gestion des erreurs des workflows
Validation des entrées des workflows
Exécution d'un audit des workflows
Gestion des versions des workflows
Workflows en tant qu'actions d'alerte
Contexte d'exécution des actions d'alerte
Réalisation d'audits sur les actions d'alerte
Utilisation de workflows programmés
Exemple : sélection du type de périphérique
Pour les workflows complexes à durée d'exécution prolongée, il peut être utile de fournir à l'utilisateur qui exécute le workflow des informations claires sur l'avancement. Pour permettre un tel signalement de l'avancement de l'exécution d'un workflow, il faut que le membre execute retourne une série d'étapes. Chaque élément de la série doit contenir les membres suivants :
|
Comme pour la fonction execute appliquée au workflow dans son ensemble, le membre execute de chaque étape accepte comme argument un objet contenant les paramètres du workflow. L'exemple suivant illustre un workflow qui crée un nouveau projet, un nouveau partage et un nouvel enregistrement d'audit au cours de trois étapes :
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); } };