Resource type attributes

You can override some static attributes for resource types.

For more information on any attribute listed below, see the chapter on setting agent parameters in the Cluster Server Agent Developer's Guide.

Table: Resource type attributes lists the resource type attributes.

Table: Resource type attributes

Resource type attributes

Description

ActionTimeout

(user-defined)

Timeout value for the Action function.

  • Type and dimension: integer-scalar

  • Default: 30 seconds

AdvDbg

(user-defined)

Enables activation of advanced debugging:

  • Type and dimension: string-keylist

  • Default: Not applicable

For information about the AdvDbg attribute, see the Cluster Server Agent Developer's Guide.

AgentClass

(user-defined)

Indicates the scheduling class for the VCS agent process.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

  • Type and dimension: string-scalar

  • Default: TS

AgentDirectory

(user-defined)

Complete path of the directory in which the agent binary and scripts are located.

Agents look for binaries and scripts in the following directories:

  • Directory specified by the AgentDirectory attribute

  • /opt/VRTSvcs/bin/type/

  • /opt/VRTSagents/ha/bin/type/

If none of the above directories exist, the agent does not start.

Use this attribute in conjunction with the AgentFile attribute to specify a different location or different binary for the agent.

  • Type and dimension: string-scalar

  • Default = ""

AgentFailedOn

(system use only)

A list of systems on which the agent for the resource type has failed.

  • Type and dimension: string-keylist

  • Default: Not applicable.

AgentFile

(user-defined)

Complete name and path of the binary for an agent. If you do not specify a value for this attribute, VCS uses the agent binary at the path defined by the AgentDirectory attribute.

  • Type and dimension: string-scalar

  • Default = ""

AgentPriority

(user-defined)

Indicates the priority in which the agent process runs.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

Type and dimension: string-scalar

Default: 0

AgentReplyTimeout

(user-defined)

The number of seconds the engine waits to receive a heartbeat from the agent before restarting the agent.

  • Type and dimension: integer-scalar

  • Default: 130 seconds

AgentStartTimeout

(user-defined)

The number of seconds after starting the agent that the engine waits for the initial agent "handshake" before restarting the agent.

  • Type and dimension: integer-scalar

  • Default: 60 seconds

AlertOnMonitorTimeouts

(user-defined)

Note:

This attribute can be overridden.

When a monitor times out as many times as the value or a multiple of the value specified by this attribute, then VCS sends an SNMP notification to the user. If this attribute is set to a value, say N, then after sending the notification at the first monitor timeout, VCS also sends an SNMP notification at each N-consecutive monitor timeout including the first monitor timeout for the second-time notification.

When AlertOnMonitorTimeouts is set to 0, VCS will send an SNMP notification to the user only for the first monitor timeout; VCS will not send further notifications to the user for subsequent monitor timeouts until the monitor returns a success.

The AlertOnMonitorTimeouts attribute can be used in conjunction with the FaultOnMonitorTimeouts attribute to control the behavior of resources of a group configured under VCS in case of monitor timeouts. When FaultOnMonitorTimeouts is set to 0 and AlertOnMonitorTimeouts is set to some value for all resources of a service group, then VCS will not perform any action on monitor timeouts for resources configured under that service group, but will only send notifications at the frequency set in the AlertOnMonitorTimeouts attribute.

  • Type and dimension: integer-scalar

  • Default: 0

ArgList

(user-defined)

An ordered list of attributes whose values are passed to the open, close, online, offline, monitor, clean, info, and action functions.

  • Type and dimension: string-vector

  • Default: Not applicable.

AttrChangedTimeout

(user-defined)

Note:

This attribute can be overridden.

Maximum time (in seconds) within which the attr_changed function must complete or be terminated.

  • Type and dimension: integer-scalar

  • Default: 60 seconds

CleanRetryLimit

(user-defined)

Number of times to retry the clean function before moving a resource to ADMIN_WAIT state. If set to 0, clean is re-tried indefinitely.

The valid values of this attribute are in the range of 0-1024.

  • Type and dimension: integer-scalar

  • Default: 0

CleanTimeout

(user-defined)

Note:

This attribute can be overridden.

Maximum time (in seconds) within which the clean function must complete or else be terminated.

  • Type and dimension: integer-scalar

  • Default: 60 seconds

CloseTimeout

(user-defined)

Note:

This attribute can be overridden.

Maximum time (in seconds) within which the close function must complete or else be terminated.

  • Type and dimension: integer-scalar

  • Default: 60 seconds

ConfInterval

(user-defined)

Note:

This attribute can be overridden.

