Plugin Management

This section provides information on the data management plugin deployed on the Delphix Engine. Users can directly upload their Plugins to the Delphix Management application with a single click, thus eliminating the process to uploading the Plugin using scripts. Plugin upload via the Delphix Management application helps users to build their Plugin library in a simple and easy to use manner. 

The Plugin screen allows users to view a structured or formatted view of their selected Plugin and it provides a single click option for users to delete a Plugin. 

Only Admin users are able to upload or delete Plugins. Standard users are only able to view Plugin information.

Plugin Types

There are two types of plugins the Delphix engine supports Lua plugins and platform plugins. Because support for these types of plugins was written at different times, the upgrade and replication workflows will differ depending on what the plugin type is. To figure out what type of plugin this is, follow the instructions below:

  1. Login to the Delphix Management application.
  2. Select Manage > Plugins.
  3. Select on the plugin you want to check and look for the type field in the details section on the right.
  4. If the type is Toolkit this means the plugin is a Lua plugin. If the type is Plugin, the plugin is a platform plugin.

Installation of Plugin

Plugins can be uploaded onto the Delphix Engine only by an admin.

Prerequisites

  • Have access to the plugin artifact that is being installed.
  • If the uploaded plugin is a platform plugin, verify with the plugin author that the plugin was built with a compatible SDK.

Procedure

To add or upload a new Plugin complete the instructions below:

  1. Login to the Delphix Management application.
  2. Select Manage > Plugins.
  3. To add or upload a Plugin, click the icon. 
    This opens the Upload or Upgrade Plugin dialog. 
  4. To start using the plugin, refresh target and source environments to discover any repositories.

Upgrading a Plugin

When a new version of a plugin is released, the new plugin can only be uploaded onto the Delphix Engine by an Admin. 

Prerequisites

  • Have access to the plugin artifact that is being installed.
  • Verify with the plugin author that the new version of the plugin is compatible with your current version.
  • If the uploaded plugin is Lua, then all related dSources and VDBs have to be disabled.
  • If the uploaded plugin is a platform plugin, verify that a plugin with the same name written in Lua is not already installed. This is not currently supported.
  • If the uploaded plugin is a platform plugin, verify with the plugin author that the new plugin was built with a compatible SDK.
  • If the uploaded plugin is a platform plugin, be prepared to not be able to perform any Delphix operations with objects pointing to this plugin while the upgrade is happening. 

Procedure

To upgrade a Plugin just follow the instructions above on how to upload a Plugin. Any VDBs that exist with this plugin will have no downtime as the database will still be accessible, however, no Delphix operations can be done while the upgrade is in progress.

Notes on Replication with Objects that are part of a Plugin

Replication works the same way for objects created with plugins and objects created using natively supported data types. There are some differences when the target engine either doesn't have the plugin installed at all, or has a different version of the plugin installed.

There are specifically two operations done after replication that will be listed below. 

Provisioning from Replicated Data Sources or VDBs

Replica provisioning only works when the source object's plugin is already also installed on the target engine.

If the replicated data source or VDB's plugin is a platform plugin, the plugin needs to be equal to or greater than the version of the plugin that was replicated. If the plugin is not installed, the provision will fail. Similarly, if the plugin installed on the target engine is a lower version of the plugin the provision will also fail.
If instead the replicated data source or VDB comes from a Lua plugin then replication will only work if the exact plugin version is installed on the target otherwise the provision will fail.

More generic information on how to perform a replica provision can be found here.

Failing Over a Replica

Replica failover will always work, but how the objects are handled after the failover depends on a couple of different factors.


If the failed-over objects are from a Lua plugin:

  • These objects can be able enabled if necessary and used with no issues after failover is finished.
  • If other Lua plugin versions were installed on the target previously, these objects will continue to exist.
  • If there are multiple versions of Lua plugins installed, on a new upgrade, only the highest Lua plugin will be upgraded.
  • Lua plugins cannot be upgraded to platform plugins currently.

If the failed-over objects are from a platform plugin:

  • If no plugin is installed on the target, the replicated plugin will be pulled over to the live namespace and objects may then be enabled and used.
  • If the plugin is installed on the target, there are a couple of scenarios these objects can be in depending on the version:
    • If the version of the plugin is the same, all objects will be failed over and point to the already installed plugin.
    • If the target's plugin version is higher, then the replicated plugin will be marked as "inactive", and a fault will be posted. This inactive plugin must be manually upgraded.
    • If the version of the plugin on the target is lower there will instead be a fault posted during failover saying that the replicated plugin is set to inactive and the active plugin needs to be upgraded to the inactive plugin’s version before the replicated objects can be enabled.

If your plugin is now in an inactive state, all objects (data sources, VDBs, source configs, repositories, snapshots) will not be useable. To make the objects usable you either need to upgrade the inactive plugin to the same version as the active plugin (in the case where the target was higher, continue reading for directions how) or upgrade the active plugin to the same version as the inactive plugin (in the case where the target was lower).

More generic information on how to perform an actual failover can be found here

Upgrading an Inactive Plugin

Plugins that are platform plugins can only get into an inactive state through replication. Once in that state, the inactive plugin can be upgraded only to the same version of the active plugin.

Procedure

To upgrade an inactive Plugin complete the instructions below:

  1. Login to the Delphix Management application.
  2. Select Manage > Plugins.
  3. In the drop-down menu on the left, select the plugin that is inactive.

  4. Click the upgrade buttonwhich should be clickable now to activate the inactive plugins. Make sure to confirm the upgrade by selecting OK.

  5. After the upgrade is successful the inactive plugin of the lower version will not exist in the plugin list.

If the inactive plugin is a higher version, the active plugin needs to be upgraded using the normal upgrade procedure instead.


Related Topics