Skip Navigation Links | |
Exit Print View | |
![]() |
Oracle® ZFS Storage Appliance Customer Service Manual For ZS3-x, 7x20 Controllers, and DE2-24, Sun Disk Shelves |
Chapter 2 Hardware Maintenance
Managing Support Bundles Using the BUI
Generating and Uploading a Support Bundle Using the BUI
Managing Support Bundles Using the CLI
Scheduling Software Notification Using the BUI
Scheduling Software Notification Using the CLI
Checking for Updates Using the BUI
Checking for Updates Using the CLI
Troubleshooting Update Health Check Failures
Actions to Take to Resolve Health Check Alerts
Steps for Resolving Health Check Alerts
Performing the Cluster Upgrade
Applying Deferred Updates (CLI)
Triple-Parity RAID Deferred Update
Data Deduplication Deferred Update
Received Properties Deferred Update
Snapshot Deletion Deferred Update
Recursive Snapshots Deferred Update
Multiple Initiator Groups per LUN
Managing Configuration Backups Using the BUI
Restore from a Saved Configuration
Managing Configuration Backups Using the CLI
Restore from a Saved Configuration
Alert Action Execution Context
For complicated workflows that may require some time to execute, it can be useful to provide clear progress to the user executing the workflow. To allow the execution of a workflow to be reported in this way, the execute member should return an array of steps. Each array element must contain the following members:
|
As with the execute function on the workflow as a whole, the execute member of each step takes as its argument an object that contains the parameters to the workflow. As an example, here is a workflow that creates a new project, share, and audit record over three steps:
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); } };