When a resource has remained online for the specified time (in seconds), previous faults and restart attempts are ignored by the agent. (See ToleranceLimit and RestartLimit attributes for details.)

  • Type and dimension: integer-scalar

  • Default: 600 seconds

ContainerOpts

(system use only)

Specifies information that passes to the agent that controls the resources. These values are only effective when you set the ContainerInfo service group attribute.

  • RunInContainer

    When the value of the RunInContainer key is 1, the agent function (entry point) for that resource runs inside of the local container.

    When the value of the RunInContainer key is 0, the agent function (entry point) for that resource runs outside the local container (in the global environment).

  • PassCInfo

    When the value of the PassCInfo key is 1, the agent function receives the container information that is defined in the service group's ContainerInfo attribute. An example use of this value is to pass the name of the container to the agent. When the value of the PassCInfo key is 0, the agent function does not receive the container information that is defined in the service group's ContainerInfo attribute.

EPClass

(user-defined)

Enables you to control the scheduling class for the agent functions (entry points) other than the online entry point whether the entry point is in C or scripts.

The following values are valid for this attribute:

  • RT (Real Time)

  • TS (Time Sharing)

  • -1 - indicates that VCS does not use this attribute to control the scheduling class of entry points.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

  • Type and dimension: string-scalar

  • Default: -1

EPPriority

(user-defined)

Enables you to control the scheduling priority for the agent functions (entry points) other than the online entry point. The attribute controls the agent function priority whether the entry point is in C or scripts.

The following values are valid for this attribute:

  • 0 - indicates the default priority value for the configured scheduling class as given by the EPClass attribute for the operating system.

  • Greater than 0 - indicates a value greater than the default priority for the operating system. Veritas recommends a value of greater than 0 for this attribute. A system that has a higher load requires a greater value.

  • -1 - indicates that VCS does not use this attribute to control the scheduling priority of entry points.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

  • Type and dimension: string-scalar

  • Default: -1

ExternalStateChange

(user-defined)

Note:

This attribute can be overridden.

Defines how VCS handles service group state when resources are intentionally brought online or taken offline outside of VCS control.

The attribute can take the following values:

OnlineGroup: If the configured application is started outside of VCS control, VCS brings the corresponding service group online.

OfflineGroup: If the configured application is stopped outside of VCS control, VCS takes the corresponding service group offline.

OfflineHold: If a configured application is stopped outside of VCS control, VCS sets the state of the corresponding VCS resource as offline. VCS does not take any parent resources or the service group offline.

OfflineHold and OfflineGroup are mutually exclusive.

FaultOnMonitorTimeouts

(user-defined)

Note:

This attribute can be overridden.

When a monitor times out as many times as the value specified, the corresponding resource is brought down by calling the clean function. The resource is then marked FAULTED, or it is restarted, depending on the value set in the RestartLimit attribute.

When FaultOnMonitorTimeouts is set to 0, monitor failures are not considered indicative of a resource fault. A low value may lead to spurious resource faults, especially on heavily loaded systems.

  • Type and dimension: integer-scalar

  • Default: 4

FaultPropagation

(user-defined)

Note:

This attribute can be overridden.

Specifies if VCS should propagate the fault up to parent resources and take the entire service group offline when a resource faults.

The value 1 indicates that when a resource faults, VCS fails over the service group, if the group's AutoFailOver attribute is set to 1. The value 0 indicates that when a resource faults, VCS does not take other resources offline, regardless of the value of the Critical attribute. The service group does not fail over on resource fault.

  • Type and dimension: boolean-scalar

  • Default: 1

FireDrill

(user-defined)

Specifies whether or not fire drill is enabled for the resource type. If the value is:

  • 0: Fire drill is disabled.

  • 1: Fire drill is enabled.

You can override this attribute.

  • Type and dimension: boolean-scalar

  • Default: 0

IMF

(user-defined)

Note:

This attribute can be overridden.

Determines whether the IMF-aware agent must perform intelligent resource monitoring. You can also override the value of this attribute at resource-level.

Type and dimension: integer-association

