cluster: STABLE3 - config: Fix fencing attribute requirements
Lon Hohberger
lon at fedoraproject.org
Thu Nov 19 18:22:58 UTC 2009
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=48ad1536e81af0673b4c4e3cc46f679bdb73530e
Commit: 48ad1536e81af0673b4c4e3cc46f679bdb73530e
Parent: 13a20c0eba253cfe6464698e677bf081bc897658
Author: Lon Hohberger <lhh at redhat.com>
AuthorDate: Thu Nov 19 12:39:44 2009 -0500
Committer: Lon Hohberger <lhh at redhat.com>
CommitterDate: Thu Nov 19 12:44:20 2009 -0500
config: Fix fencing attribute requirements
There is no easy way to satisfy a "required" attribute
being present in more than one location. Specifically, with
fencing devices, a required run-time parameter may appear
in one of three possible locations in cluster.conf.
Because this is difficult to detect, all fencing attributes
are now optional from the schema's perspective.
Signed-off-by: Lon Hohberger <lhh at redhat.com>
---
config/plugins/ldap/99cluster.ldif | 2 +-
config/tools/xml/cluster.rng.in | 252 +++++++++++++++++++++++++++---------
fence/agents/lib/fence2rng.xsl | 5 +-
3 files changed, 191 insertions(+), 68 deletions(-)
diff --git a/config/plugins/ldap/99cluster.ldif b/config/plugins/ldap/99cluster.ldif
index 2959168..de0a5dc 100644
--- a/config/plugins/ldap/99cluster.ldif
+++ b/config/plugins/ldap/99cluster.ldif
@@ -1,4 +1,4 @@
-# Auto-generated @ 2009-11-19 12:15:10
+# Auto-generated @ 2009-11-19 12:39:15
dn: cn=schema
attributeTypes: (
1.3.6.1.4.1.2312.8.1.1.15 NAME 'rhcsAlias'
diff --git a/config/tools/xml/cluster.rng.in b/config/tools/xml/cluster.rng.in
index 3cd63d9..c550169 100644
--- a/config/tools/xml/cluster.rng.in
+++ b/config/tools/xml/cluster.rng.in
@@ -2126,16 +2126,24 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
<optional>
<attribute name="passwd_script" rha:description="Script to retrieve password" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="exec" rha:description="Command to execute" />
</optional>
@@ -2171,9 +2179,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2227,9 +2241,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2242,7 +2262,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="secure" rha:description="SSH connection" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="identity_file" rha:description="Identity file for ssh" />
</optional>
@@ -2278,8 +2300,12 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
<optional>
<attribute name="login" rha:description="Login Name" />
</optional>
@@ -2289,7 +2315,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="passwd_script" rha:description="Script to retrieve password" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="snmp_version" rha:description="Specifies SNMP version to use (1,2c,3)" />
</optional>
@@ -2343,8 +2371,12 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
<optional>
<attribute name="login" rha:description="Login Name" />
</optional>
@@ -2354,7 +2386,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="passwd_script" rha:description="Script to retrieve password" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="snmp_version" rha:description="Specifies SNMP version to use (1,2c,3)" />
</optional>
@@ -2408,8 +2442,12 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
<optional>
<attribute name="login" rha:description="Login Name" />
</optional>
@@ -2419,7 +2457,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="passwd_script" rha:description="Script to retrieve password" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="verbose" rha:description="Verbose mode" />
</optional>
@@ -2443,9 +2483,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2458,7 +2504,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="identity_file" rha:description="Identity file for ssh" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="cmd_prompt" rha:description="Force command prompt" />
</optional>
@@ -2582,9 +2630,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2620,9 +2674,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2635,7 +2695,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="identity_file" rha:description="Identity file for ssh" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="inet4_only" rha:description="Forces agent to use IPv4 addresses only" />
</optional>
@@ -2668,8 +2730,12 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
<optional>
<attribute name="login" rha:description="Login Name" />
</optional>
@@ -2685,7 +2751,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="secure" rha:description="SSH connection" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="inet4_only" rha:description="Forces agent to use IPv4 addresses only" />
</optional>
@@ -2718,9 +2786,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2771,9 +2845,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2818,9 +2898,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2830,7 +2916,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="secure" rha:description="SSH connection" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="switch" rha:description="Physical switch number on device" />
</optional>
@@ -2866,9 +2954,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2907,8 +3001,12 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
<optional>
<attribute name="login" rha:description="Login Name" />
</optional>
@@ -2918,7 +3016,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="passwd_script" rha:description="Script to retrieve password" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="snmp_version" rha:description="Specifies SNMP version to use (1,2c,3)" />
</optional>
@@ -2972,9 +3072,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="io_fencing" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="io_fencing" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -2984,7 +3090,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="cmd_prompt" rha:description="Force command prompt" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="ipport" rha:description="TCP port to use for connection with device" />
</optional>
@@ -3011,8 +3119,12 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
<optional>
<attribute name="login" rha:description="Login Name" />
</optional>
@@ -3022,7 +3134,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="passwd_script" rha:description="Script to retrieve password" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="snmp_version" rha:description="Specifies SNMP version to use (1,2c,3)" />
</optional>
@@ -3076,9 +3190,15 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
- <attribute name="login" rha:description="Login Name" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
+ <optional>
+ <attribute name="login" rha:description="Login Name" />
+ </optional>
<optional>
<attribute name="passwd" rha:description="Login password or passphrase" />
</optional>
@@ -3120,8 +3240,12 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional>
- <attribute name="action" rha:description="Fencing Action" />
- <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ <optional>
+ <attribute name="action" rha:description="Fencing Action" />
+ </optional>
+ <optional>
+ <attribute name="ipaddr" rha:description="IP Address or Hostname" />
+ </optional>
<optional>
<attribute name="login" rha:description="Login Name" />
</optional>
@@ -3131,7 +3255,9 @@ To validate your cluster.conf against this schema, run:
<optional>
<attribute name="passwd_script" rha:description="Script to retrieve password" />
</optional>
- <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ <optional>
+ <attribute name="port" rha:description="Physical plug number or name of virtual machine" />
+ </optional>
<optional>
<attribute name="snmp_version" rha:description="Specifies SNMP version to use (1,2c,3)" />
</optional>
diff --git a/fence/agents/lib/fence2rng.xsl b/fence/agents/lib/fence2rng.xsl
index e0c82bc..8d23ed9 100644
--- a/fence/agents/lib/fence2rng.xsl
+++ b/fence/agents/lib/fence2rng.xsl
@@ -11,12 +11,9 @@
<optional>
<attribute name="option"/> <!-- deprecated; for compatibility. use "action" -->
</optional><xsl:for-each select="parameters/parameter">
- <xsl:choose><xsl:when test="@required = 1 or @primary = 1">
- <attribute name="<xsl:value-of select="@name"/>" rha:description="<xsl:value-of select="normalize-space(shortdesc)"/>" /></xsl:when><xsl:otherwise>
<optional>
<attribute name="<xsl:value-of select="@name"/>" rha:description="<xsl:value-of select="normalize-space(shortdesc)"/>" />
- </optional></xsl:otherwise>
- </xsl:choose></xsl:for-each>
+ </optional></xsl:for-each>
</group>
</xsl:template>
More information about the cluster-commits
mailing list