Appendix A Standard Properties

This appendix describe the standard resource type, resource
group, and resource properties. It also describes the resource property attributes
available for changing system-defined properties and creating extension properties.

Resource Type Properties

The following table describes the resource type properties defined by Sun Cluster.
The property values are categorized as follows (in the Category column):

Required — The property
requires an explicit value in the Resource Type Registration (RTR) file or
the object to which it belongs cannot be created. A blank or the empty string
is not allowed as a value.

Conditional — To
exist, the property must be declared in the RTR file; otherwise, the RGM
does not create it and it is not available to administrative utilities. A
blank or the empty string is allowed. If the property is declared in the RTR
file but no value is specified, the RGM supplies a default value.

Conditional/Explicit —
To exist, the property must be declared in the RTR file with an explicit value;
otherwise, the RGM does not create it and it is not available to administrative
utilities. A blank or the empty string is not allowed.

Optional — The property
can be declared in the RTR file; if it isn't, the RGM creates it and
supplies a default value. If the property is declared in the RTR file but
no value is specified, the RGM supplies the same default value as if
the property were not declared in the RTR file.

Resource type properties are not updatable by administrative utilities
with the exception of Installed_nodes, which cannot be
declared in the RTR file and must be set by the administrator.

Table A–1 Resource Type Properties

Property Name

Description

Updatable

Category

API_version (integer)

The version of the resource management API used by this resource type implementation.

The default for SC 3.1 is 2.

N

Optional

Boot (string)

An optional callback
method: the path to the program that the RGM invokes on a node, which
joins or rejoins the cluster when a resource of this type is already managed.
This method is expected to do initialization actions for resources of this
type similar to the Init method.

N

Conditional/Explicit

Failover (Boolean)

True indicates that resources of this type cannot be configured
in any group that can be online on multiple nodes at once. The default is False.

N

Optional

Fini (string)

An optional callback
method: the path to the program that the RGM invokes when a resource
of this type is removed from RGM management.

N

Conditional/Explicit

Init (string)

An optional callback
method: the path to the program that the RGM invokes when a resource
of this type becomes managed by the RGM.

N

Conditional/Explicit

Init_nodes (enum)

The values
can be RG_primaries (just the nodes that can master the
resource) or RT_installed_nodes (all nodes on which the
resource type is installed). Indicates the nodes on which the RGM is
to call the Init, Fini, Boot and Validate methods.

The default value is RG_primaries.

N

Optional

Installed_nodes (string array)

A list of the cluster node names on which the resource type is allowed to
be run. The RGM automatically creates this property. The cluster administrator
can set the value. You cannot declare this property in the RTR file.

The default is all cluster nodes.

Y

Configurable by cluster administrator

Monitor_check (string)

An optional callback method: the path to the program that the RGM invokes
before doing a monitor-requested failover of a resource of this type.

N

Conditional/Explicit

Monitor_start (string)

An optional callback method: the path to the program that the RGM invokes
to start a fault monitor for a resource of this type.

N

Conditional/Explicit

Monitor_stop (string)

A callback method that is required if Monitor_start is
set: the path to the program that the RGM invokes to stop a fault monitor
for a resource of this type.

N

Conditional/Explicit

Num_resource_restarts: on
each cluster node (integer)

This property
is set by the RGM to the number of scha_controlRESTART calls that have been made for this resource on this node
within the past n seconds, where n is the value of the Retry_interval property
of the resource. If a resource type does not declare the Retry_interval property, then the Num_resource_restarts property
is not available for resources of that type.

N

Query-only

Pkglist (string array)

An optional list of packages that are included in the resource type installation.

N

Conditional/Explicit

Postnet_stop (string)

An optional callback method: the path to the program that the RGM invokes
after calling the Stop method of any network-address resources
(Network_resources_used) that a resource of this type is
dependent on. This method is expected to do STOP actions
that must be done after the network interfaces are configured down.

N

Conditional/Explicit

Prenet_start (string)

An optional callback method: the path to the program that the RGM invokes
before calling the Start method of any network-address
resources (Network_resources_used) that a resource of this
type is dependent on. This method is expected to do START
actions that must be done before network interfaces are configured up.