This attribute includes the following keys:

  • Mode

    Define this attribute to enable or disable intelligent resource monitoring.

    Valid values are as follows:

    • 0 - Does not perform intelligent resource monitoring

    • 1 - Performs intelligent resource monitoring for offline resources and performs poll-based monitoring for online resources

    • 2 - Performs intelligent resource monitoring for online resources and performs poll-based monitoring for offline resources

    • 3 - Performs intelligent resource monitoring for both online and for offline resources

  • MonitorFreq

    This key value specifies the frequency at which the agent invokes the monitor agent function. The value of this key is an integer.

    You can set this attribute to a non-zero value in some cases where the agent requires to perform poll-based resource monitoring in addition to the intelligent resource monitoring. See the Cluster Server Bundled Agents Reference Guide for agent-specific recommendations.

    After the resource registers with the IMF notification module, the agent calls the monitor agent function as follows:

    • After every (MonitorFreq x MonitorInterval) number of seconds for online resources

    • After every (MonitorFreq x OfflineMonitorInterval) number of seconds for offline resources

  • RegisterRetryLimit

    If you enable IMF, the agent invokes the imf_register agent function to register the resource with the IMF notification module. The value of the RegisterRetyLimit key determines the number of times the agent must retry registration for a resource. If the agent cannot register the resource within the limit that is specified, then intelligent monitoring is disabled until the resource state changes or the value of the Mode key changes.

IMFRegList

(user-defined)

An ordered list of attributes whose values are registered with the IMF notification module.

  • Type and dimension: string-vector

  • Default: Not applicable.

InfoInterval

(user-defined)

Duration (in seconds) after which the info function is invoked by the agent framework for ONLINE resources of the particular resource type.

If set to 0, the agent framework does not periodically invoke the info function. To manually invoke the info function, use the command hares -refreshinfo. If the value you designate is 30, for example, the function is invoked every 30 seconds for all ONLINE resources of the particular resource type.

  • Type and dimension: integer-scalar

  • Default: 0

IntentionalOffline

(user-defined)

Defines how VCS reacts when a configured application is intentionally stopped outside of VCS control.

Add this attribute for agents that support detection of an intentional offline outside of VCS control. Note that the intentional offline feature is available for agents registered as V51 or later.

The value 0 instructs the agent to register a fault and initiate the failover of a service group when the supported resource is taken offline outside of VCS control.

The value 1 instructs VCS to take the resource offline when the corresponding application is stopped outside of VCS control.

  • Type and dimension: boolean-scalar

  • Default: 0

InfoTimeout

(user-defined)

Timeout value for info function. If function does not complete by the designated time, the agent framework cancels the function's thread.

  • Type and dimension: integer-scalar

  • Default: 30 seconds

LevelTwoMonitorFreq

(user-defined)

Specifies the frequency at which the agent for this resource type must perform second-level or detailed monitoring.

Type and dimension: integer-scalar

Default: 0

LogDbg

(user-defined)

Indicates the debug severities enabled for the resource type or agent framework. Debug severities used by the agent functions are in the range of DBG_1 - DBG_21. The debug messages from the agent framework are logged with the severities DBG_AGINFO, DBG_AGDEBUG and DBG_AGTRACE, representing the least to most verbose.

  • Type and dimension: string-keylist

  • Default: {} (none)

The LogDbg attribute can be overridden. Using the LogDbg attribute, you can set DBG_AGINFO, DBG_AGTRACE, and DBG_AGDEBUG severities at the resource level, but it does not have an impact as these levels are agent-type specific. Veritas recommends to set values between DBG_1 to DBG_21 at resource level using the LogDbg attribute.

LogFileSize

(user-defined)

Specifies the size (in bytes) of the agent log file. Minimum value is 64 KB. Maximum value is 134217728 bytes (128MB).

  • Type and dimension: integer-scalar

  • Default: 33554432 (32 MB)

LogViaHalog

(user-defined)

Enables the log of all the entry points to be logged either in the respective agent log file or the engine log file based on the values configured.

  • 0: The agent's log goes into the respective agent log file.

  • 1: The C/C++ entry point's logs goes into the agent log file and the script entry point's logs goes into the engine log file using the halog command.

Type: boolean-scalar

Default: 0

MigrateWaitLimit

(user-defined)

Number of monitor intervals to wait for a resource to migrate after the migrating procedure is complete. MigrateWaitLimit is applicable for the source and target node because the migrate operation takes the resource offline on the source node and brings the resource online on the target node. You can also define MigrateWaitLimit as the number of monitor intervals to wait for the resource to go offline on the source node after completing the migrate procedure and the number of monitor intervals to wait for the resource to come online on the target node after resource is offline on the source node.

  • Type and dimension: integer-scalar

  • Default: 2

Note:

This attribute can be overridden.

Probes fired manually are counted when MigrateWaitLimit is set and the resource is waiting to migrate. For example, if the MigrateWaitLimit of a resource is set to 5 and the MonitorInterval is set to 60 (seconds), the resource waits for a maximum of five monitor intervals (that is, 5 x 60), and if all five monitors within MigrateWaitLimit report the resource as online on source node, it sets the ADMIN_WAIT flag. If you run another probe, the resource waits for four monitor intervals (that is, 4 x 60), and if the fourth monitor does not report the state as offline on source, it sets the ADMIN_WAIT flag. This procedure is repeated for 5 complete cycles. Similarly, if resource not moved to online state within the MigrateWaitLimit then it sets the ADMIN_WAIT flag.

