Cluster.ng
From AN!Wiki
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. | ||||
Us: Alteeve's Niche! | Support: Mailing List | IRC: #clusterlabs on Freenode | © Alteeve's Niche! Inc. 1997-2019 | |
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. |