The types.cf file

The types.cf file describes standard resource types to the VCS engine; specifically, the data required to control a specific resource.

The following example illustrates a DiskGroup resource type definition for Solaris.

type DiskGroup (

static keylist SupportedActions = { "license.vfd",

"disk.vfd", numdisks }

static int OnlineRetryLimit = 1

static str ArgList[] = { DiskGroup, StartVolumes,

StopVolumes, MonitorOnly, MonitorReservation,

tempUseFence, PanicSystemOnDGLoss, DiskGroupType }

str DiskGroup

str StartVolumes = 1

str StopVolumes = 1

static int NumThreads = 1

boolean MonitorReservation = 0

temp str tempUseFence = INVALID

boolean PanicSystemOnDGLoss = 1

str DiskGroupType = private

)

The types definition performs two important functions:

For another example, review the following main.cf and types.cf representing an IP resource:


main.cf for Solaris

IP nfs_ip1 (

Device = hme0

Address = "192.168.1.201"

)


types.cf for Solaris

type IP (

static keylist SupportedActions = { "device.vfd", "route.vfd" }

static str ArgList[] = { Device, Address, NetMask, Options,

ArpDelay, IfconfigTwice, ContainerName }

str Device

str Address

str NetMask

str Options

int ArpDelay = 1

int IfconfigTwice

str ContainerName

)

The high-availability address is configured on the interface defined by the Device attribute.

The IP address is enclosed in double quotes because the string contains periods.

See Attribute data types.

The VCS engine passes the identical arguments to the IP agent for online, offline, clean and monitor. It is up to the agent to use the arguments it requires. All resource names must be unique in a VCS cluster.