MigrateTimeout

(user-defined)

Maximum time (in seconds) within which the migrate procedure must complete or else be terminated.

  • Type and dimension: integer-scalar

  • Default: 600 seconds

Note:

This attribute can be overridden.

MonitorInterval

(user-defined)

Note:

This attribute can be overridden.

Duration (in seconds) between two consecutive monitor calls for an ONLINE or transitioning resource.

Note:

Note: The value of this attribute for the MultiNICB type must be less than its value for the IPMultiNICB type. See the Cluster Server Bundled Agents Reference Guide for more information.

A low value may impact performance if many resources of the same type exist. A high value may delay detection of a faulted resource.

  • Type and dimension: integer-scalar

  • Default: 60 seconds

MonitorStatsParam

(user-defined)

Stores the required parameter values for calculating monitor time statistics.

static str MonitorStatsParam = {Frequency = 10, 
ExpectedValue = 3000, ValueThreshold = 100, 
AvgThreshold = 40}

Frequency: The number of monitor cycles after which the average monitor cycle time should be computed and sent to the engine. If configured, the value for this attribute must be between 1 and 30. The value 0 indicates that the monitor cycle ti me should not be computed. Default=0.

ExpectedValue: The expected monitor time in milliseconds for all resources of this type. Default=100.

ValueThreshold: The acceptable percentage difference between the expected monitor cycle time (ExpectedValue) and the actual monitor cycle time. Default=100.

AvgThreshold: The acceptable percentage difference between the benchmark average and the moving average of monitor cycle times. Default=40.

  • Type and dimension: integer-association

  • Default: Different value for each parameter.

MonitorTimeout

(user-defined)

Note:

This attribute can be overridden.

Maximum time (in seconds) within which the monitor function must complete or else be terminated.

  • Type and dimension: integer-scalar

  • Default: 60 seconds

NumThreads

(user-defined)

Number of threads used within the agent process for managing resources. This number does not include threads used for other internal purposes.

If the number of resources being managed by the agent is less than or equal to the NumThreads value, only that many number of threads are created in the agent. Addition of more resources does not create more service threads. Similarly deletion of resources causes service threads to exit. Thus, setting NumThreads to 1 forces the agent to just use 1 service thread no matter what the resource count is. The agent framework limits the value of this attribute to 30.

  • Type and dimension: integer-scalar

  • Default: 10

OfflineMonitorInterval

(user-defined)

Note:

This attribute can be overridden.

Duration (in seconds) between two consecutive monitor calls for an OFFLINE resource. If set to 0, OFFLINE resources are not monitored.

  • Type and dimension: integer-scalar

  • Default: 300 seconds

OfflineTimeout

(user-defined)

Note:

This attribute can be overridden.

Maximum time (in seconds) within which the offline function must complete or else be terminated.

  • Type and dimension: integer-scalar

  • Default: 300 seconds

OfflineWaitLimit

(user-defined)

Note:

This attribute can be overridden.

Number of monitor intervals to wait for the resource to go offline after completing the offline procedure. Increase the value of this attribute if the resource is likely to take a longer time to go offline.

Probes fired manually are counted when OfflineWaitLimit is set and the resource is waiting to go offline. For example, say the OfflineWaitLimit of a resource is set to 5 and the MonitorInterval is set to 60. The resource waits for a maximum of five monitor intervals (five times 60), and if all five monitors within OfflineWaitLimit report the resource as online, it calls the clean agent function. If the user fires a probe, the resource waits for four monitor intervals (four times 60), and if the fourth monitor does not report the state as offline, it calls the clean agent function. If the user fires another probe, one more monitor cycle is consumed and the resource waits for three monitor intervals (three times 60), and if the third monitor does not report the state as offline, it calls the clean agent function.

  • Type and dimension: integer-scalar

  • Default: 0

OnlineClass

(user-defined)

Enables you to control the scheduling class for the online agent function (entry point). This attribute controls the class whether the entry point is in C or scripts.

The following values are valid for this attribute:

  • RT (Real Time)

  • TS (Time Sharing)

  • -1 - indicates that VCS does not use this attribute to control the scheduling class of entry points.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

  • Type and dimension: string-scalar

  • Default: -1

OnlinePriority

(user-defined)

Enables you to control the scheduling priority for the online agent function (entry point). This attribute controls the priority whether the entry point is in C or scripts.