N

Conditional/Explicit

RT_basedir (string)

The directory
path that is used to complete relative paths for callback methods. This path
is expected to be set to the installation location for the resource type packages.
It must be a complete path, that is, it must start with a forward slash (/). This property is not required if all the method path names are
absolute.

N

Required (unless all method path names are absolute)

RT_description (string)

A brief description of the resource type.

The default
is the empty string.

N

Conditional

Resource_type (string)

The name of the resource type. .

To view the names of the currently
registered resource types, use:

scrgadm-p

Starting in Sun Cluster 3.1, a resource type
name is of the form

vendor_id.resource_type:version

The three components of the resource type name are properties specified in
the RTR file as Vendor_id, Resource_type, and RT_version; the scrgadm command inserts the period and colon delimiters. The RT_version suffix of the resource type name is the same value as
the RT_version property

To ensure that the Vendor_id is unique, the recommended approach is to use the
stock symbol for the company creating the resource type.

Resource
type names created prior to Sun Cluster 3.1 continue to be of the form:

vendor_id.resource_type

The default is the empty string.

N

Required

RT_version (string)

Starting
with Sun Cluster 3.1, a required version string of this resource type implementation.
The RT_version is the suffix component of the full resource
type name.

N

Conditional/Explicit

Single_instance (Boolean)

If True, indicates that only one resource of this type
can exist in the cluster. Hence, the RGM allows only one resource of
this type to run cluster-wide at one time.

The default
value is False.

N

Optional

Start (string)

A callback
method: the path to the program that the RGM invokes to start a resource
of this type.

N

Required (unless the RTR file declares a Prenet_start method)

Stop (string)

A callback method: the
path to the program that the RGM invokes to stop a resource of this type.

N

Required (unless the RTR file declares a Postnet_stop method)

Update (string)

An optional
callback method: the path to the program that the RGM invokes when properties
of a running resource of this type are changed.

N

Conditional/Explicit

Validate (string)

An optional
callback method: the path to the program that will be invoked to check values
for properties of resources of this type.

Resource Properties

Required — The administrator
must specify a value when creating a resource with an administrative utility.

Optional — If the
administrator does not specify a value when creating a resource group, the
system supplies a default value.

Conditional — The RGM
creates the property only if the property is declared in the RTR file. Otherwise,
the property does not exist and is not available to system administrators.
A conditional property declared in the RTR file is optional or required, depending
on whether a default value is specified in the RTR file. For details, see
the description of each conditional property.

Query-only — Cannot
be set directly by an administrative tool.

Table A–2 also lists whether and when resource properties
are updatable (in the Updatable column), as follows

None or False

Never.

True or Anytime

Any time.

At_creation

When the resource is
added to a cluster.

When_disabled

When the resource is
disabled.

Table A–2 Resource Properties

Property Name

Description

Updatable

Category

Affinity_timeout (integer)

Length of time in seconds during which connections from a given client IP
address for any service in the resource will be sent to the same server node.

This property is relevant only when Load_balancing_policy is either Lb_sticky or Lb_sticky_wild. In addition, Weak_affinity must be set to false
(the default value).

This property is only used for scalable services.

Any time

Optional

Cheap_probe_interval (integer)

The number of seconds between invocations of a quick fault probe of the resource.
This property is only created by the RGM and available to the administrator
if it is declared in the RTR file.

This property is optional if
a default value is specified in the RTR file. If the Tunable
attribute is not specified in the resource type file, the Tunable value for the property is When_disabled.

This property is required if the Default attribute is not
specified in the property declaration in the RTR file.

When disabled

Conditional

Extension properties

Extension properties as declared
in the RTR file of the resource's type. The implementation of the resource
type defines these properties. For information on the individual attributes
you can set for extension properties. see Table A–4.

Depends on the specific property

Conditional

Failover_mode (enum)

