How to Install and Configure Community Plugin in Snap Creator?

One of the cool benefits of Snap Creator Framework is to write your own plugin to backup any application that can be quiesced an unquiesced.


This blog explains how to install / configure community plug-ins.

A community plug-in is, any plug-in NOT built-in to a Snap Creator release.

The support for the community plugins are handled only thru the http://netapp.com/snapcreator communities website.


Community plug-ins run as source code. There are two styles of plug-ins: perl-style and native-style.

If you are a seasoned developer, we encourage you to contribute by enhancing the existing plugins or by creating new plugins for all the cool applications out there.

 

The following illustration shows the Agent Architecture.

By default, port 9090 is used for agent communications. However, you can also use any other port.

SOAP is used over the HTTP for communication. Based on a WSDL, any SOAP client can interact with the agent.

Currently, Apache CXF (for Java) and PowerShell (for Windows) can be used.

The supported application plug-ins are built into the agent.

 

Where to get community plug-ins?

Community plug-ins are located in repository's in GitHub under https://github.com/NetApp. The repository's are named SC-<PLUGIN>. Under the repository the plug-in is located under src/<language>. Each plug-in comes with a config stub, these are the config settings a plug-in requires. The config stubs are located under src/config.

When downloading plug-in make sure you get the correct version. Versions are managed through branches. The latest code is always in the main branch. Community release branches are RX.X.Xc and NetApp supported release branches are RX.X.Xx.

 

What community plugins are available today?

SC-OVM    

SC-NETWARE

SC-CACHE

SC-SYBASEIQ

SC-POSTGRES

SC-INFORMIX

SC-MongoDB

SC-HANA

SC-FS-PLUGINS  (ZFS snapshots)

 

Installing plug-in

Perl-Style

If the plug-in is a perl plug-in meaning it ends with .pm then you would copy the plug-in to scAgent/plugins/PLUGIN/<PLUGIN>.pm on the scAgent or scServer depending on where plug-in should run.

If you are using an scAgent then the plug-in must be installed there. If you are only using an scServer then the plug-in must be installed there.

Example: XEN.pm

          scAgentX.X.X/plugins/XEN/XEN.pm

          scServerX.X.X/plugins/XEN/XEN.pm

The plug-in will be loaded in Snap Creator with the APP_NAME parameter, in this case APP_NAME=XEN

Please ensure to restart the scAgent process (or service in Unix) after loading your plugin.

Native-Style

If the plug-in is not perl meaning it doesn't end with .pm it is by definition a native-style plug-in.

Native-style plug.ins should be copied to /plugins/native/<plugin> on the scAgent or scServer depending on where plug-in should run.

If you are using an scAgent then the plug-in must be installed there. If you are only using an scServer then the plug-in must be installed there.

Example: db2.sh

          scAgentX.X.X/plugins/native/db2.sh

          scServerX.X.X/plugins/native/db2.sh

The plug-in will be loaded in Snap Creator with the APP_NAME parameter, in this case APP_NAME=db2.sh

The native-plugins must be executable so make sure plug-in has execute permissions

 

Configuring plug-in

Once the plug-in is installed, you will need to find the plug-in configuration stub.

The plug-in stub has a list of all the configuration parameters required for a plug-in and an explanation of what they do.

The plug-in configuration stub is located under the plug-in repository SC-<PLUGIN>/src/config

 

For more information on Snap Creator config parameters or documentation see: http://support.netapp.com/NOW/cgi-bin/software?product=Snap+Creator+Framework&platform=All+Platforms

If you have questions, please feel free to post them in the Communities website.

 

Note: Please limit this discussion to Snap Creator Framework 4.0 release.

Comments
New Contributor

When I go to  https://github.com/NetApp there aren't any repositories listed called SC-*.I'm looking for the SC-MongoDB plugin. Can anyone point me in the right direction please? Mark.

Hi I can not find the plugin repository on GitHub. Is there any way to find the plugin informix?. Thank you