public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* cluster: STABLE3 - cluster.rng: add descriptions
@ 2009-07-27 21:14 David Teigland
0 siblings, 0 replies; only message in thread
From: David Teigland @ 2009-07-27 21:14 UTC (permalink / raw)
To: cluster-cvs-relay
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 48705 bytes --]
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=48aba4efedc8095260d3c0edc33edf572405137e
Commit: 48aba4efedc8095260d3c0edc33edf572405137e
Parent: 9aa2ca042b0108c3ecb9ea5f3e0257e8afbbf673
Author: Paul Kennedy <pkennedy@redhat.com>
AuthorDate: Mon Jul 27 15:43:39 2009 -0500
Committer: David Teigland <teigland@redhat.com>
CommitterDate: Mon Jul 27 16:03:25 2009 -0500
cluster.rng: add descriptions
Signed-off-by: David Teigland <teigland@redhat.com>
---
config/tools/xml/cluster.rng | 760 ++++++++++++++++++++++++++++++------------
1 files changed, 538 insertions(+), 222 deletions(-)
diff --git a/config/tools/xml/cluster.rng b/config/tools/xml/cluster.rng
index ad5ef0f..c424087 100644
--- a/config/tools/xml/cluster.rng
+++ b/config/tools/xml/cluster.rng
@@ -1,5 +1,6 @@
<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
-xmlns="http://relaxng.org/ns/structure/1.0">
+xmlns="http://relaxng.org/ns/structure/1.0"
+xmlns:rha="http://redhat.com/~pkennedy/annotation_namespace/cluster_conf_annot_namespace">
<!-- The cluster.conf schema follows this outline:
@@ -28,97 +29,156 @@ To validate your cluster.conf against this schema, run:
-->
<start>
-<element name="cluster">
- <attribute name="name"/>
- <attribute name="config_version">
- <data type="positiveInteger"/>
- </attribute>
+<element name="cluster" rha:description="The cluster element is the
+ top-level element and contains attributes that define the cluster
+ name and the configuration version number.">
+ <attribute name="name" rha:description="Specifies a unique cluster name;
+ it can be up to 16 characters long." rha:sample="my_rh_cluster"/>
+ <attribute name="config_version" rha:description="Identifies the
+ revision level of the cluster.conf file. To propagate a revised
+ configuration file, this value must be advanced to a value higher
+ than the current value." rha:sample="1" rha:default="1"/>
<optional>
- <attribute name="alias"/>
+ <attribute name="alias" rha:description="Pretty name for cluster that
+ is not parsed by cluster tag software; only the Conga and
+ system-config-cluster GUIs use this value."
+ rha:sample="My Red Hat Cluster"/>
</optional>
<interleave>
<!--cman block-->
+
<optional>
- <element name="cman">
- <optional>
- <attribute name="two_node"/>
- </optional>
- <optional>
- <attribute name="expected_votes">
- <data type="positiveInteger"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="quorum_dev_poll">
- <data type="positiveInteger"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="shutdown_timeout">
- <data type="nonNegativeInteger"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="ccsd_poll">
- <data type="positiveInteger"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="debug_mask"/>
- </optional>
- <optional>
- <attribute name="port">
- <data type="nonNegativeInteger"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="broadcast">
- <data type="nonNegativeInteger"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="disable_openais"/>
- </optional>
- <optional>
- <element name="multicast">
- <attribute name="addr"/>
- </element>
- </optional>
- </element>
+ <element name="cman" rha:description="The cman element contains
+ attributes that define the following cluster-wide parameters and
+ behaviors: whether the cluster is a two-node cluster, expected
+ votes, user-specified multicast address, and logging.">
+ <optional>
+ <attribute name="two_node" rha:description="The two_node attribute
+ allows you to configure a cluster with only two
+ nodes. Ordinarily, the loss of quorum after one of two nodes
+ fails prevents the remaining node from continuing (if both
+ nodes have one vote.) To enable a two-node cluster, set the
+ two_node value equal to 1. If the two_node value is enabled,
+ the expected_votes value must be set to 1." rha:sample="1"/>
+ </optional>
+ <optional>
+ <attribute name="expected_votes" rha:description="The expected
+ votes value is used by cman to determine quorum. The cluster
+ is quorate if the sum of votes of members is over
+ half of the expected votes value. By default, cman sets the
+ expected votes value to be the sum of votes of all nodes listed
+ in cluster.conf. This can be overriden by setting an explicit
+ expected_votes value." rha:sample="4">
+ <data type="positiveInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="quorum_dev_poll" rha:description="The amount of time
+ after a qdisk poll, in milliseconds, before a quorum disk is
+ considered dead. The quorum disk daemon, qdisk, periodically
+ sends hello messages to cman and ais, indicating that qdisk
+ is present. If qdisk takes more time to send a hello message
+ to cman and ais than by quorum_dev_poll, then cman declares
+ qdisk dead and prints a message indicating that connection to
+ the quorum device has been lost." rha:sample="50000"/>
+ </optional>
+ <!--FIXME: Clarify the following. What is meant by "service"? Also, is
+ there a default value? What is a good sample value?-->
+ <optional>
+ <attribute name="shutdown_timeout" rha:description="Timeout period,
+ in milliseconds, to allow a service to respond during a
+ shutdown." rha:sample="5000"/>
+ </optional>
+ <optional>
+ <attribute name="ccsd_poll" rha:description="" rha:sample=""
+ rha:default="1000"/>
+ </optional>
+ <optional>
+ <attribute name="debug_mask" rha:description="" rha:sample=""/>
+ </optional>
+ <optional>
+ <attribute name="port">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="broadcast">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="disable_openais" rha:description="" rha:sample=""/>
+ </optional>
+ <optional>
+ <element name="multicast" rha:description="The multicast element
+ provides the ability for a user to specify a multicast address
+ instead of using the multicast address generated by cman. If
+ a user does not specify a multicast address, cman creates one. It
+ forms the upper 16 bits of the multicast address with 239.192 and
+ forms the lower 16 bits based on the cluster ID."> <attribute
+ name="addr" rha:description="A multicast address specified
+ by a user. If you do specify a multicast address, you should
+ use the 239.192.x.x series that cman uses. Otherwise, using a
+ multicast address outside that range may cause unpredictable
+ results. For example, using 224.0.0.x (All hosts on the network)
+ may not be routed correctly, or even routed at all by some
+ hardware." rha:sample="239.192.0.1"/>
+ </element>
+ </optional>
+ </element>
</optional>
<!--clusternode block-->
- <element name="clusternodes">
+ <element name="clusternodes" rha:description="This element defines the
+ cluster nodes configuration; it contains one clusternode element
+ per node.">
<zeroOrMore>
- <element name="clusternode">
- <attribute name="name">
+ <element name="clusternode" rha:description="This element and its
+ attributes define a cluster node, specifying node name, node ID,
+ number of quorum votes, and fencing method for that node. There
+ is one clusernode element per node in a cluster.">
+ <attribute name="name" rha:description="The hostname or the IP
+ address of the node." rha:sample="node-01">
<data type="ID"/>
</attribute>
<optional>
- <attribute name="votes">
+ <attribute name="votes" rha:description="The number of votes a
+ node can cast" rha:sample="2" rha:default="1">
<data type="positiveInteger"/>
</attribute>
</optional>
+ <!--FIXME: Verify if the nodeid attribute is optional. I think
+ it is required for RHEL 5. The sources.redhat.com site states
+ that the attribute is required; however, that must mean that a
+ cluster.conf file must have a nodeid for each node. The value
+ is automatically assigned a value; however, you can change its
+ value.-->
<optional>
- <attribute name="nodeid">
+ <attribute name="nodeid" rha:description="Each node is assigned
+ a unique integer value as its node ID. You can change a
+ node's nodeid; hoever, it must be a unique integer value
+ in the cluster. A node's application to join a cluster may
+ be rejected if you try to set the nodeid to one that is
+ already used in a cluster." rha:sample="1">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
- <attribute name="weight"/> <!-- DLM weight -->
+ <attribute name="weight" rha:description="" rha:sample=""/>
+<!-- DLM weight -->
</optional>
<optional>
- <element name="altname">
+ <element name="altname" rha:description="">
<optional>
- <attribute name="name"/>
+ <attribute name="name" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="port"/>
+ <attribute name="port" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="mcast"/>
+ <attribute name="mcast" rha:description="" rha:sample=""/>
</optional>
</element>
</optional>
@@ -134,92 +194,114 @@ To validate your cluster.conf against this schema, run:
</zeroOrMore>
</element>
-
+<!--FIXME: More information needed for dlm. I looked in dlm_controld man
+page; however, configuration paramaters there do not seem to match the
+following elements and attributes. -->
<!-- dlm block -->
<optional>
- <element name="dlm">
+ <element name="dlm" rha:description="">
<optional>
- <attribute name="log_debug"/>
+ <attribute name="log_debug" rha:description="Enable/disable dlm
+ kernel debug messages." rha:default="0" rha:sample="1"/>
</optional>
<optional>
- <attribute name="timewarn"/>
+ <attribute name="timewarn" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="protocol"/>
+ <attribute name="protocol" rha:description="The network protocol
+ used by the dlm." rha:default="tcp" rha:sample="sctp"/>
</optional>
<optional>
- <attribute name="enable_fencing"/>
+ <attribute name="enable_fencing" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="enable_quorum"/>
+ <attribute name="enable_quorum" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="enable_deadlk"/>
+ <attribute name="enable_deadlk" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="enable_plock"/>
+ <attribute name="enable_plock" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="plock_debug"/>
+ <attribute name="plock_debug" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="plock_rate_limit"/>
+ <attribute name="plock_rate_limit" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="plock_ownership"/>
+ <attribute name="plock_ownership" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="drop_resources_time"/>
+ <attribute name="drop_resources_time" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="drop_resources_count"/>
+ <attribute name="drop_resources_count" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="drop_resources_age"/>
+ <attribute name="drop_resources_age" rha:description="" rha:sample=""/>
</optional>
</element>
</optional>
-<!-- end dlm block -->
+<!-- end dlm block -->
<!-- gfs_controld block -->
<optional>
- <element name="gfs_controld">
+ <element name="gfs_controld" rha:description="This element and its
+ attributes configure the gfs_controld daemon.">
<optional>
- <attribute name="enable_withdraw"/>
+ <attribute name="enable_withdraw" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="enable_plock"/>
+ <attribute name="enable_plock" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="plock_debug"/>
+ <attribute name="plock_debug" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="plock_rate_limit"/>
+ <attribute name="plock_rate_limit" rha:description="The maximum
+ number of plock operations that will be sent every second. This is
+ used to prevent potentially excessive network load. For best
+ performance it is recommended to disable this rate limiting by
+ setting the value to 0." rha:sample="10000" rha:default="100"/>
</optional>
<optional>
- <attribute name="plock_ownership"/>
+ <attribute name="plock_ownership" rha:description="Enabling this
+ option by setting to 1 optimizes plock performance for repeated
+ locking of the same locks by processes on a single node.
+ All gfs_controld daemons in the cluster must be stopped before
+ changing this value." rha:sample="1" rha:default="0"/>
</optional>
<optional>
- <attribute name="drop_resources_time"/>
+ <attribute name="drop_resources_time" rha:description="For tuning the
+ plock_ownership resource caching. This is the frequence of
+ attempts in milliseconds to drop unused resources from the
+ cache." rha:sample="5000" rha:default="10000"/>
</optional>
<optional>
- <attribute name="drop_resources_count"/>
+ <attribute name="drop_resources_count" rha:description="For tuning
+ the plock_ownership resource caching. This is the maximum number
+ of resources to drop from the cache each time." rha:sample="100"
+ rha:default="10"/>
</optional>
<optional>
- <attribute name="drop_resources_age"/>
+ <attribute name="drop_resources_age" rha:description="For tuning the
+ plock_ownership resource caching. This is the time in milliseconds
+ that a cached resource should be unused before consideration for
+ dropping." rha:sample="5000" rha:default="10000"/>
</optional>
<optional>
<zeroOrMore>
- <element name="lockspace">
- <attribute name="name"/>
+ <element name="lockspace" rha:description="">
+ <attribute name="name" rha:description="" rha:sample=""/>
<optional>
- <attribute name="nodir"/>
+ <attribute name="nodir" rha:description="" rha:sample=""/>
</optional>
<optional>
<zeroOrMore>
- <element name="master">
- <attribute name="name"/>
- <attribute name="weight"/>
+ <element name="master" rha:description="">
+ <attribute name="name" rha:description="" rha:sample=""/>
+ <attribute name="weight" rha:description="" rha:sample=""/>
</element>
</zeroOrMore>
</optional>
@@ -228,82 +310,174 @@ To validate your cluster.conf against this schema, run:
</optional>
</element>
</optional>
-<!-- end dlm block -->
+<!-- end gfs_controld block -->
<!-- group block -->
<optional>
- <element name="group">
+ <element name="group" rha:description="">
<optional>
- <attribute name="groupd_compat"/>
+ <attribute name="groupd_compat" rha:description="" rha:sample=""/>
</optional>
</element>
</optional>
<!-- end group block -->
+<!--FIXME: The following text was copied from the schema description
+here:
+http://sources.redhat.com/cluster/doc/cluster_schema_rhel5.html
+
+It is too much content for just the annotated schema. It is being placed
+here for now until we can figure out where to put it. One possibility is
+to place this content in an introductory chapter separate from the
+schema description chapter. Most likely it should be supported with an
+illustration, as well.
+-->
+<!--
+A Note On Fencing
+Fencing is specified within the cluster.conf file in two places. The
+first place is within the <fencedevices> tag. Any device used for
+fencing a node must be defined here as a <fencedevice> first. This
+applies to power switches (APC, WTI, etc.) with multiple ports that are
+able to fence multiple cluster nodes, as well as fabric switches and
+baseboard management fence strategies (iLO, RSA, IPMI, Drac, etc.) that
+are usually 1 to 1 in nature; that is, one specified fence device is
+able to fence only one node. After defining the fence devices to be used
+in the cluster, it is necessary to associate the fence device listings
+with specific cluster nodes. The second place that fencing is specified
+within cluster.conf is within the <clusternode> tag. Beneath the
+<clusternode> tag, is a <fence> tag. Beneath the <fence> tag is one or
+more <method> tag sets. Within a <method> tag set, is a <device> tag
+set. This is where the actual association between <fencedevice> and node
+takes place. A <device> tag has a required "name" attribute that refers
+to the name of one of the <fencedevice>'s specified in the
+<fencedevices> section of cluster.conf. More about <method> blocks: A
+method block is like a fence level. If a primary fence method is
+selected, yet the user wants to define a backup method in case the first
+fence method fails, this is done by defining two <metho>d blocks for a
+cluster node, each with a unique name parameter. The fence daemon will
+call each fence method in the order they are specified under the
+<clusternode><fence> tag set. Fence specification within cluster.conf
+offers one other feature for customizing fence action. Within a <method>
+block, it is allowable to list more than one <device>. This is useful
+when fencing a node with redundant power supplies, for example. The
+fence daemon will run the agent for each device listed within a <method>
+block before determining success or failure.
+-->
+
<!--fencedevices block-->
<optional>
- <element name="fencedevices">
+ <element name="fencedevices" rha:description="This element and its
+ attributes define the fence devices in the cluster. Parameters
+ vary according to the type of fence device. For example, for a
+ power controller used as a fence device, the cluster configuration
+ defines the name of the power controller, its IP address, login,
+ and password.">
<zeroOrMore>
- <element name="fencedevice">
- <attribute name="name">
+ <element name="fencedevice" rha:description="The fencedevice element
+ and its attributes define each fence device in a
+ cluster. Parameters for each fence device vary according to the
+ type of fence device.">
+ <attribute name="name" rha:description="This is a reference
+ name that you assign to a fence device. It is specific to a
+ cluster configuration file. It is required
+ when configuring a fence method for a node (refer
+ to the method and device elements in the clusternode
+ element)." rha:sample="apc_123">
<data type="ID"/>
</attribute>
- <attribute name="agent"/>
+ <attribute name="agent" rha:description="Specifies a fence agent to
+ be used." rha:sample="fence_apc"/>
<optional>
<choice>
<!-- RPS10 -->
- <group>
- <attribute name="device" />
- <attribute name="port" />
+ <group rha:description="RPS10 Serial Switch" >
+ <attribute name="device" rha:description="The device the switch
+ is connected to on the controlling host."
+ rha:sample="/dev/ttys2"/>
+ <attribute name="port" rha:description="The switch outlet
+ number." rha:sample="2"/>
</group>
- <!-- Brocade, McData, SANBox2, Bladecenter, bullpap, ipmilan -->
+ <!--FIXME: Determine if the following group should exclude
+ the auth and lanplus attributes. Those attributes apply only to
+ the impilan fence device.-->
+ <!-- Brocade, McData, SANBox2, Bladecenter,bullpap, ipmilan -->
<group>
- <attribute name="ipaddr"/>
+ <attribute name="ipaddr" rha:description="IP address or the name
+ of the device." rha:sample="rack007"/>
<optional>
- <attribute name="login"/>
+ <attribute name="login" rha:description="The login name used to
+ access the device. " rha:sample="admin"/>
</optional>
<optional>
- <attribute name="passwd"/>
+ <attribute name="passwd" rha:description="The password used to
+ authenticate the connection to the
+ device." rha:sample="pa$$word"/>
</optional>
<optional>
- <attribute name="passwd_script"/>
+ <attribute name="passwd_script" rha:description="The script that
+ supplies a password for access to the fence device. Using
+ this supersedes the Password parameter." rha:sample=""/>
</optional>
<optional>
- <attribute name="auth"/>
+ <attribute name="auth" rha:description="For IPMI LAN
+ only. Authentication Type: none, password,
+ md2, or md5" rha:sample=""/>
</optional>
<optional>
- <attribute name="lanplus"/>
+ <attribute name="lanplus" rha:description="For IPMI LAN only.
+ Set value to either True or 1; leave out for false."
+ rha:sample="True"/>
</optional>
</group>
<!-- Vixel -->
<group>
<optional>
- <attribute name="ipaddr"/>
+ <attribute name="ipaddr" rha:description="IP address or the
+ name of the device." rha:sample="10.1.0.1"/>
</optional>
<optional>
- <attribute name="passwd"/>
+ <attribute name="passwd" rha:description="The password used to
+ authenticate the connection to the
+ device." rha:sample="pa$$word"/>
</optional>
<optional>
- <attribute name="passwd_script"/>
+ <attribute name="passwd_script" rha:description="The script
+ that supplies a password for access to the
+ fence device. Using this supersedes the Password
+ parameter." rha:sample=""/>
</optional>
</group>
<!-- scsi reservations -->
<group>
- <attribute name="nodename"/>
- <attribute name="self"/>
+ <attribute name="nodename" rha:description="Name of the node to
+ be fenced. Refer to fence_scsi(8) for more
+ information." rha:sample=""/>
+ <attribute name="self" rha:description="" rha:sample=""/>
</group>
<!-- GNBD -->
<group>
- <attribute name="servers"/>
+ <attribute name="servers" rha:description="The hostname of each
+ GNBD to disable. For multiple hostnames, separate each
+ hostname with a space." rha:sample=""/>
</group>
<!-- Egenera -->
+ <!-- FIXME: Note that in the schema web page each is listed as a
+ parameter. Likewise for Conga. In addition, Conga shows Ipan
+ and pserver parameters. Also, in Conga, the esh parameter is
+ an optional ESH path. Presumably those should be attributes in
+ the schema. We need more invormation on this. -->
<group>
- <attribute name="cserver"/>
+ <attribute name="cserver" rha:description="The hostname (and
+ optionally the username in the form of username@hostname)
+ assigned to the device. Refer to the fence_egenera(8) man
+ page for more information." rha:sample=""/>
</group>
+ <!-- FIXME: It appears that xCat is no longer supported. Found no
+ fence agents for x Cat in RHEL 5.3. -->
<!-- xCAT -->
<group>
- <attribute name="rpowerpath"/>
+ <attribute name="rpowerpath" rha:description="" rha:sample=""/>
</group>
<!-- autogenerated ones -->
@@ -658,49 +832,57 @@ To validate your cluster.conf against this schema, run:
</optional>
<optional>
- <element name="fence_xvmd">
+ <element name="fence_xvmd" rha:description="Fence_xvm daemon. The
+ fence_xvmd fence device is an I/O fencing host that resides
+ on dom0 and is used in conjunction with the fence_xvm fencing
+ agent. Together, these two programs fence Xen virtual machines
+ that are in a cluster. There is a requirement that the parent
+ dom0s are also a part of their own CMAN/OpenAIS based cluster,
+ and that the dom0 cluster does not share any members with the domU
+ cluster. Furthermore, the dom0 cluster is required to have fencing
+ if domU recovery is expected to be automatic.">
<optional>
- <attribute name="debug">
+ <attribute name="debug" rha:description="" rha:sample="">
<data type="integer"/>
</attribute>
</optional>
<optional>
- <attribute name="port">
+ <attribute name="port" rha:description="" rha:sample="">
<data type="integer"/>
</attribute>
</optional>
<optional>
- <attribute name="use_uuid">
+ <attribute name="use_uuid" rha:description="" rha:sample="">
<data type="boolean"/>
</attribute>
</optional>
<optional>
- <attribute name="multicast_address">
+ <attribute name="multicast_address" rha:description="" rha:sample="">
<data type="string"/>
</attribute>
</optional>
<optional>
- <attribute name="auth">
+ <attribute name="auth" rha:description="" rha:sample="">
<data type="string"/>
</attribute>
</optional>
<optional>
- <attribute name="hash">
+ <attribute name="hash" rha:description="" rha:sample="">
<data type="string"/>
</attribute>
</optional>
<optional>
- <attribute name="uri">
+ <attribute name="uri" rha:description="" rha:sample="">
<data type="string"/>
</attribute>
</optional>
<optional>
- <attribute name="key_file">
+ <attribute name="key_file" rha:description="" rha:sample="">
<data type="string"/>
</attribute>
</optional>
<optional>
- <attribute name="multicast_interface">
+ <attribute name="multicast_interface" rha:description="" rha:sample="">
<data type="string"/>
</attribute>
</optional>
@@ -710,51 +892,51 @@ To validate your cluster.conf against this schema, run:
<!-- stable3 and master logging block -->
<optional>
- <element name="logging">
+ <element name="logging" rha:description="">
<optional>
- <attribute name="to_syslog"/>
+ <attribute name="to_syslog" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="to_logfile"/>
+ <attribute name="to_logfile" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="syslog_facility"/>
+ <attribute name="syslog_facility" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="syslog_priority"/>
+ <attribute name="syslog_priority" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="logfile"/>
+ <attribute name="logfile" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="debug"/>
+ <attribute name="debug" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="logfile_priority"/>
+ <attribute name="logfile_priority" rha:description="" rha:sample=""/>
</optional>
<optional>
- <element name="logging_subsys">
- <attribute name="subsys"/>
+ <element name="logging_subsys" rha:description="">
+ <attribute name="subsys" rha:description="" rha:sample=""/>
<optional>
- <attribute name="to_syslog"/>
+ <attribute name="to_syslog" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="to_logfile"/>
+ <attribute name="to_logfile" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="syslog_facility"/>
+ <attribute name="syslog_facility" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="syslog_priority"/>
+ <attribute name="syslog_priority" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="logfile"/>
+ <attribute name="logfile" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="debug"/>
+ <attribute name="debug" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="logfile_priority"/>
+ <attribute name="logfile_priority" rha:description="" rha:sample=""/>
</optional>
</element>
</optional>
@@ -762,45 +944,82 @@ To validate your cluster.conf against this schema, run:
</optional>
<optional>
- <element name="totem">
+ <element name="totem" rha:description="OpenAIS msg transport
+ protocol">
<optional>
- <attribute name="consensus"/>
+ <attribute name="consensus" rha:description="This is a timeout value
+ that specifies how many milliseconds to wait for consensus
+ to be achieved before starting a new round of membership
+ configuration." rha:default="200" rha:sample="235"/>
</optional>
<optional>
- <attribute name="join"/>
+ <attribute name="join" rha:description="This is a timeout value that
+ specifies how many milliseconds to wait for join messages in
+ the membership protocol." rha:default="100" rha:sample="95"/>
</optional>
<optional>
- <attribute name="token"/>
+ <attribute name="token" rha:description="This is a timeout value
+ that specifies how many milliseconds elapse before a
+ token loss is declared after not receiving a token. This
+ is the time spent detecting a failure of a processor in
+ the current configuration. Reforming a new configuration
+ takes about 50 milliseconds in addition to this
+ timeout." rha:default="5000" rha:sample="5300"/>
</optional>
<optional>
- <attribute name="token_retransmits_before_loss_const"/>
+ <attribute name="token_retransmits_before_loss_const"
+ rha:description="This value identifies how many token retransmits
+ should be attempted before forming a new configuration. If
+ this value is set, retransmit and hold will be automatically
+ calculated from retransmits_before_loss and token." rha:default="4"
+ rha:sample="5"/>
</optional>
+ <!-- FIXME: The following description was adapted from the man page.
+ It may be tool long for the schema docuement. Consider cutting text
+ after the second sentence and referring the reader to the openais.conf
+ man page. -->
<optional>
- <attribute name="rrp_mode"/>
+ <attribute name="rrp_mode" rha:description="This attribute
+ specifies the redundant ring protocol mode. Its value can be
+ set to active, passive, or none. Active replication offers
+ slightly lower latency from transmit to delivery in faulty
+ network environments but with less performance. Passive
+ replication may nearly double the speed of the totem protocol
+ if the protocol doesnâÃÂÃÂt become cpu bound. The final option is
+ none, in which case only one network interface is used to
+ operate the totem protocol. If only one interface directive is
+ specified, none is automatically chosen. If multiple interface
+ directives are specified, only active or passive may be
+ chosen." rha:sample="active"/>
</optional>
<optional>
- <attribute name="secauth"/>
+ <attribute name="secauth" rha:description="This attribute specifies
+ that HMAC/SHA1 authentication should be used to authenticate all
+ messages. It further specifies that all data should be encrypted
+ with the sober128 encryption algorithm to protect data from
+ eavesdropping. For more information setting this value, refer
+ the the openais.conf man page." rha:default="on" rha:sample=""/>
</optional>
<optional>
- <attribute name="keyfile"/>
+ <attribute name="keyfile" rha:description="" rha:sample=""/>
</optional>
<!-- multicast address -->
<zeroOrMore>
- <element name="interface">
+ <element name="interface" rha:description="" rha:sample="">
<optional>
- <attribute name="ringnumber"/>
+ <attribute name="ringnumber" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="bindnetaddr"/>
+ <attribute name="bindnetaddr" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="mcastaddr"/>
+ <attribute name="mcastaddr" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="mcastport"/>
+ <attribute name="mcastport" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="broadcast"/>
+ <attribute name="broadcast" rha:description="" rha:sample=""/>
</optional>
</element>
</zeroOrMore>
@@ -808,58 +1027,89 @@ To validate your cluster.conf against this schema, run:
</optional>
<optional>
- <element name="rm">
+ <element name="rm" rha:description="This element and its attributes
+ define resources (for example an IP address) required to create HA
+ cluster services, the HA cluster services themselves, and failover
+ domains for the HA cluster services.">
<optional>
- <attribute name="log_level">
+ <!-- FIXME: The following text needs clarifying. What is meant by
+ "...for all levels less than the selected."? -->
+ <attribute name="log_level" rha:description="An integer 0-7,
+ inclusive, for all levels less than the selected.
+ 0, system is unusable, emergency;
+ 1, action must be taken immediately;
+ 2, critical conditions;
+ 3, error conditions;
+ 4, warning conditions;
+ 5, normal but significant condition;
+ 6, informational;
+ 7, debug-level messages." rha:sample="6">
<data type="integer"/>
</attribute>
</optional>
<optional>
- <attribute name="status_child_max">
+ <attribute name="status_child_max" rha:description="" rha:sample="">
<data type="integer"/>
</attribute>
</optional>
<optional>
- <attribute name="status_poll_interval">
+ <attribute name="status_poll_interval" rha:description=""
+ rha:sample="">
<data type="integer"/>
</attribute>
</optional>
<optional>
- <attribute name="transition_throttling">
+ <attribute name="transition_throttling" rha:description=""
+ rha:sample="">
<data type="integer"/>
</attribute>
</optional>
<optional>
- <attribute name="central_processing">
+ <attribute name="central_processing" rha:description=""
+ rha:sample="">
<data type="integer"/>
</attribute>
</optional>
<optional>
- <attribute name="log_facility">
+ <attribute name="log_facility" rha:description="The facility is one
+ of the following keywords: auth, authpriv, cron, daemon, kern,
+ lpr, mail, news, syslog, user, uucp and local0 through local7"
+ rha:sample="local4">
<data type="string"/>
</attribute>
</optional>
<interleave>
<optional>
- <element name="failoverdomains">
+ <element name="failoverdomains" rha:description="">
<zeroOrMore>
- <element name="failoverdomain">
- <attribute name="name"/>
+ <element name="failoverdomain" rha:description="Specifies
+ properties of a specific failover domain">
+ <attribute name="name" rha:description="The name of the failover
+ domain." rha:sample="foo"/>
<optional>
- <attribute name="ordered"/>
+ <attribute name="ordered" rha:description="Set value to 1 if
+ the failover domain is ordered; set value to 0 if
+ unordered." rha:default="0" rha:sample="1"/>
</optional>
<optional>
- <attribute name="restricted"/>
+ <attribute name="restricted" rha:description="Set value to 1 if
+ the failover domain is restricted; set value to 0 if
+ unrestricted." rha:default="0" rha:sample="1"/>
</optional>
<optional>
- <attribute name="nofailback"/>
+ <attribute name="nofailback" rha:description="" rha:sample=""/>
</optional>
<zeroOrMore>
- <element name="failoverdomainnode">
+ <element name="failoverdomainnode" rha:description="A node in
+ a failover domain">
<optional>
- <attribute name="priority"/>
+ <attribute name="priority" rha:description="A number
+ specifying the priority; lower numbers having higher
+ priority"
+ rha:sample="1"/>
</optional>
- <attribute name="name"/>
+ <attribute name="name" rha:description="Name of the node."
+ rha:sample="member2"/>
</element>
</zeroOrMore>
</element>
@@ -867,47 +1117,47 @@ To validate your cluster.conf against this schema, run:
</element>
</optional> <!-- End of failoverdomains block -->
<optional>
- <element name="events">
+ <element name="events" rha:description="">
<zeroOrMore>
- <element name="event">
- <attribute name="name"/>
+ <element name="event" rha:description="">
+ <attribute name="name" rha:description="" rha:sample=""/>
<optional>
<text/>
</optional>
<optional>
- <attribute name="file"/>
+ <attribute name="file" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="priority"/>
+ <attribute name="priority" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="class"/>
+ <attribute name="class" rha:description="" rha:sample=""/>
</optional>
<!-- Service event class attributes -->
<optional>
- <attribute name="service"/>
+ <attribute name="service" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="service_state"/>
+ <attribute name="service_state" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="service_owner"/>
+ <attribute name="service_owner" rha:description="" rha:sample=""/>
</optional>
<!-- Node event -->
<optional>
- <attribute name="node"/>
+ <attribute name="node" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="node_id"/>
+ <attribute name="node_id" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="node_state"/>
+ <attribute name="node_state" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="node_clean"/>
+ <attribute name="node_clean" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="node_local"/>
+ <attribute name="node_local" rha:description="" rha:sample=""/>
</optional>
<!-- Config event attributes -->
<!-- NOT USED -->
@@ -916,7 +1166,7 @@ To validate your cluster.conf against this schema, run:
</element>
</optional> <!-- End of events block -->
<optional>
- <element name="resources">
+ <element name="resources" rha:description="">
<zeroOrMore>
<ref name="CHILDREN"/>
</zeroOrMore>
@@ -933,81 +1183,139 @@ To validate your cluster.conf against this schema, run:
</optional>
<optional>
- <element name="fence_daemon">
+ <element name="fence_daemon" rha:description="This element and its
+ attributes define cluster-wide parameters for basic fence timing
+ properties used when a node joins a cluster or is fenced from
+ the cluster.">
+ <optional>
+ <attribute name="post_join_delay" rha:description="The number of
+ seconds the fence daemon (fenced) waits before fencing a node
+ after the node joins the fence domain. A typical setting for
+ post_join_delay is between 20 and 30 seconds, but can vary
+ according to cluster and network performance requirements."
+ rha:default="3" rha:sample="20"/>
+ </optional>
<optional>
- <attribute name="post_join_delay"/>
+ <attribute name="post_fail_delay" rha:description="The the number of
+ seconds the fence daemon (fenced) waits before fencing
+ a node (a member of the fence domain) after the node has
+ failed." rha:default="0" rha:sample="2"/>
</optional>
<optional>
- <attribute name="post_fail_delay"/>
+ <attribute name="override_path" rha:description="The location of a
+ FIFO used for communication between fenced and fence_ack_manual"
+ rha:default="/var/run/cluster/fenced_override"
+ rha:sample="/opt/cluster/fenced_override"/>
</optional>
<optional>
- <attribute name="override_path"/>
+ <attribute name="override_time" rha:description="The location of a
+ FIFO used for communication between fenced and fence_ack_manual"
+ rha:default="/var/run/cluster/fenced_override"
+ rha:sample="/opt/cluster/fenced_override"/>
</optional>
<optional>
- <attribute name="override_time"/>
+ <attribute name="clean_start" rha:description="Clean-start is used
+ to prevent any startup fencing the daemon might do." rha:default="0"
+ rha:sample="1"/>
</optional>
+ <!--FIXME: This attribute is in the proposed RHEL5 schema; verify if
+ it should be in stable3.
<optional>
- <attribute name="clean_start"/>
+ <attribute name="skip_undefined" rha:description="Do not do startup
+ fencing of nodes with no fence methods defined." rha:default="0"
+ rha:sample="1"/>
</optional>
+ -->
+
</element>
</optional>
<optional>
- <element name="quorumd">
+ <element name="quorumd" rha:description="This element and its
+ attributes define parameters for the quorum disk daemon,
+ quorumd.">
<optional>
- <attribute name="interval"/>
+ <attribute name="interval" rha:description="The frequency of
+ read/write cycles, in seconds." rha:sample=""/>
</optional>
<optional>
- <attribute name="tko"/>
+ <attribute name="tko" rha:description="The number of cycles a node
+ must miss to be declared dead." rha:sample=""/>
</optional>
<optional>
- <attribute name="votes"/>
+ <attribute name="votes" rha:description="The number of votes the
+ quorum daemon advertises to CMAN when it has a high enough
+ score." rha:sample=""/>
</optional>
<optional>
- <attribute name="min_score"/>
+ <attribute name="min_score" rha:description="The minimum score for a
+ node to be considered alive. If omitted or set to 0, the default
+ function, floor((n+1)/2), is used, where n is the sum of the
+ heuristics scores. The Minimum Score value must never exceed the
+ sum of the heuristic scores; otherwise, the quorum disk cannot
+ be available." rha:sample=""/>
</optional>
<optional>
- <attribute name="device"/>
+ <attribute name="device" rha:description="The storage device the
+ quorum daemon uses. The device must be the same on all
+ nodes." rha:sample=""/>
</optional>
<optional>
- <attribute name="label"/>
+ <attribute name="label" rha:description="Specifies the quorum disk
+ label created by the mkqdisk utility. If this field contains an
+ entry, the label overrides the Device field. If this field is
+ used, the quorum daemon reads /proc/partitions and checks for
+ qdisk signatures on every block device found, comparing the
+label
+ against the specified label. This is useful in configurations
+ where the quorum device name differs among nodes."
+rha:sample=""/>
</optional>
<optional>
- <attribute name="status_file"/>
+ <attribute name="status_file" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="scheduler"/>
+ <attribute name="scheduler" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="reboot"/>
+ <attribute name="reboot" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="priority"/>
+ <attribute name="priority" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="stop_cman"/>
+ <attribute name="stop_cman" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="paranoid"/>
+ <attribute name="paranoid" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="allow_kill"/>
+ <attribute name="allow_kill" rha:description="" rha:sample=""/>
</optional>
<optional>
- <attribute name="max_error_cycles"/>
+ <attribute name="max_error_cycles" rha:description=""
+rha:sample=""/>
</optional>
<zeroOrMore>
- <element name="heuristic">
+ <element name="heuristic" rha:description="">
+ <attribute name="program" rha:description="The program used to
+ determine if this heuristic is alive. This can be anything that
+ can be executed by /bin/sh -c. A return value of 0 indicates
+ success; anything else indicates failure." rha:sample=""/>
<attribute name="program"/>
<optional>
- <attribute name="score"/>
+ <attribute name="score" rha:description="The weight of this
+ heuristic. Be careful when determining scores for
+ heuristics." rha:default="1" rha:sample=""/>
</optional>
<optional>
- <attribute name="interval"/>
+ <attribute name="interval" rha:description="The frequency (in
+ seconds) at which the heuristic is polled." rha:default="2"
+ rha:sample=""/>
</optional>
<optional>
- <attribute name="tko"/>
+ <attribute name="tko" rha:description="" rha:sample=""/>
</optional>
</element>
</zeroOrMore>
@@ -2047,10 +2355,18 @@ To validate your cluster.conf against this schema, run:
<!--Beginning of fence definitions-->
<define name="FENCE">
- <element name="fence">
+ <element name="fence" rha:description="The fence element specifies how
+ a node is fenced. Its elements and attributes identify fence device
+ (or devices) to use and the parameters specific to each fence device
+ (for example, IP address and port number in an APC fence device)">
<zeroOrMore>
- <element name="method">
- <attribute name="name"/>
+ <element name="method" rha:description="Typically, there is a single
+ method used to fence each node (the name given to the method is
+ not significant). A method refers to a specific device listed in
+ the fencedevices section (a separate section from the clusternode
+ section), and then lists any node-specific parameters related
+ to using the device.">
+ <attribute name="name" rha:description="" rha:sample="apc123"/>
<zeroOrMore>
<ref name="DEVICE"/>
</zeroOrMore>
@@ -2060,7 +2376,7 @@ To validate your cluster.conf against this schema, run:
</define>
<define name="UNFENCE">
- <element name="unfence">
+ <element name="unfence" rha:description="">
<zeroOrMore>
<ref name="DEVICE"/>
</zeroOrMore>
@@ -2068,8 +2384,8 @@ To validate your cluster.conf against this schema, run:
</define>
<define name="DEVICE">
- <element name="device">
- <attribute name="name">
+ <element name="device" rha:description="">
+ <attribute name="name" rha:description="" rha:sample="">
<data type="IDREF"/>
</attribute>
<choice>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-07-27 21:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-27 21:14 cluster: STABLE3 - cluster.rng: add descriptions David Teigland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).