Hook operations allow you to execute an ordered list of custom scripted operations at select execution points while linking and syncing dSources. These operations are known as "hooks," and the execution points are usually before ("pre") or after ("post") a particular Delphix data management operation. 

dSource Hooks

Hook
Description
Pre-Sync

Pre-sync hook operations are executed before a Snapsync of a dSource.

These operations can quiesce data to be captured during the Snapsync, or stop application processes that may interfere with the Snapsync operation.

Post-Sync

Post-Sync hook operations are executed after a Snapsync operation of a dSource.

These operations can undo any changes made by the pre-sync hooks. They will run regardless of the success of pre-sync hook operations or the Snapsync itself.

You can leverage hooks to run required scripts which address several different use cases. For example, you may want to prevent your monitoring systems from triggering during VDB startup and shutdown. As shown in the figure below, you can now leverage pre- and post-hooks to run required scripts for VDB start/stop operations.

Users can leverage pre- and post-hooks to run required scripts.

Select the pencil icon to edit the selected hook.


Operation Failure

If a hook operation fails, it will fail the entire hook: no further operations within the failed hook will be run.

Setting Hook Operations

You can construct hook operation lists through the Delphix Management application or the command line interface (CLI). You can either define the operation lists as part of the linking or provisioning process or edit them on dSources or virtual datasets that already exist.

Setting Hook Operations through the Delphix Management Application

The provisioning wizard still imports hook operations from templates.

Hook operations can be provisioned in the Hooks tab of the Add dSource or Add VDB wizards.

  1. Select the type of operation and enter a name, operation type, and script.
  2. To remove an operation from the list, click the Trash icon on the operation.
  3. When you have set all hook operations, click Next to continue with the provisioning process.

To edit hook operations on a virtual dataset:

From the Datasets panel, you can create hook operations from a template. 
  1. In the Datasets panel, click the virtual dataset.
  2. Click the Configuration tab.
  3. Within the Configuration tab, click the Hooks tab.
  4. Select the hook to edit.
  5. The current operations at this hook will be displayed. To edit this list of operations, click the Pencil icon in the top right-hand corner of the tab.
  6. Click the Plus icon to add a new operation.
  7. Select the type of operation or click  to load a hook operation template.
  8. Click the text area and edit the contents of the operation.
  9. To remove an operation from the list, click the Trash icon on the operation.
  10. When you have set all hook operations, click the checkmark to save the changes.

Setting Hook Operations through the CLI

To specify hook operations during linking, edit the relevant hook's array of operations defined on the LinkingParameters > Source > Operations object.

To specify hook operations during provisioning, edit the relevant hook's array of operations defined on the ProvisionParameters > Source > Operations object.

To edit hook operations on a dSource that already exists, edit the relevant hook's array of operations defined on the Source > Operations object.

To edit hook operations on a virtual dataset that already exists, edit the relevant hook's array of operations defined on the Source > Operations object.

For more information about these CLI objects, see the following documentation in the Help menu of the Delphix Management application:

  •  LinkedSourceOperations
  • VirtualSourceOperations
  • RunCommandOnSourceOperation
  • RunExpectOnSourceOperation API

Example of Editing Hook Operations through the CLI

  1. Navigate to the relevant source's  VirtualSourceOperations  object.
  2. Select a hook to edit.


    delphix> source
    delphix source> select "pomme"
    delphix source "pomme"> update
    delphix source "pomme" update *> edit operations
    delphix source "pomme" update operations *> edit postRefresh
  3. Add an operation at index 0.


    delphix source "pomme" update operations postRefresh *> add
    delphix source "pomme" update operations postRefresh 0 *> set type=RunCommandOnSourceOperation
    delphix source "pomme" update operations postRefresh 0 *> set command="echo Refresh completed."
    delphix source "pomme" update operations postRefresh 0 *> ls
    Properties
        type: RunCommandOnSourceOperation (*)
        command: echo Refresh completed. (*)
    delphix source "pomme" update operations postRefresh 0 *> commit
  4. Add another operation at index 1 and then delete it.


    delphix source "pomme" update operations postRefresh *> add
    delphix source "pomme" update operations postRefresh 1 *> set type=RunCommandOnSourceOperation
    delphix source "pomme" update operations postRefresh 1 *> set command="echo Refresh completed."
    delphix source "pomme" update operations postRefresh 1 *> back
    delphix source "pomme" update operations postRefresh *> unset 1
    delphix source "pomme" update operations postRefresh *> commit

Hook Operation Templates

You can use templates to store commonly used operations, which allows you to avoid repeated work when an operation is applicable to more than a single dSource or virtual dataset. You manage templates through the Delphix Management application.

Hook Operations Templates Not Available via CLI

You cannot fully utilize hook operation templates from the CLI. Manage and use hook operations through the Delphix Management application.

Creating a Hook Operation Template

The provisioning wizard still imports hook operations from templates.
  1. Login to the Delphix Management application.
  2. Click Manage.
  3. Select Operation Templates.
  4. Click the Plus icon to add a new operation template.
  5. Enter a Name for the template.
  6. Select an operation Type.
  7. Enter a Description detailing what the operation does or how to use it.
  8. Enter operation Contents to implement the operation partially or fully.
  9. Click Create.

Importing a Hook Operation Template

To import a hook operation template:
  1. In the Datasets panel, select a dataset.
  2. Click the Configuration tab.
  3. Within the Configuration tab, click the Hooks tab.
  4. Select the hook to edit.
  5. Click the Plus icon to add a new operation.
  6. Click Import.
  7. Select the template to import.
  8. Click Import.
  9. When you have set all hook operations, click Check to save the changes.

Exporting a Hook Operation Template

To export a hook operation template:
  1. In the Datasets panel, select a dataset.
  2. Click the Configuration tab.
  3. Within the Configuration tab, click the Hooks tab. 
  4. Select the hook to edit.
  5. Click the Plus icon to add a new operation.
  6. Select the type of operation.
  7. Click the text area and edit the contents of the operation.
  8. Click Export.
  9. Enter a Name for the template.
  10. Enter a Description detailing what the operation does or how to use it.
  11. Click Export.

Related Links