Cluster.ng: Difference between revisions
Jump to navigation
Jump to search
Created page with '{{na_header}} This is the updated <span class="code">cluster.conf</span> validation XML file needed to add support for Node Assassin to Red Hat/CentOS clusters. * [http://nodea…' |
No edit summary |
||
Line 3: | Line 3: | ||
This is the updated <span class="code">cluster.conf</span> validation XML file needed to add support for Node Assassin to Red Hat/CentOS clusters. | This is the updated <span class="code">cluster.conf</span> validation XML file needed to add support for Node Assassin to Red Hat/CentOS clusters. | ||
* [http://nodeassassin.org/ | * [http://nodeassassin.org/files/usr/share/system-config-cluster/misc/cluster.ng cluster.ng] (local copy) | ||
<source lang="xml"> | <source lang="xml"> | ||
<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0"> | |||
<start> | |||
<element name="cluster"> | |||
<attribute name="name"/> | |||
<attribute name="config_version"/> | |||
<optional> | |||
<attribute name="alias"/> | |||
</optional> | |||
<!-- The choice section below brackets two very large group blocks. --> | |||
<!-- The first group specifies schema for a cman/dlm cluster, and --> | |||
<!-- the second for a gulm cluster --> | |||
<interleave> | |||
<choice> | |||
<choice> | |||
<group> | |||
<ref name="cman_definition"/> | |||
<ref name="cman_clusternodes"/> | |||
</group> | |||
<group> | |||
<ref name="cman_clusternodes"/> | |||
<ref name="cman_definition"/> | |||
</group> | |||
</choice> | |||
<choice> | |||
<group> | |||
<ref name="gulm_definition"/> | |||
<ref name="gulm_clusternodes"/> | |||
</group> | |||
<group> | |||
<ref name="gulm_clusternodes"/> | |||
<ref name="gulm_definition"/> | |||
</group> | |||
</choice> | |||
</choice> | |||
<optional> | |||
<element name="fencedevices"> | |||
<zeroOrMore> | |||
<element name="fencedevice"> | |||
<attribute name="name"> | |||
<data type="ID"/> | |||
</attribute> | |||
<attribute name="agent"/> | |||
<optional> | |||
<choice> | |||
<!-- Node Assassin --> | |||
<group> | |||
<attribute name="ipaddr"/> | |||
<optional> | |||
<attribute name="login"/> | |||
</optional> | |||
<optional> | |||
<attribute name="passwd"/> | |||
</optional> | |||
<optional> | |||
<attribute name="passwd_script"/> | |||
</optional> | |||
<optional> | |||
<attribute name="quiet"/> | |||
</optional> | |||
</group> | |||
<!-- RPS10 --> | |||
<group> | |||
<attribute name="device" /> | |||
<attribute name="port" /> | |||
</group> | |||
<!-- APC, Brocade, McData, SANBox2, Bladecenter,bullpap, ipmilan --> | |||
<group> | |||
<attribute name="ipaddr"/> | |||
<optional> | |||
<attribute name="login"/> | |||
</optional> | |||
<optional> | |||
<attribute name="passwd"/> | |||
</optional> | |||
<optional> | |||
<attribute name="passwd_script"/> | |||
</optional> | |||
<optional> | |||
<attribute name="auth"/> | |||
</optional> | |||
<optional> | |||
<attribute name="lanplus"/> | |||
</optional> | |||
</group> | |||
<!-- WTI, Vixel --> | |||
<group> | |||
<optional> | |||
<attribute name="ipaddr"/> | |||
</optional> | |||
<optional> | |||
<attribute name="passwd"/> | |||
</optional> | |||
<optional> | |||
<attribute name="passwd_script"/> | |||
</optional> | |||
</group> | |||
<!-- scsi reservations --> | |||
<group> | |||
<attribute name="nodename"/> | |||
<attribute name="self"/> | |||
</group> | |||
<!-- ILO --> | |||
<group> | |||
<attribute name="hostname"/> | |||
<attribute name="login"/> | |||
<optional> | |||
<attribute name="passwd"/> | |||
</optional> | |||
<optional> | |||
<attribute name="passwd_script"/> | |||
</optional> | |||
<optional> | |||
<attribute name="force"/> | |||
</optional> | |||
</group> | |||
<!-- GNBD --> | |||
<group> | |||
<attribute name="servers"/> | |||
</group> | |||
<!-- Egenera --> | |||
<group> | |||
<attribute name="cserver"/> | |||
</group> | |||
<!-- xCAT --> | |||
<group> | |||
<attribute name="rpowerpath"/> | |||
</group> | |||
<!-- manual --> | |||
<group> | |||
<optional> | |||
<empty/> | |||
</optional> | |||
</group> | |||
</choice> | |||
</optional> | |||
</element> | |||
</zeroOrMore> | |||
</element> | |||
</optional> | |||
<optional> | |||
<element name="fence_xvmd"> | |||
<empty/> | |||
</element> | |||
</optional> | |||
<optional> | |||
<element name="totem"> | |||
<optional> | |||
<attribute name="consensus"/> | |||
</optional> | |||
<optional> | |||
<attribute name="join"/> | |||
</optional> | |||
<optional> | |||
<attribute name="token"/> | |||
</optional> | |||
<optional> | |||
<attribute name="token_retransmits_before_loss_const"/> | |||
</optional> | |||
</element> | |||
</optional> | |||
<optional> | |||
<element name="rm"> | |||
<optional> | |||
<attribute name="log_level"/> | |||
</optional> | |||
<optional> | |||
<attribute name="statusmax"/> | |||
</optional> | |||
<optional> | |||
<attribute name="log_facility"/> | |||
</optional> | |||
<interleave> | |||
<optional> | |||
<element name="failoverdomains"> | |||
<zeroOrMore> | |||
<element name="failoverdomain"> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="ordered"/> | |||
</optional> | |||
<optional> | |||
<attribute name="restricted"/> | |||
</optional> | |||
<optional> | |||
<attribute name="nofailback"/> | |||
</optional> | |||
<zeroOrMore> | |||
<element name="failoverdomainnode"> | |||
<optional> | |||
<attribute name="priority"/> | |||
</optional> | |||
<attribute name="name"/> | |||
</element> | |||
</zeroOrMore> | |||
</element> | |||
</zeroOrMore> | |||
</element> | |||
</optional> <!-- End of failoverdomains block --> | |||
<optional> | |||
<element name="resources"> | |||
<zeroOrMore> | |||
<ref name="ALLCHILDREN"/> | |||
</zeroOrMore> | |||
</element> | |||
</optional> | |||
<zeroOrMore> | |||
<element name="service"> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="domain"/> | |||
</optional> | |||
<optional> | |||
<attribute name="autostart"/> | |||
</optional> | |||
<optional> | |||
<attribute name="hardrecovery"/> | |||
</optional> | |||
<optional> | |||
<attribute name="exclusive"/> | |||
</optional> | |||
<optional> | |||
<attribute name="recovery"/> | |||
</optional> | |||
<optional> | |||
<attribute name="nfslock"/> | |||
</optional> | |||
<zeroOrMore> | |||
<ref name="ALLCHILDREN"/> | |||
</zeroOrMore> | |||
</element> | |||
</zeroOrMore> | |||
<zeroOrMore> | |||
<element name="vm"> | |||
<attribute name="name"/> | |||
<attribute name="path"/> | |||
<attribute name="domain"/> | |||
<optional> | |||
<attribute name="autostart"/> | |||
</optional> | |||
<optional> | |||
<attribute name="exclusive"/> | |||
</optional> | |||
<optional> | |||
<attribute name="recovery"/> | |||
</optional> | |||
<optional> | |||
<attribute name="migration"/> | |||
</optional> | |||
</element> | |||
</zeroOrMore> | |||
</interleave> | |||
</element> | |||
</optional> | |||
<optional> | |||
<element name="fence_daemon"> | |||
<optional> | |||
<attribute name="post_join_delay"/> | |||
</optional> | |||
<optional> | |||
<attribute name="post_fail_delay"/> | |||
</optional> | |||
<optional> | |||
<attribute name="clean_start"/> | |||
</optional> | |||
</element> | |||
</optional> | |||
<optional> | |||
<element name="quorumd"> | |||
<optional> | |||
<attribute name="interval"/> | |||
</optional> | |||
<optional> | |||
<attribute name="tko"/> | |||
</optional> | |||
<optional> | |||
<attribute name="tko_up"/> | |||
</optional> | |||
<optional> | |||
<attribute name="upgrade_wait"/> | |||
</optional> | |||
<optional> | |||
<attribute name="master_wait"/> | |||
</optional> | |||
<optional> | |||
<attribute name="votes"/> | |||
</optional> | |||
<optional> | |||
<attribute name="min_score"/> | |||
</optional> | |||
<optional> | |||
<attribute name="device"/> | |||
</optional> | |||
<optional> | |||
<attribute name="label"/> | |||
</optional> | |||
<optional> | |||
<attribute name="reboot"/> | |||
</optional> | |||
<optional> | |||
<attribute name="allow_kill"/> | |||
</optional> | |||
<optional> | |||
<attribute name="paranoid"/> | |||
</optional> | |||
<optional> | |||
<attribute name="priority"/> | |||
</optional> | |||
<optional> | |||
<attribute name="stop_cman"/> | |||
</optional> | |||
<optional> | |||
<attribute name="use_uptime"/> | |||
</optional> | |||
<optional> | |||
<attribute name="scheduler"/> | |||
</optional> | |||
<optional> | |||
<attribute name="status_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="log_level"/> | |||
</optional> | |||
<optional> | |||
<attribute name="log_facility"/> | |||
</optional> | |||
<optional> | |||
<element name="heuristic"> | |||
<attribute name="program"/> | |||
<optional> | |||
<attribute name="score"/> | |||
</optional> | |||
<optional> | |||
<attribute name="interval"/> | |||
</optional> | |||
<optional> | |||
<attribute name="tko"/> | |||
</optional> | |||
</element> | |||
</optional> | |||
</element> | |||
</optional> | |||
</interleave> | |||
</element> <!-- cluster end --> | |||
</start> | |||
<define name="cman_definition"> | |||
<element name="cman"> | |||
<choice> | |||
<group> | |||
<attribute name="two_node"/> | |||
<attribute name="expected_votes"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</group> | |||
<group> | |||
<optional> | |||
<attribute name="expected_votes"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<element name="multicast"> | |||
<attribute name="addr"/> | |||
</element> | |||
</optional> | |||
<optional> | |||
<attribute name="deadnode_timeout"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="log_level"/> | |||
</optional> | |||
<optional> | |||
<attribute name="log_facility"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="cman_clusternodes"> | |||
<element name="clusternodes"> | |||
<zeroOrMore> | |||
<element name="clusternode"> | |||
<attribute name="name"> | |||
<data type="ID"/> | |||
</attribute> | |||
<optional> | |||
<attribute name="votes"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="nodeid"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<interleave> | |||
<optional> | |||
<element name="multicast"> | |||
<attribute name="addr"/> | |||
<optional> | |||
<attribute name="interface"/> | |||
</optional> | |||
</element> | |||
</optional> | |||
<optional> | |||
<ref name="FENCE"/> | |||
</optional> | |||
</interleave> | |||
</element> | |||
</zeroOrMore> | |||
</element> | |||
</define> | |||
<define name="gulm_definition"> | |||
<element name="gulm"> | |||
<optional> | |||
<attribute name="heartbeat_rate"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="allowed_misses"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="coreport"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="ltpxport"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="ltport"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="lt_partitions"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="master_scan_delay"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<attribute name="new_connection_timeout"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<oneOrMore> | |||
<element name="lockserver"> | |||
<attribute name="name"> | |||
<data type="IDREF"/> | |||
</attribute> | |||
</element> | |||
</oneOrMore> | |||
</element> | |||
</define> | |||
<define name="gulm_clusternodes"> | |||
<element name="clusternodes"> | |||
<zeroOrMore> | |||
<element name="clusternode"> | |||
<attribute name="name"> | |||
<data type="ID"/> | |||
</attribute> | |||
<optional> | |||
<attribute name="votes"> | |||
<data type="positiveInteger"/> | |||
</attribute> | |||
</optional> | |||
<optional> | |||
<ref name="FENCE"/> | |||
</optional> | |||
</element> | |||
</zeroOrMore> | |||
</element> | |||
</define> | |||
<define name="SAMBA"> | |||
<element name="smb"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="workgroup"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="SYBASE"> | |||
<element name="ASEHAagent"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="login_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="interfaces_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="server_name"/> | |||
</optional> | |||
<optional> | |||
<attribute name="sybase_home"/> | |||
</optional> | |||
<optional> | |||
<attribute name="sybase_ase"/> | |||
</optional> | |||
<optional> | |||
<attribute name="sybase_ocs"/> | |||
</optional> | |||
<optional> | |||
<attribute name="sybase_user"/> | |||
</optional> | |||
<optional> | |||
<attribute name="deep_probe_timeout"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="APACHE"> | |||
<element name="apache"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="config_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="server_root"/> | |||
</optional> | |||
<optional> | |||
<attribute name="httpd_options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="shutdown_wait"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="POSTGRES"> | |||
<element name="postgres-8"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="config_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="postmaster_user"/> | |||
</optional> | |||
<optional> | |||
<attribute name="postmaster_options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="shutdown_wait"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="TOMCAT"> | |||
<element name="tomcat-5"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="config_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="tomcat_user"/> | |||
</optional> | |||
<optional> | |||
<attribute name="catalina_options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="catalina_base"/> | |||
</optional> | |||
<optional> | |||
<attribute name="shutdown_wait"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="MYSQL"> | |||
<element name="mysql"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="config_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="listen_address"/> | |||
</optional> | |||
<optional> | |||
<attribute name="mysql_options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="shutdown_wait"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="LVM"> | |||
<element name="lvm"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="lv_name"/> | |||
</optional> | |||
<optional> | |||
<attribute name="vg_name"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="SAPDB"> | |||
<element name="SAPDatabase"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="SID"/> | |||
<optional> | |||
<attribute name="DIR_EXECUTABLE"/> | |||
</optional> | |||
<optional> | |||
<attribute name="NETSERVICENAME"/> | |||
</optional> | |||
<optional> | |||
<attribute name="DIR_BOOTSTRAP"/> | |||
</optional> | |||
<optional> | |||
<attribute name="DIR_SECSTORE"/> | |||
</optional> | |||
<optional> | |||
<attribute name="DBJ2EE_ONLY"/> | |||
</optional> | |||
<optional> | |||
<attribute name="DBTYPE"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="SAP"> | |||
<element name="SAPInstance"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="InstanceName"/> | |||
<optional> | |||
<attribute name="DIR_EXECUTABLE"/> | |||
</optional> | |||
<optional> | |||
<attribute name="DIR_PROFILE"/> | |||
</optional> | |||
<optional> | |||
<attribute name="START_PROFILE"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="OPENLDAP"> | |||
<element name="openldap"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="config_file"/> | |||
</optional> | |||
<optional> | |||
<attribute name="url_list"/> | |||
</optional> | |||
<optional> | |||
<attribute name="slapd_options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="shutdown_wait"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="IP"> | |||
<element name="ip"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="address"/> | |||
<optional> | |||
<attribute name="monitor_link"/> | |||
</optional> | |||
<optional> | |||
<attribute name="family"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="FS"> | |||
<element name="fs"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<attribute name="mountpoint"/> | |||
<attribute name="device"/> | |||
<optional> | |||
<attribute name="fsid"/> | |||
</optional> | |||
<optional> | |||
<attribute name="fstype"/> | |||
</optional> | |||
<optional> | |||
<attribute name="force_unmount"/> | |||
</optional> | |||
<optional> | |||
<attribute name="self_fence"/> | |||
</optional> | |||
<optional> | |||
<attribute name="force_fsck"/> | |||
</optional> | |||
<optional> | |||
<attribute name="options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<zeroOrMore> | |||
<choice> | |||
<ref name="NFSEXPORT"/> | |||
<ref name="CHILDREN"/> | |||
</choice> | |||
</zeroOrMore> | |||
</element> | |||
</define> | |||
<define name="CLUSTERFS"> | |||
<element name="clusterfs"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<attribute name="mountpoint"/> | |||
<attribute name="device"/> | |||
<optional> | |||
<attribute name="fsid"/> | |||
<attribute name="fstype"/> | |||
</optional> | |||
<optional> | |||
<attribute name="force_unmount"/> | |||
</optional> | |||
<optional> | |||
<attribute name="options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<zeroOrMore> | |||
<choice> | |||
<ref name="NFSEXPORT"/> | |||
<ref name="CHILDREN"/> | |||
</choice> | |||
</zeroOrMore> | |||
</element> | |||
</define> | |||
<define name="NETFS"> | |||
<element name="netfs"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<attribute name="mountpoint"/> | |||
<attribute name="host"/> | |||
<attribute name="export"/> | |||
<optional> | |||
<attribute name="fstype"/> | |||
</optional> | |||
<optional> | |||
<attribute name="force_unmount"/> | |||
</optional> | |||
<optional> | |||
<attribute name="options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="NFSEXPORT"> | |||
<element name="nfsexport"> | |||
<choice> | |||
<attribute name="ref"/> | |||
<attribute name="name"/> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</choice> | |||
<zeroOrMore> | |||
<ref name="ALLCHILDREN"/> | |||
</zeroOrMore> | |||
</element> | |||
</define> | |||
<define name="NFSCLIENT"> | |||
<element name="nfsclient"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<attribute name="target"/> | |||
<optional> | |||
<attribute name="options"/> | |||
</optional> | |||
<optional> | |||
<attribute name="path"/> | |||
</optional> | |||
<optional> | |||
<attribute name="fsid"/> | |||
</optional> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
</element> | |||
</define> | |||
<define name="SCRIPT"> | |||
<element name="script"> | |||
<choice> | |||
<group> | |||
<attribute name="ref"/> | |||
</group> | |||
<group> | |||
<attribute name="name"/> | |||
<attribute name="file"/> | |||
<optional> | |||
<attribute name="__independent_subtree"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
<optional> | |||
<ref name="CHILDREN"/> | |||
</optional> | |||
</element> | |||
</define> | |||
<define name="CHILD"> | |||
<!-- for recursion to work properly, CHILD may be referenced at CHILDREN only --> | |||
<zeroOrMore> | |||
<choice> | |||
<ref name="SCRIPT"/> | |||
<ref name="IP"/> | |||
<ref name="NETFS"/> | |||
<ref name="CLUSTERFS"/> | |||
<ref name="FS"/> | |||
<ref name="SAMBA"/> | |||
<ref name="OPENLDAP"/> | |||
<ref name="APACHE"/> | |||
<ref name="SYBASE"/> | |||
<ref name="LVM"/> | |||
<ref name="POSTGRES"/> | |||
<ref name="TOMCAT"/> | |||
<ref name="MYSQL"/> | |||
<ref name="SAP"/> | |||
<ref name="SAPDB"/> | |||
</choice> | |||
</zeroOrMore> | |||
</define> | |||
<define name="CHILDREN"> | |||
<zeroOrMore> | |||
<!-- <ref name="CHILD"/> for now everything can be a child --> | |||
<ref name="ALLCHILDREN"/> | |||
</zeroOrMore> | |||
</define> | |||
<define name="ALLCHILDREN"> | |||
<zeroOrMore> | |||
<choice> | |||
<ref name="CHILD"/> | |||
<ref name="NFSEXPORT"/> | |||
<ref name="NFSCLIENT"/> | |||
</choice> | |||
</zeroOrMore> | |||
</define> | |||
<define name="FENCE"> | |||
<element name="fence"> | |||
<zeroOrMore> | |||
<element name="method"> | |||
<attribute name="name"/> | |||
<zeroOrMore> | |||
<element name="device"> | |||
<attribute name="name"> | |||
<data type="IDREF"/> | |||
</attribute> | |||
<choice> | |||
<!-- DRAC --> | |||
<group> | |||
<optional> | |||
<attribute name="action"/> | |||
</optional> | |||
<optional> | |||
<attribute name="modulename"/> | |||
</optional> | |||
</group> | |||
<!-- Node Assassin --> | |||
<group> | |||
<attribute name="port"/> | |||
<attribute name="action"/> | |||
</group> | |||
<!-- WTI, Brocade, Vixel, McData, SANBox2 --> | |||
<group> | |||
<attribute name="port"/> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- APC --> | |||
<group> | |||
<attribute name="port"/> | |||
<optional> | |||
<attribute name="switch"/> | |||
</optional> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- BladeCenter --> | |||
<group> | |||
<attribute name="blade"/> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- xCAT, manual --> | |||
<group> | |||
<attribute name="nodename"/> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- GNBD --> | |||
<group> | |||
<attribute name="nodename"/> | |||
<optional> | |||
<attribute name="ipaddr"/> | |||
</optional> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- bullpap --> | |||
<group> | |||
<attribute name="domain"/> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- Egenera --> | |||
<group> | |||
<attribute name="lpan"/> | |||
<attribute name="pserver"/> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- ILO, ipmilan --> | |||
<group> | |||
<optional> | |||
<empty/> | |||
</optional> | |||
<optional> | |||
<attribute name="lanplus"/> | |||
</optional> | |||
<optional> | |||
<attribute name="option"/> | |||
</optional> | |||
</group> | |||
<!-- scsi reservations --> | |||
<group> | |||
<optional> | |||
<attribute name="node"/> | |||
</optional> | |||
</group> | |||
<!-- xvm --> | |||
<group> | |||
<optional> | |||
<attribute name="domain"/> | |||
</optional> | |||
</group> | |||
</choice> | |||
</element> | |||
</zeroOrMore> | |||
</element> | |||
</zeroOrMore> | |||
</element> | |||
</define> | |||
</grammar> | |||
</source> | </source> | ||
{{footer}} | {{footer}} |
Latest revision as of 01:52, 15 March 2010
Node Assassin :: Cluster.ng |
This is the updated cluster.conf validation XML file needed to add support for Node Assassin to Red Hat/CentOS clusters.
- cluster.ng (local copy)
<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<element name="cluster">
<attribute name="name"/>
<attribute name="config_version"/>
<optional>
<attribute name="alias"/>
</optional>
<!-- The choice section below brackets two very large group blocks. -->
<!-- The first group specifies schema for a cman/dlm cluster, and -->
<!-- the second for a gulm cluster -->
<interleave>
<choice>
<choice>
<group>
<ref name="cman_definition"/>
<ref name="cman_clusternodes"/>
</group>
<group>
<ref name="cman_clusternodes"/>
<ref name="cman_definition"/>
</group>
</choice>
<choice>
<group>
<ref name="gulm_definition"/>
<ref name="gulm_clusternodes"/>
</group>
<group>
<ref name="gulm_clusternodes"/>
<ref name="gulm_definition"/>
</group>
</choice>
</choice>
<optional>
<element name="fencedevices">
<zeroOrMore>
<element name="fencedevice">
<attribute name="name">
<data type="ID"/>
</attribute>
<attribute name="agent"/>
<optional>
<choice>
<!-- Node Assassin -->
<group>
<attribute name="ipaddr"/>
<optional>
<attribute name="login"/>
</optional>
<optional>
<attribute name="passwd"/>
</optional>
<optional>
<attribute name="passwd_script"/>
</optional>
<optional>
<attribute name="quiet"/>
</optional>
</group>
<!-- RPS10 -->
<group>
<attribute name="device" />
<attribute name="port" />
</group>
<!-- APC, Brocade, McData, SANBox2, Bladecenter,bullpap, ipmilan -->
<group>
<attribute name="ipaddr"/>
<optional>
<attribute name="login"/>
</optional>
<optional>
<attribute name="passwd"/>
</optional>
<optional>
<attribute name="passwd_script"/>
</optional>
<optional>
<attribute name="auth"/>
</optional>
<optional>
<attribute name="lanplus"/>
</optional>
</group>
<!-- WTI, Vixel -->
<group>
<optional>
<attribute name="ipaddr"/>
</optional>
<optional>
<attribute name="passwd"/>
</optional>
<optional>
<attribute name="passwd_script"/>
</optional>
</group>
<!-- scsi reservations -->
<group>
<attribute name="nodename"/>
<attribute name="self"/>
</group>
<!-- ILO -->
<group>
<attribute name="hostname"/>
<attribute name="login"/>
<optional>
<attribute name="passwd"/>
</optional>
<optional>
<attribute name="passwd_script"/>
</optional>
<optional>
<attribute name="force"/>
</optional>
</group>
<!-- GNBD -->
<group>
<attribute name="servers"/>
</group>
<!-- Egenera -->
<group>
<attribute name="cserver"/>
</group>
<!-- xCAT -->
<group>
<attribute name="rpowerpath"/>
</group>
<!-- manual -->
<group>
<optional>
<empty/>
</optional>
</group>
</choice>
</optional>
</element>
</zeroOrMore>
</element>
</optional>
<optional>
<element name="fence_xvmd">
<empty/>
</element>
</optional>
<optional>
<element name="totem">
<optional>
<attribute name="consensus"/>
</optional>
<optional>
<attribute name="join"/>
</optional>
<optional>
<attribute name="token"/>
</optional>
<optional>
<attribute name="token_retransmits_before_loss_const"/>
</optional>
</element>
</optional>
<optional>
<element name="rm">
<optional>
<attribute name="log_level"/>
</optional>
<optional>
<attribute name="statusmax"/>
</optional>
<optional>
<attribute name="log_facility"/>
</optional>
<interleave>
<optional>
<element name="failoverdomains">
<zeroOrMore>
<element name="failoverdomain">
<attribute name="name"/>
<optional>
<attribute name="ordered"/>
</optional>
<optional>
<attribute name="restricted"/>
</optional>
<optional>
<attribute name="nofailback"/>
</optional>
<zeroOrMore>
<element name="failoverdomainnode">
<optional>
<attribute name="priority"/>
</optional>
<attribute name="name"/>
</element>
</zeroOrMore>
</element>
</zeroOrMore>
</element>
</optional> <!-- End of failoverdomains block -->
<optional>
<element name="resources">
<zeroOrMore>
<ref name="ALLCHILDREN"/>
</zeroOrMore>
</element>
</optional>
<zeroOrMore>
<element name="service">
<attribute name="name"/>
<optional>
<attribute name="domain"/>
</optional>
<optional>
<attribute name="autostart"/>
</optional>
<optional>
<attribute name="hardrecovery"/>
</optional>
<optional>
<attribute name="exclusive"/>
</optional>
<optional>
<attribute name="recovery"/>
</optional>
<optional>
<attribute name="nfslock"/>
</optional>
<zeroOrMore>
<ref name="ALLCHILDREN"/>
</zeroOrMore>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="vm">
<attribute name="name"/>
<attribute name="path"/>
<attribute name="domain"/>
<optional>
<attribute name="autostart"/>
</optional>
<optional>
<attribute name="exclusive"/>
</optional>
<optional>
<attribute name="recovery"/>
</optional>
<optional>
<attribute name="migration"/>
</optional>
</element>
</zeroOrMore>
</interleave>
</element>
</optional>
<optional>
<element name="fence_daemon">
<optional>
<attribute name="post_join_delay"/>
</optional>
<optional>
<attribute name="post_fail_delay"/>
</optional>
<optional>
<attribute name="clean_start"/>
</optional>
</element>
</optional>
<optional>
<element name="quorumd">
<optional>
<attribute name="interval"/>
</optional>
<optional>
<attribute name="tko"/>
</optional>
<optional>
<attribute name="tko_up"/>
</optional>
<optional>
<attribute name="upgrade_wait"/>
</optional>
<optional>
<attribute name="master_wait"/>
</optional>
<optional>
<attribute name="votes"/>
</optional>
<optional>
<attribute name="min_score"/>
</optional>
<optional>
<attribute name="device"/>
</optional>
<optional>
<attribute name="label"/>
</optional>
<optional>
<attribute name="reboot"/>
</optional>
<optional>
<attribute name="allow_kill"/>
</optional>
<optional>
<attribute name="paranoid"/>
</optional>
<optional>
<attribute name="priority"/>
</optional>
<optional>
<attribute name="stop_cman"/>
</optional>
<optional>
<attribute name="use_uptime"/>
</optional>
<optional>
<attribute name="scheduler"/>
</optional>
<optional>
<attribute name="status_file"/>
</optional>
<optional>
<attribute name="log_level"/>
</optional>
<optional>
<attribute name="log_facility"/>
</optional>
<optional>
<element name="heuristic">
<attribute name="program"/>
<optional>
<attribute name="score"/>
</optional>
<optional>
<attribute name="interval"/>
</optional>
<optional>
<attribute name="tko"/>
</optional>
</element>
</optional>
</element>
</optional>
</interleave>
</element> <!-- cluster end -->
</start>
<define name="cman_definition">
<element name="cman">
<choice>
<group>
<attribute name="two_node"/>
<attribute name="expected_votes">
<data type="positiveInteger"/>
</attribute>
</group>
<group>
<optional>
<attribute name="expected_votes">
<data type="positiveInteger"/>
</attribute>
</optional>
</group>
</choice>
<optional>
<element name="multicast">
<attribute name="addr"/>
</element>
</optional>
<optional>
<attribute name="deadnode_timeout">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="log_level"/>
</optional>
<optional>
<attribute name="log_facility"/>
</optional>
</element>
</define>
<define name="cman_clusternodes">
<element name="clusternodes">
<zeroOrMore>
<element name="clusternode">
<attribute name="name">
<data type="ID"/>
</attribute>
<optional>
<attribute name="votes">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="nodeid">
<data type="positiveInteger"/>
</attribute>
</optional>
<interleave>
<optional>
<element name="multicast">
<attribute name="addr"/>
<optional>
<attribute name="interface"/>
</optional>
</element>
</optional>
<optional>
<ref name="FENCE"/>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</define>
<define name="gulm_definition">
<element name="gulm">
<optional>
<attribute name="heartbeat_rate">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="allowed_misses">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="coreport">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="ltpxport">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="ltport">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="lt_partitions">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="master_scan_delay">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="new_connection_timeout">
<data type="positiveInteger"/>
</attribute>
</optional>
<oneOrMore>
<element name="lockserver">
<attribute name="name">
<data type="IDREF"/>
</attribute>
</element>
</oneOrMore>
</element>
</define>
<define name="gulm_clusternodes">
<element name="clusternodes">
<zeroOrMore>
<element name="clusternode">
<attribute name="name">
<data type="ID"/>
</attribute>
<optional>
<attribute name="votes">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<ref name="FENCE"/>
</optional>
</element>
</zeroOrMore>
</element>
</define>
<define name="SAMBA">
<element name="smb">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="workgroup"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="SYBASE">
<element name="ASEHAagent">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="login_file"/>
</optional>
<optional>
<attribute name="interfaces_file"/>
</optional>
<optional>
<attribute name="server_name"/>
</optional>
<optional>
<attribute name="sybase_home"/>
</optional>
<optional>
<attribute name="sybase_ase"/>
</optional>
<optional>
<attribute name="sybase_ocs"/>
</optional>
<optional>
<attribute name="sybase_user"/>
</optional>
<optional>
<attribute name="deep_probe_timeout"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="APACHE">
<element name="apache">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="config_file"/>
</optional>
<optional>
<attribute name="server_root"/>
</optional>
<optional>
<attribute name="httpd_options"/>
</optional>
<optional>
<attribute name="shutdown_wait"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="POSTGRES">
<element name="postgres-8">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="config_file"/>
</optional>
<optional>
<attribute name="postmaster_user"/>
</optional>
<optional>
<attribute name="postmaster_options"/>
</optional>
<optional>
<attribute name="shutdown_wait"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="TOMCAT">
<element name="tomcat-5">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="config_file"/>
</optional>
<optional>
<attribute name="tomcat_user"/>
</optional>
<optional>
<attribute name="catalina_options"/>
</optional>
<optional>
<attribute name="catalina_base"/>
</optional>
<optional>
<attribute name="shutdown_wait"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="MYSQL">
<element name="mysql">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="config_file"/>
</optional>
<optional>
<attribute name="listen_address"/>
</optional>
<optional>
<attribute name="mysql_options"/>
</optional>
<optional>
<attribute name="shutdown_wait"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="LVM">
<element name="lvm">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="lv_name"/>
</optional>
<optional>
<attribute name="vg_name"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="SAPDB">
<element name="SAPDatabase">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="SID"/>
<optional>
<attribute name="DIR_EXECUTABLE"/>
</optional>
<optional>
<attribute name="NETSERVICENAME"/>
</optional>
<optional>
<attribute name="DIR_BOOTSTRAP"/>
</optional>
<optional>
<attribute name="DIR_SECSTORE"/>
</optional>
<optional>
<attribute name="DBJ2EE_ONLY"/>
</optional>
<optional>
<attribute name="DBTYPE"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="SAP">
<element name="SAPInstance">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="InstanceName"/>
<optional>
<attribute name="DIR_EXECUTABLE"/>
</optional>
<optional>
<attribute name="DIR_PROFILE"/>
</optional>
<optional>
<attribute name="START_PROFILE"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="OPENLDAP">
<element name="openldap">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<optional>
<attribute name="config_file"/>
</optional>
<optional>
<attribute name="url_list"/>
</optional>
<optional>
<attribute name="slapd_options"/>
</optional>
<optional>
<attribute name="shutdown_wait"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="IP">
<element name="ip">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="address"/>
<optional>
<attribute name="monitor_link"/>
</optional>
<optional>
<attribute name="family"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="FS">
<element name="fs">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<attribute name="mountpoint"/>
<attribute name="device"/>
<optional>
<attribute name="fsid"/>
</optional>
<optional>
<attribute name="fstype"/>
</optional>
<optional>
<attribute name="force_unmount"/>
</optional>
<optional>
<attribute name="self_fence"/>
</optional>
<optional>
<attribute name="force_fsck"/>
</optional>
<optional>
<attribute name="options"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<zeroOrMore>
<choice>
<ref name="NFSEXPORT"/>
<ref name="CHILDREN"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="CLUSTERFS">
<element name="clusterfs">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<attribute name="mountpoint"/>
<attribute name="device"/>
<optional>
<attribute name="fsid"/>
<attribute name="fstype"/>
</optional>
<optional>
<attribute name="force_unmount"/>
</optional>
<optional>
<attribute name="options"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<zeroOrMore>
<choice>
<ref name="NFSEXPORT"/>
<ref name="CHILDREN"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="NETFS">
<element name="netfs">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<attribute name="mountpoint"/>
<attribute name="host"/>
<attribute name="export"/>
<optional>
<attribute name="fstype"/>
</optional>
<optional>
<attribute name="force_unmount"/>
</optional>
<optional>
<attribute name="options"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="NFSEXPORT">
<element name="nfsexport">
<choice>
<attribute name="ref"/>
<attribute name="name"/>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</choice>
<zeroOrMore>
<ref name="ALLCHILDREN"/>
</zeroOrMore>
</element>
</define>
<define name="NFSCLIENT">
<element name="nfsclient">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<attribute name="target"/>
<optional>
<attribute name="options"/>
</optional>
<optional>
<attribute name="path"/>
</optional>
<optional>
<attribute name="fsid"/>
</optional>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
</element>
</define>
<define name="SCRIPT">
<element name="script">
<choice>
<group>
<attribute name="ref"/>
</group>
<group>
<attribute name="name"/>
<attribute name="file"/>
<optional>
<attribute name="__independent_subtree"/>
</optional>
</group>
</choice>
<optional>
<ref name="CHILDREN"/>
</optional>
</element>
</define>
<define name="CHILD">
<!-- for recursion to work properly, CHILD may be referenced at CHILDREN only -->
<zeroOrMore>
<choice>
<ref name="SCRIPT"/>
<ref name="IP"/>
<ref name="NETFS"/>
<ref name="CLUSTERFS"/>
<ref name="FS"/>
<ref name="SAMBA"/>
<ref name="OPENLDAP"/>
<ref name="APACHE"/>
<ref name="SYBASE"/>
<ref name="LVM"/>
<ref name="POSTGRES"/>
<ref name="TOMCAT"/>
<ref name="MYSQL"/>
<ref name="SAP"/>
<ref name="SAPDB"/>
</choice>
</zeroOrMore>
</define>
<define name="CHILDREN">
<zeroOrMore>
<!-- <ref name="CHILD"/> for now everything can be a child -->
<ref name="ALLCHILDREN"/>
</zeroOrMore>
</define>
<define name="ALLCHILDREN">
<zeroOrMore>
<choice>
<ref name="CHILD"/>
<ref name="NFSEXPORT"/>
<ref name="NFSCLIENT"/>
</choice>
</zeroOrMore>
</define>
<define name="FENCE">
<element name="fence">
<zeroOrMore>
<element name="method">
<attribute name="name"/>
<zeroOrMore>
<element name="device">
<attribute name="name">
<data type="IDREF"/>
</attribute>
<choice>
<!-- DRAC -->
<group>
<optional>
<attribute name="action"/>
</optional>
<optional>
<attribute name="modulename"/>
</optional>
</group>
<!-- Node Assassin -->
<group>
<attribute name="port"/>
<attribute name="action"/>
</group>
<!-- WTI, Brocade, Vixel, McData, SANBox2 -->
<group>
<attribute name="port"/>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- APC -->
<group>
<attribute name="port"/>
<optional>
<attribute name="switch"/>
</optional>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- BladeCenter -->
<group>
<attribute name="blade"/>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- xCAT, manual -->
<group>
<attribute name="nodename"/>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- GNBD -->
<group>
<attribute name="nodename"/>
<optional>
<attribute name="ipaddr"/>
</optional>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- bullpap -->
<group>
<attribute name="domain"/>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- Egenera -->
<group>
<attribute name="lpan"/>
<attribute name="pserver"/>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- ILO, ipmilan -->
<group>
<optional>
<empty/>
</optional>
<optional>
<attribute name="lanplus"/>
</optional>
<optional>
<attribute name="option"/>
</optional>
</group>
<!-- scsi reservations -->
<group>
<optional>
<attribute name="node"/>
</optional>
</group>
<!-- xvm -->
<group>
<optional>
<attribute name="domain"/>
</optional>
</group>
</choice>
</element>
</zeroOrMore>
</element>
</zeroOrMore>
</element>
</define>
</grammar>
Any questions, feedback, advice, complaints or meanderings are welcome. | |||
Alteeve's Niche! | Alteeve Enterprise Support | Community Support | |
© 2025 Alteeve. Intelligent Availability® is a registered trademark of Alteeve's Niche! Inc. 1997-2025 | |||
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions. |