The following values are valid for this attribute:

  • 0 - indicates the default priority value for the configured scheduling class as given by the OnlineClass for the operating system.

    Veritas recommends that you set the value of the OnlinePriority attribute to 0.

  • Greater than 0 - indicates a value greater than the default priority for the operating system.

  • -1 - indicates that VCS does not use this attribute to control the scheduling priority of entry points.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

  • Type and dimension: string-scalar

  • Default: -1

OnlineRetryLimit

(user-defined)

Note:

This attribute can be overridden.

Number of times to retry the online operation if the attempt to online a resource is unsuccessful. This parameter is meaningful only if the clean operation is implemented.

  • Type and dimension: integer-scalar

  • Default: 0

OnlineTimeout

(user-defined)

Note:

This attribute can be overridden.

Maximum time (in seconds) within which the online function must complete or else be terminated.

  • Type and dimension: integer-scalar

  • Default: 300 seconds

OnlineWaitLimit

(user-defined)

Note:

This attribute can be overridden.

Number of monitor intervals to wait for the resource to come online after completing the online procedure. Increase the value of this attribute if the resource is likely to take a longer time to come online.

Each probe command fired from the user is considered as one monitor interval. For example, say the OnlineWaitLimit of a resource is set to 5. This means that the resource will be moved to a faulted state after five monitor intervals. If the user fires a probe, then the resource will be faulted after four monitor cycles, if the fourth monitor does not report the state as ONLINE. If the user again fires a probe, then one more monitor cycle is consumed and the resource will be faulted if the third monitor does not report the state as ONLINE.

  • Type and dimension: integer-scalar

  • Default: 2

OpenTimeout

(user-defined)

Note:

This attribute can be overridden.

Maximum time (in seconds) within which the open function must complete or else be terminated.

  • Type and dimension: integer-scalar

  • Default: 60 seconds

Operations

(user-defined)

Indicates valid operations for resources of the resource type. Values are OnOnly (can online only), OnOff (can online and offline), None (cannot online or offline).

  • Type and dimension: string-scalar

  • Default: OnOff

RestartLimit

(user-defined)

Note:

This attribute can be overridden.

Number of times to retry bringing a resource online when it is taken offline unexpectedly and before VCS declares it FAULTED.

  • Type and dimension: integer-scalar

  • Default: 0

ScriptClass

(user-defined)

Indicates the scheduling class of the script processes (for example, online) created by the agent.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

  • Type and dimension: string-scalar

  • Default: -1

  • Type and dimension: string-scalar

  • Default: TS

ScriptPriority

(user-defined)

Indicates the priority of the script processes created by the agent.

Use only one of the following sets of attributes to configure scheduling class and priority for VCS:

  • AgentClass, AgentPriority, ScriptClass, and ScriptPriority

    Or

  • OnlineClass, OnlinePriority, EPClass, and EPPriority

  • Type and dimension: string-scalar

  • Default: 0

SourceFile

(user-defined)

File from which the configuration is read. Do not configure this attribute in main.cf.

Make sure the path exists on all nodes before running a command that configures this attribute.

  • Type and dimension: string-scalar

  • Default: .\types.cf

SupportedActions

(user-defined)

Valid action tokens for the resource type.

  • Type and dimension: string-vector

  • Default: {}

SupportedOperations

(user-defined)

Indicates the additional operations for a resource type or an agent. Only migrate keyword is supported.

  • Type and dimension: string-keylist

  • Default: {}

An example of a resource type that supports migration is a Kernel-based Virtual Machine (KVM).

ToleranceLimit

(user-defined)

Note:

This attribute can be overridden.

After a resource goes online, the number of times the monitor function should return OFFLINE before declaring the resource FAULTED.

A large value could delay detection of a genuinely faulted resource.

  • Type and dimension: integer-scalar

  • Default: 0

TypeOwner

(user-defined)

This attribute is used for VCS notification. VCS sends notifications to persons designated in this attribute when an event occurs related to the agent's resource type. If the agent of that type faults or restarts, VCS send notification to the TypeOwner. Note that while VCS logs most events, not all events trigger notifications.

Make sure to set the severity level at which you want notifications to be sent to TypeOwner or to at least one recipient defined in the SmtpRecipients attribute of the NotifierMngr agent.

  • Type and dimension: string-scalar

  • Default: ""

  • Example: "jdoe@example.com"

TypeRecipients

(user-defined)

The email-ids set in the TypeRecipients attribute receive email notification for events related to a specific agent. There are only two types of events related to an agent for which notifications are sent:

  • Agent fault - Warning

  • Agent restart - Information