Cluster.ng

From AN!Wiki
Jump to: navigation, search

 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.

<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.
Personal tools
Namespaces

Variants
Actions
Navigation
projects
Toolbox