Possible settings are None, Soft, and Hard. Controls whether the RGM relocates
a resource group or aborts a node in response to a failure of a Start, Stop, or Monitor_stop
method call on the resource. None indicates that the RGM
should just set the resource state on method failure and wait for operator
intervention. Soft indicates that failure of a Start method should cause the RGM to relocate the resource's group
to a different node while failure of a Stop or Monitor_stop method should cause the RGM to set the resource to STOP_FAILED state and the resource group to ERROR_STOP_FAILED state and wait for operator intervention. For Stop
or Monitor_stop failures, the None and Soft settings are equivalent. Hard indicates
that failure of a Start method should cause the relocation
of the group and failure of a Stop or Monitor_stop method should cause the forcible stop of the resource by aborting
the cluster node.

The default is None.

Any time

Optional

Load_balancing_policy (string)

A string that defines the load-balancing policy in use. This property is used
only for scalable services. The RGM automatically creates this property if
the Scalable property is declared in the RTR file.

Load_balancing_policy can take the following values:

Lb_weighted (the default). The load is distributed among various
nodes according to the weights set in the Load_balancing_weights property.

Lb_sticky.
A given client (identified by the client IP address) of the scalable service
is always sent to the same node of the cluster.

Lb_sticky_wild. A given client (identified by the client's IP address),
that connects to an IP address of a wildcard sticky service, is always sent
to the same cluster node regardless of the port number it is coming to.

The default value is Lb_weighted.

At creation

Conditional Optional

Load_balancing_weights (string array)

For scalable resources only. The RGM automatically creates this property if
the Scalable property is declared in the RTR file. The
format is weight@node,weight@node, where weight is an integer that reflects the relative portion of load
distributed to the specified node. The fraction
of load distributed to a node is the weight for this node divided by the sum
of all weights. For example, 1@1,3@2 specifies that node
1 receives 1/4 of the load and node 2 receives 3/4. The empty string (""),
the default, sets a uniform distribution. Any node that is not assigned an
explicit weight, receives a default weight of 1.

If the Tunable attribute is not specified in the resource
type file, the Tunable value for the property is Anytime. Changing this property revises the distribution for new
connections only.

The default value is the empty
string ("").

Any time

Conditional Optional

method_timeout
for each callback method in the Type. (integer)

A time lapse, in seconds,
after which the RGM concludes that an invocation of the method has failed.

The default is 3,600 (one hour) if the method itself
is declared in the RTR file.

Any time

Conditional

Optional

Monitored_switch (enum)

Set to Enabled or Disabled by the RGM
if the cluster administrator enables or disables the monitor with an administrative
utility. If Disabled, the monitor does not have its Start method called until it is enabled again. If the resource does
not have a monitor callback method, this property does not exist.

The default is Enabled.

Never

Query-only

Network_resources_used (string array)

A list of logical host name or shared address network resources used by the
resource. For scalable services, this property must refer to shared address
resources that exist in a separate resource group. For failover services,
this property refers to logical host name or shared address resources that
exist in the same resource group. The RGM automatically creates this property
if the Scalable property is declared in the RTR file. If Scalable is not declared in the RTR file, Network_resources_used is unavailable unless it is explicitly declared in the RTR file.

If the Tunable attribute is not
specified in the resource type file, the Tunable value
for the property is At_creation.

At creation

Conditional
Required

On_off_switch (enum)

Set to Enabled or Disabled by the RGM
if the cluster administrator enables or disables the resource with an administrative
utility. If disabled, a resource has no callbacks invoked until it is enabled
again.

The default is Disabled.

Never

Query-only

Port_list (string array)

A comma-separated list of port numbers on which the server is listening. Appended
to each port number is the protocol being used by that port, for example, Port_list=80/tcp. If the Scalable property is
declared in the RTR file, the RGM automatically creates Port_list; otherwise, this property is unavailable unless it is explicitly
declared in the RTR file.

For specifics on setting
up this property for Apache, see the Apache chapter in the Sun Cluster 3.1 Data Services Installation and Configuration Guide.

At creation

Conditional

Required

R_description (string)

A brief description of the resource.

The default
is the empty string.

Any time

Optional

Resource_dependencies (string array)

A list of resources in the same group that must be online in order for this
resource to be online. This resource cannot be started if the start of any
resource in the list fails. When bringing the group offline, this resource
is stopped before those in the list. Resources in the list are not allowed
to be disabled unless this resource is disabled first.

The default is the empty list.

Any time

Optional

Resource_dependencies_weak (string array)

A list of resources in the same group that determines the order of method
calls within the group. The RGM calls the Start methods
of the resources in this list before the Start method of
this resource and the Stop methods of this resource before
the Stop methods of those in the list. The resource can
still be online if those in the list fail to start or are disabled.

The default is the empty list.

Any time

Optional

Resource_name (string)

The name of the resource instance. Must be unique within the cluster configuration
and cannot be changed after a resource has been created.

Never

Required

Resource_project_name (string)

The Solaris project name associated with the resource. Use this property to
apply Solaris resource management features such as CPU shares and resource
pools to cluster data services. When the RGM brings resources online, it launches
the related processes under this project name. If this property is not specified,
the project name will be taken from the RG_project_name
property of the resource group that contains the resource (see rg_properties (5)). If neither property is specified, the RGM will use the predefined
project name default. The specified project name must exist
in the projects database and the user root must be configured
as a member of the named project. This property is only supported starting
in Solaris 9.

Note –

Changes to this property take effect after
the resource has been restarted.

The default is null.

Any time

Optional

Resource_state: on each cluster node
(enum)

The RGM-determined state of the resource on each cluster
node. Possible states are: Online, Offline, Stop_failed, Start_failed, Monitor_failed, and Online_not_monitored.

This property is not user configurable.

Never

Query-only

Retry_count (integer)

The number of times a monitor attempts to restart a resource if it fails.
This property is created by the RGM only and available to the administrator
if it is declared in the RTR file. It is optional if a default value is specified
in the RTR file.

If the Tunable
attribute is not specified in the resource type file, the Tunable value for the property is When_disabled.

This property is required if the Default attribute is not
specified in the property declaration in the RTR file.

When disabled

Conditional

Retry_interval (integer)

The number of seconds over which to count attempts to restart a failed resource.
The resource monitor uses this property in conjunction with Retry_count. This property is created by the RGM only and available to the
administrator if it is declared in the RTR file. It is optional if a default
value is specified in the RTR file.

If the Tunable attribute is not specified in the resource type file, the Tunable value for the property is When_disabled.

This property is required if the Default attribute
is not specified in the property declaration in the RTR file.

When disabled

Conditional

Scalable (Boolean)

Indicates
whether the resource is scalable. If this property is declared in the RTR
file, the RGM automatically creates the following scalable service properties
for resources of that type: Network_resources_used, Port_list, Load_balancing_policy, and Load_balancing_weights. These properties have their default values
unless they are explicitly declared in the RTR file. The default for Scalable—when it is declared in the RTR file—is True.

When this property is declared in
RTR file, the Tunable attribute must be set to At_creation or resource creation fails.

If this property is not declared in the RTR file, the resource is not scalable,
the cluster administrator cannot tune this property and no scalable service
properties are set by the RGM. However, you can explicitly declare the Network_resources_used and Port_list properties
in the RTR file, if desired, because they can be useful in a non-scalable
service as well as in a scalable service.

At creation

Optional

Status: on each cluster node (enum)

Set by the resource monitor. Possible values are: OK, degraded, faulted, unknown,
and offline. The RGM sets the value to unknown when the resource is brought online and to Offline
when it is brought offline.

Never

Query-only

Status_msg: on each cluster node (string)

Set by the resource monitor at the same time as the Status
property. This property can be set per resource, per node. The RGM sets it
to the empty string when the resource is brought offline.

Never

Query-only

Thorough_probe_interval (integer)

The number of seconds between invocations of a high-overhead fault probe of
the resource. This property is created by the RGM only and available
to the administrator if it is declared in the RTR file. It is optional if
a default value is specified in the RTR file.

If
the Tunable attribute is not specified in the resource
type file, the Tunable value for the property is When_disabled.

This property is required if the Default attribute is not specified in the property declaration in
the RTR file.

When disabled

Conditional

Type (string)

The resource type of
which this resource is an instance.

Never

Required

Type_version (string)

Specifies which version of the resource type is currently associated with
this resource. The RGM automatically creates this property, which cannot be
declared in the RTR file. The value of this property is equal to the RT_version property of the resource's type. When a resource is created,
the Type_version property is not specified explicitly,
though it may appear as a suffix of the resource type name. When a resource
is edited, the Type_version may be changed to a new value.

Its tunability is derived from:

The current version of the resource type

The #$upgrade_from directive in the RTR
file

See description

See description

UDP_affinity (Boolean)

If true, all UDP traffic from a given client is sent to the same server node
that currently handles all TCP traffic for the client.

This property
is relevant only when Load_balancing_policy is either Lb_sticky or Lb_sticky_wild. In addition, Weak_affinity must be set to False (the default value).

This property is only used for scalable services.

When disabled

Optional

Weak_affinity (Boolean)

If true, enable the weak form of the client affinity. This allows connections
from a given client to be sent to the same server node except:

When a server listener starts up, for example, due to a fault
monitor restarts, a resource failover or switchover, or a node rejoining a
cluster after failing.

When load_balancing_weights for the scalable
resource changes due to an administration action.

Weak affinity provides a low overhead alternative to
the default form, both in terms of memory consumption and processor cycles.

This property is relevant only when Load_balancing_policy is either Lb_sticky or Lb_sticky_wild.

This property is only used for scalable services.

When disabled

Optional

Resource Group Properties

The following table describes the resource group properties defined
by Sun Cluster. The property values are categorized as follows (in the Category
column):

Required — The administrator
must specify a value when creating a resource group with an administrative
utility.

Optional — If the
administrator does not specify a value when creating a resource group, the
system supplies a default value.

Query-only — Cannot
be set directly by an administrative tool.

The Updatable column shows whether the property is updatable (Y) or
not (N) after it is initially set.

Table A–3 Resource Group Properties

Property Name

Description

Updatable

Category

Auto_start_on_new_cluster (Boolean)

This property disallows automatic startup of the Resource Group when a new
cluster is forming.

The default is TRUE. If set to TRUE, the Resource Group Manager
attempts to start the resource group automatically to achieve Desired_primaries when the cluster is rebooted. If set to FALSE,
the Resource Group does not start automatically when the cluster reboots.

Y

Optional

Desired_primaries (integer)

The number of nodes where the group is desired to be online at once.

The default is 1. If the RG_mode property is Failover, the value of this property must be no greater than 1.
If the RG_mode property is Scalable,
a value greater than 1 is allowed.

Y

Optional

Failback (Boolean)

A Boolean
value that indicates whether to recalculate the set of nodes where the group
is online when the cluster membership changes. A recalculation can cause the RGM
to bring the group offline on less preferred nodes and online on more preferred
nodes.

The default is False.

Y

Optional

Global_resources_used (string array)

Indicates whether cluster file systems are used by any resource in this resource
group. Legal values that the administrator can specify are an asterisk (*)
to indicate all global resources, and the empty string ("")
to indicate no global resources.

The default is all
global resources.

Y

Optional

Implicit_network_dependencies (Boolean)

A Boolean value that indicates, when True, that the RGM
should enforce implicit strong dependencies of non-network-address resources
on network-address resources within the group. Network-address resources include
the logical host name and shared address resource types.

In a scalable resource group, this property has no effect because a scalable
resource group does not contain any network-address resources.

The default is True.

Y

Optional

Maximum_primaries (integer)

The maximum number of nodes where the group might be online at once.

The default is 1. If the RG_mode property is Failover, the value of this property must be no greater than 1.
If the RG_mode property is Scalable,
a value greater than 1 is allowed.

Y

Optional

Nodelist (string array)

A list of cluster nodes where the group can be brought online in order of
preference. These nodes are known as the potential primaries or masters of
the resource group.

The default is the list of all
cluster nodes.

Y

Optional

Pathprefix (string)

A directory
in the cluster file system in which resources in the group can write can write
essential administrative files. Some resources might require this property.
Make Pathprefix unique for each resource group.

The default is the empty string.

Y

Optional

Pingpong_interval (integer)

A non-negative integer value (in seconds) used by the RGM to determine
where to bring the resource group online in the event of a reconfiguration
or as the result of an scha_control giveover command or
function being executed.

In the event of a reconfiguration,
if the resource group fails to come online more than once within the past Pingpong_interval seconds on a particular node (because the resource's Start or Prenet_start method exited non-zero
or timed out), that node is considered ineligible to host the resource group
and the RGM looks for another master.

If a call
to a resource's scha_control(1ha)(3ha) command or function
causes the resource group to be brought offline on a particular node within
the past Pingpong_interval seconds, that node is ineligible
to host the resource group as the result of a subsequent call to scha_control originating from another node.

The default value is 3,600 (one hour).

Y

Optional

Resource_list (string array)

The list of resources that are contained in the group. The administrator does
not set this property directly. Rather, the RGM updates this property
as the administrator adds or removes resources from the resource group.

The default is the empty list.

N

Query-only

RG_dependencies (string array)

Optional list of resource groups indicating a preferred ordering for bringing
other groups online or offline on the same node. Has no effect if the groups
are brought online on different nodes.

The default
is the empty list.

Y

Optional

RG_description (string)

A brief description of the resource group.

The default
is the empty string.

Y

Optional

RG_mode (enum)

Indicates
whether the resource group is a failover or scalable group. If the value is Failover, the RGM sets the Maximum_primaries
property of the group to 1 and restricts the resource group to being mastered
by a single node.

If the value of this property is Scalable, the RGM allows the Maximum_primaries
property to have a value greater than 1, meaning the group can be mastered
by multiple nodes simultaneously. The RGM does not allow a resource whose Failover property is True to be added to a resource
group whose RG_mode is Scalable.

The default is Failover if Maximum_primaries
is 1 and Scalable if Maximum_primaries
is greater than 1.

N

Optional

RG_name (string)

The
name of the resource group. Must be unique within the cluster.

N

Required

RG_project_name(string)

The Solaris project name associated with the resource group.
Use this property to apply Solaris resource management features such as CPU
shares and resource pools to cluster data services. When the RGM brings resource
groups online, it launches the related processes under this project name for
resources that do not have the Resource_project_name property
set. The specified project name must exist in the projects database and the
user root must be configured as a member of the named project.

This property is only supported starting in Solaris 9.

Note –

Changes to this property take effect after the resource has been restarted.

Any time

Required

RG_state: on each cluster node (enum)

Set by the RGM to Online, Offline, Pending_online, Pending_offline or Error_stop_failed to describe
the state of the group on each cluster node. A group can also exist in an
unmanaged state when it is not under the control of the RGM.

This property is not user configurable.

The default
is Offline.

N

Query-only

Resource Property Attributes

The following table describes the resource property attributes that
can be used to change system-defined properties or create extension properties.

Caution –

You cannot specify NULL or the empty string
("") as the default value for boolean, enum,
or int types.

Table A–4 Resource Property Attributes

Property

Description

Property

The name of the resource property.

Extension

If used, indicates that the RTR
file entry declares an extension property defined by the resource type implementation.
Otherwise, the entry is a system-defined property.

Description

A string annotation intended to
be a brief description of the property. The description attribute cannot be
set in the RTR file for system-defined properties.

Type of the property

Allowable types are: string, boolean, int, enum, and stringarray. you cannot set the type attribute in an RTR file entry
for system-defined properties. The type determines acceptable property values
and the type-specific attributes that are allowed in the RTR file entry. an enum type is a set of string values.

Default

Indicates a default value for the
property.

Tunable

Indicates when the cluster administrator
can set the value of this property in a resource. Can be set to None or False to prevent the administrator from
setting the property. Values that allow administrator tuning are: True or Anytime (at any time), At_creation (only when the resource is created), or When_disabled (when the resource is offline).

The default
is True (Anytime).

Enumlist

For an enum
type, a set of string values permitted for the property.

Min

For an int type,
the minimal value permitted for the property.

Max

For an int type,
the maximum value permitted for the property.

Minlength

For string and stringarray types, the minimum string length permitted.

Maxlength

For string and stringarray types, the maximum string length permitted.