Optional Properties for GDS
Optional GDS properties include:
Network_resources_used
Stop_command (extension property)
Probe_command(extension property)
Start_timeout
Stop_timeout
Probe_timeout (extension property)
Child_mon_level (extension property only used with the standard administration commands)
Failover_enabled (extension property)
Stop_signal (extension property)
Network_resources_used Property
The default value for this property is null. This property must be specified if the application needs to bind to one or more specific addresses. If this property is omitted or is specified as Null, the application is assumed to listen on all addresses.
Before creating the GDS resource, a LogicalHostname or SharedAddress resource must already have been configured. See the Sun Cluster 3.1 Data Service Planning and Administration Guide for information about how to configure a LogicalHostname or SharedAddress resource.
To specify a value, specify one or more resource names; each resource name can contain one or more LogicalHostname or one or more SharedAddress. See r_properties(5) for details.
Stop_command Property
The stop command must stop the application and only return after the application has been completely stopped. It must be a complete UNIX command that can be passed directly to a shell to stop the application.
If the Stop_command is provided, the GDS stop method launches the stop command with 80% of the stop timeout. Regardless of the outcome of launching the stop command, the GDS stop method sends SIGKILL with 15% of the stop timeout. The remaining 5% of the time is reserved for housekeeping overhead.
If the stop command is omitted, the GDS tries to stop the application using the signal specified in Stop_signal.
Probe_command Property
The probe command periodically checks the health of the given application. It must be a UNIX command complete with its arguments that can be passed directly to a shell to probe the application. The probe command returns with an exit status of 0 if the application is OK.
The exit status of the probe command is used to determine the severity of the failure of the application. This exit status, called probe status, must be an integer between 0 (for success) and 100 (for complete failure). The probe status can also be a special value of 201 which results in immediate failover of the application unless Failover_enabled is set to false. The probe status is used within the GDS probing algorithm (see scds_fm_action(3HA) to make the decision about restarting the application locally versus failing it over to another node; if the exit status is 201, the application is immediately failed over.
If the probe command is omitted, the GDS provides its own simple probe that connects to the application on the set of IP addresses derived from the Network_resources_used property or the output of scds_get_netaddr_list(3HA). If the connect succeeds, it disconnects immediately. If both connect and disconnect succeed, the application is deemed to be running healthily.
Note - The probe provided with the GDS is only intended to be a simple substitute for the fully functioning application-specific probe.
Start_timeout Property
This property specifies the start timeout for the start command (see Start_command Extension Property for additional information). The default for Start_timeout is 300 seconds.
Stop_timeout Property
This property specifies the stop timeout for the stop command (see Stop_command Property for the additional information. The default for Stop_timeout is 300 seconds.
Probe_timeout Property
This property specifies the timeout value for the probe command (see Probe_command Property for additional information. The default for Probe_timeout is 30 seconds.
Child_mon_level Property
This property provides control over which processes get monitored through PMF. It denotes the level up to which the forked children processes are monitored. This is similar to the -C argument to the pmfadm(1M) command.
Omitting this property, or setting it to the default value of -1, has the same effect as omitting the -C option on the pmfadm command; that is, all children (and their descendents) will be monitored.
Note - This option can only be specified using the standard Sun Cluster administration commands. This option cannot be specified if you are using the SunPlex Agent Builder.
Failover_enabled Property
This boolean extension property controls the failover behavior of the resource. If this extension property is set to true, the application fails over when the number of restarts exceeds the retry_count within the retry_interval number of seconds.
If this extension property is set to false, the application does not restart or fail over to another node when the number of restarts exceed the retry_count within the retry_interval number of seconds.
This extension property can be used to prevent the application resource from initiating a failover of the resource group. The default is true.
Stop_signal Property
The GDS uses the value of this integer extension property to determine the signal used for stopping the application through PMF. See signal(3HEAD) for a list of the integer values that can be specified. The default is 15 (SIGTERM).
Using the SunPlex Agent Builder to Create a Service Using GDS
You can use the SunPlex Agent Builder to create the service that uses the GDS. The SunPlex Agent Builder is described in more detail in Chapter 9, SunPlex Agent Builder.
Create a Service Using GDS in the SunPlex Agent Builder
Creating a Service Using GDS in the Agent Builder
Start the SunPlex Agent Builder.
# /usr/cluster/bin/scdsbuilder
The SunPlex Agent Builder panel appears.

Enter the Vendor Name.
Enter the Application Name.
Note - The combination of Vendor and Application Name may not contain more than nine characters. It is used as the name of the package for the driving scripts.
Go to the working directory.
You can use the Browse pulldown to select the directory rather than typing the path.
Select whether the data service is scalable or failover.
You do not need to select Network Aware since that is the default when creating the GDS.
Select GDS.
Click the Create button to create the driving scripts.
The SunPlex Agent Builder panel displays the results of the creation of the service. The Create button is grayed out and you can now use the Next button.

Configuring the Driving Scripts
After creating the driving scripts, you need to use the SunPlex Agent Builder to configure the new service.
Click the Next button and the configuration panel appears.
Either enter the location of the Start command or use the browse button to locate the Start command.
(Optional) Enter the Stop command or use the browse button to locate the Stop command.
(Optional) Enter the Probe command or use the browse button to locate the Probe command.
(Optional) Specify the timeout values for the Start, Stop, and Probe commands.
Click Configure to start the configuration of the driving scripts.
Note - The package name will consist of a concatenation of the Vendor Name and Application Name.
A package for driving scripts will be created and placed in:
For example, /export/wdir/NETapp/pkg<working-dir>/<vendor_name><application>/pkg
Install the completed package on all nodes of the cluster.
# cd /export/wdir/NETapp/pkg # pkgadd -d . NETapp
The following files will be installed during the pkgadd:
/opt/NETapp /opt/NETapp/README.app /opt/NETapp/man /opt/NETapp/man/man1m /opt/NETapp/man/man1m/removeapp.1m /opt/NETapp/man/man1m/startapp.1m /opt/NETapp/man/man1m/stopapp.1m /opt/NETapp/man/man1m/app_config.1m /opt/NETapp/util /opt/NETapp/util/removeapp /opt/NETapp/util/startapp /opt/NETapp/util/stopapp /opt/NETapp/util/app_config
Note - The man pages and script names will correspond to the Application Name you entered above preceded by the script name; for example, startapp.
To view the man pages, you need to specify the path to the man page. For example, to view the startapp man pages, use:
# man -M /opt/NETapp/man startapp
On one node of the cluster, configure the resources and start the application.
# /opt/NETapp/util/startapp -h <logichostname> -p <port and protocol list>
The arguments to the start script will vary according to the type of resource: failover or scalable. Check the customized man page or run the start script without any argument to get a usage statement.
# /opt/NETapp/util/startapp The resource name of LogicalHostname or SharedAddress must be specified. For failover services: Usage: startapp -h <logical host name> -p <port and protocol list> [-n <ipmpgroup/adapter list>] For scalable services: Usage: startapp -h <shared address name> -p <port and protocol list> [-l <load balancing policy>] [-n <ipmpgroup/adapter list>] [-w <load balancing weights>]



