fence-agents: master - fencing: Introduce --gnutlscli-path --sudo-path --ssh-path and --telnet-path
by Marek Grác
Gitweb: http://git.fedorahosted.org/git/?p=fence-agents.git;a=commitdiff;h=7a04e6...
Commit: 7a04e60e463888fd1a6737cfbb636fbcf8de2d3a
Parent: 64e259c2754c881e95c4e3ec902b26ceb0be9820
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: Thu Nov 13 17:51:58 2014 +0100
Committer: Marek 'marx' Grac <mgrac(a)redhat.com>
CommitterDate: Thu Nov 13 17:51:58 2014 +0100
fencing: Introduce --gnutlscli-path --sudo-path --ssh-path and --telnet-path
Previously, those four variables were set as global options. Proposed change
unify the working with them as with standard options with appropriate default
value (provided by autoconf).
This patch is quite long because XML metadata has to be changed to contain those
options were appropriate.
---
configure.ac | 3 ++
fence/agents/amt/fence_amt.py | 4 +-
fence/agents/ipmilan/fence_ipmilan.py | 4 +-
fence/agents/lib/fencing.py.py | 51 ++++++++++++++++++++++------
fence/agents/netio/fence_netio.py | 4 +-
fence/agents/raritan/fence_raritan.py | 4 +-
fence/agents/virsh/fence_virsh.py | 8 ++--
fence/agents/wti/fence_wti.py | 4 +-
make/fencebuild.mk | 3 ++
tests/data/metadata/fence_alom.xml | 5 +++
tests/data/metadata/fence_amt.xml | 5 +++
tests/data/metadata/fence_apc.xml | 10 +++++
tests/data/metadata/fence_bladecenter.xml | 10 +++++
tests/data/metadata/fence_brocade.xml | 10 +++++
tests/data/metadata/fence_cisco_ucs.xml | 5 +++
tests/data/metadata/fence_docker.xml | 5 +++
tests/data/metadata/fence_drac.xml | 5 +++
tests/data/metadata/fence_drac5.xml | 10 +++++
tests/data/metadata/fence_hds_cb.xml | 10 +++++
tests/data/metadata/fence_hpblade.xml | 10 +++++
tests/data/metadata/fence_idrac.xml | 5 +++
tests/data/metadata/fence_ilo.xml | 5 +++
tests/data/metadata/fence_ilo2.xml | 5 +++
tests/data/metadata/fence_ilo3.xml | 5 +++
tests/data/metadata/fence_ilo4.xml | 5 +++
tests/data/metadata/fence_ilo_moonshot.xml | 5 +++
tests/data/metadata/fence_ilo_mp.xml | 10 +++++
tests/data/metadata/fence_imm.xml | 5 +++
tests/data/metadata/fence_ipmilan.xml | 5 +++
tests/data/metadata/fence_ldom.xml | 5 +++
tests/data/metadata/fence_lpar.xml | 5 +++
tests/data/metadata/fence_netio.xml | 5 +++
tests/data/metadata/fence_raritan.xml | 5 +++
tests/data/metadata/fence_rhevm.xml | 5 +++
tests/data/metadata/fence_rsa.xml | 10 +++++
tests/data/metadata/fence_rsb.xml | 10 +++++
tests/data/metadata/fence_sanbox2.xml | 5 +++
tests/data/metadata/fence_virsh.xml | 10 +++++
tests/data/metadata/fence_vmware_soap.xml | 5 +++
tests/data/metadata/fence_wti.xml | 10 +++++
40 files changed, 270 insertions(+), 25 deletions(-)
diff --git a/configure.ac b/configure.ac
index e066f2c..530d64f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -172,6 +172,9 @@ AC_PATH_PROG([COROSYNC_CMAPCTL_PATH], [corosync-cmapctl], [/usr/sbin/corosync-cm
AC_PATH_PROG([SG_PERSIST_PATH], [sg_persist], [/usr/bin/sg_persist])
AC_PATH_PROG([SG_TURS_PATH], [sg_turs], [/usr/bin/sg_turs])
AC_PATH_PROG([VGS_PATH], [vgs], [/usr/sbin/vgs])
+AC_PATH_PROG([SUDO_PATH], [sudo], [/usr/bin/sudo])
+AC_PATH_PROG([SSH_PATH], [ssh], [/usr/bin/ssh])
+AC_PATH_PROG([TELNET_PATH], [telnet], [/usr/bin/telnet])
## do subst
AC_SUBST([DEFAULT_CONFIG_DIR])
diff --git a/fence/agents/amt/fence_amt.py b/fence/agents/amt/fence_amt.py
index 763a2ff..7027302 100644
--- a/fence/agents/amt/fence_amt.py
+++ b/fence/agents/amt/fence_amt.py
@@ -5,7 +5,7 @@ import atexit
from pipes import quote
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
-from fencing import fail_usage, is_executable, SUDO_PATH, run_command, run_delay
+from fencing import fail_usage, is_executable, run_command, run_delay
#BEGIN_VERSION_GENERATION
RELEASE_VERSION="Fence agent for Intel AMT"
@@ -61,7 +61,7 @@ def create_command(options, action):
# --use-sudo / -d
if options.has_key("--use-sudo"):
- cmd = SUDO_PATH + " " + cmd
+ cmd = options["--sudo-path"] + " " + cmd
return cmd
diff --git a/fence/agents/ipmilan/fence_ipmilan.py b/fence/agents/ipmilan/fence_ipmilan.py
index f63f90f..0d926af 100644
--- a/fence/agents/ipmilan/fence_ipmilan.py
+++ b/fence/agents/ipmilan/fence_ipmilan.py
@@ -5,7 +5,7 @@ import atexit
from pipes import quote
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
-from fencing import SUDO_PATH, fail_usage, is_executable, run_command, run_delay
+from fencing import fail_usage, is_executable, run_command, run_delay
#BEGIN_VERSION_GENERATION
RELEASE_VERSION=""
@@ -67,7 +67,7 @@ def create_command(options, action):
# --use-sudo / -d
if options.has_key("--use-sudo"):
- cmd = SUDO_PATH + " " + cmd
+ cmd = options["--sudo-path"] + " " + cmd
return cmd
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
index b74c888..8cc2a98 100644
--- a/fence/agents/lib/fencing.py.py
+++ b/fence/agents/lib/fencing.py.py
@@ -31,11 +31,6 @@ EC_STATUS_HMC = 9
EC_PASSWORD_MISSING = 10
EC_INVALID_PRIVILEGES = 11
-TELNET_PATH = "/usr/bin/telnet"
-SSH_PATH = "/usr/bin/ssh"
-SSL_PATH = "@GNUTLSCLI_PATH@"
-SUDO_PATH = "/usr/bin/sudo"
-
all_opt = {
"help" : {
"getopt" : "h",
@@ -390,6 +385,38 @@ all_opt = {
"default" : "onoff",
"choices" : ["onoff", "cycle"],
"order" : 1},
+ "telnet_path" : {
+ "getopt" : ":",
+ "longopt" : "telnet-path",
+ "help" : "--telnet-path=[path] Path to telnet binary",
+ "required" : "0",
+ "shortdesc" : "Path to telnet binary",
+ "default" : "@TELNET_PATH@",
+ "order": 300},
+ "ssh_path" : {
+ "getopt" : ":",
+ "longopt" : "ssh-path",
+ "help" : "--ssh-path=[path] Path to ssh binary",
+ "required" : "0",
+ "shortdesc" : "Path to ssh binary",
+ "default" : "@SSH_PATH@",
+ "order": 300},
+ "gnutlscli_path" : {
+ "getopt" : ":",
+ "longopt" : "gnutlscli-path",
+ "help" : "--gnutlscli-path=[path] Path to gnutls-cli binary",
+ "required" : "0",
+ "shortdesc" : "Path to gnutls-cli binary",
+ "default" : "@GNUTLSCLI_PATH@",
+ "order": 300},
+ "sudo_path" : {
+ "getopt" : ":",
+ "longopt" : "sudo-path",
+ "help" : "--sudo-path=[path] Path to sudo binary",
+ "required" : "0",
+ "shortdesc" : "Path to sudo binary",
+ "default" : "@SUDO_PATH@",
+ "order": 300},
"on_target": {
"getopt" : "",
"help" : "",
@@ -401,10 +428,12 @@ DEPENDENCY_OPT = {
"default" : ["help", "debug", "verbose", "version", "action", "agent", \
"power_timeout", "shell_timeout", "login_timeout", "power_wait", "retry_on", "delay"],
"passwd" : ["passwd_script"],
- "secure" : ["identity_file", "ssh_options"],
+ "sudo" : ["sudo_path"],
+ "secure" : ["identity_file", "ssh_options", "ssh_path"],
+ "telnet" : ["telnet_path"],
"ipaddr" : ["ipport", "inet4_only", "inet6_only"],
"port" : ["separator"],
- "ssl" : ["ssl_secure", "ssl_insecure"],
+ "ssl" : ["ssl_secure", "ssl_insecure", "gnutlscli_path"],
"community" : ["snmp_auth_prot", "snmp_sec_level", "snmp_priv_prot", \
"snmp_priv_passwd", "snmp_priv_passwd_script"]
}
@@ -1008,7 +1037,7 @@ def fence_login(options, re_login_string=r"(login\s*: )|(Login Name: )|(usernam
ssl_opts = "--insecure"
command = '%s %s %s --insecure --crlf -p %s %s' % \
- (SSL_PATH, gnutls_opts, ssl_opts, options["--ipport"], options["--ip"])
+ (options["--gnutlscli-path"], gnutls_opts, ssl_opts, options["--ipport"], options["--ip"])
try:
conn = fspawn(options, command)
except pexpect.ExceptionPexpect, ex:
@@ -1016,7 +1045,7 @@ def fence_login(options, re_login_string=r"(login\s*: )|(Login Name: )|(usernam
sys.exit(EC_GENERIC_ERROR)
elif options.has_key("--ssh") and not options.has_key("--identity-file"):
command = '%s %s %s@%s -p %s -o PubkeyAuthentication=no' % \
- (SSH_PATH, force_ipvx, options["--username"], options["--ip"], options["--ipport"])
+ (options["--ssh-path"], force_ipvx, options["--username"], options["--ip"], options["--ipport"])
if options.has_key("--ssh-options"):
command += ' ' + options["--ssh-options"]
@@ -1046,7 +1075,7 @@ def fence_login(options, re_login_string=r"(login\s*: )|(Login Name: )|(usernam
conn.log_expect(options, options["--command-prompt"], int(options["--login-timeout"]))
elif options.has_key("--ssh") and options.has_key("--identity-file"):
command = '%s %s %s@%s -i %s -p %s' % \
- (SSH_PATH, force_ipvx, options["--username"], options["--ip"], \
+ (options["--ssh-path"], force_ipvx, options["--username"], options["--ip"], \
options["--identity-file"], options["--ipport"])
if options.has_key("--ssh-options"):
command += ' ' + options["--ssh-options"]
@@ -1068,7 +1097,7 @@ def fence_login(options, re_login_string=r"(login\s*: )|(Login Name: )|(usernam
else:
fail_usage("Failed: You have to enter passphrase (-p) for identity file")
else:
- conn = fspawn(options, TELNET_PATH)
+ conn = fspawn(options, options["--telnet-path"])
conn.send("set binary\n")
conn.send("open %s -%s\n"%(options["--ip"], options["--ipport"]))
diff --git a/fence/agents/netio/fence_netio.py b/fence/agents/netio/fence_netio.py
index e33b724..6f34c92 100755
--- a/fence/agents/netio/fence_netio.py
+++ b/fence/agents/netio/fence_netio.py
@@ -4,7 +4,7 @@ import sys, re, pexpect
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
-from fencing import fspawn, fail, EC_LOGIN_DENIED, TELNET_PATH, run_delay
+from fencing import fspawn, fail, EC_LOGIN_DENIED, run_delay
#BEGIN_VERSION_GENERATION
RELEASE_VERSION=""
@@ -82,7 +82,7 @@ block any necessary fencing actions."
####
run_delay(options)
try:
- conn = fspawn(options, TELNET_PATH)
+ conn = fspawn(options, options["--telnet-path"])
conn.send("set binary\n")
conn.send("open %s -%s\n"%(options["--ip"], options["--ipport"]))
diff --git a/fence/agents/raritan/fence_raritan.py b/fence/agents/raritan/fence_raritan.py
index 446de08..1d674ad 100644
--- a/fence/agents/raritan/fence_raritan.py
+++ b/fence/agents/raritan/fence_raritan.py
@@ -4,7 +4,7 @@ import sys, re, pexpect
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
-from fencing import fspawn, fail, TELNET_PATH, EC_LOGIN_DENIED, run_delay
+from fencing import fspawn, fail, EC_LOGIN_DENIED, run_delay
#BEGIN_VERSION_GENERATION
RELEASE_VERSION=""
@@ -65,7 +65,7 @@ block any necessary fencing actions."
## We can not use fence_login(), username and passwd are sent on one line
####
try:
- conn = fspawn(options, TELNET_PATH)
+ conn = fspawn(options, options["--telnet-path"])
conn.send("set binary\n")
conn.send("open %s -%s\n"%(options["--ip"], options["--ipport"]))
conn.read_nonblocking(size=100, timeout=int(options["--shell-timeout"]))
diff --git a/fence/agents/virsh/fence_virsh.py b/fence/agents/virsh/fence_virsh.py
index d92134c..b351834 100644
--- a/fence/agents/virsh/fence_virsh.py
+++ b/fence/agents/virsh/fence_virsh.py
@@ -10,7 +10,7 @@ import time
import atexit
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
-from fencing import fail_usage, SUDO_PATH
+from fencing import fail_usage
#BEGIN_VERSION_GENERATION
RELEASE_VERSION="Virsh fence agent"
@@ -23,7 +23,7 @@ def get_name_or_uuid(options):
def get_outlets_status(conn, options):
if options.has_key("--use-sudo"):
- prefix = SUDO_PATH + " "
+ prefix = options["--sudo-path"] + " "
else:
prefix = ""
@@ -47,7 +47,7 @@ def get_outlets_status(conn, options):
return result
def get_power_status(conn, options):
- prefix = SUDO_PATH + " " if options.has_key("--use-sudo") else ""
+ prefix = options["--sudo-path"] + " " if options.has_key("--use-sudo") else ""
conn.sendline(prefix + "virsh domstate %s" % (get_name_or_uuid(options)))
conn.log_expect(options, options["--command-prompt"], int(options["--shell-timeout"]))
@@ -60,7 +60,7 @@ def get_power_status(conn, options):
return "off"
def set_power_status(conn, options):
- prefix = SUDO_PATH + " " if options.has_key("--use-sudo") else ""
+ prefix = options["--sudo-path"] + " " if options.has_key("--use-sudo") else ""
conn.sendline(prefix + "virsh %s " %
(options["--action"] == "on" and "start" or "destroy") + get_name_or_uuid(options))
diff --git a/fence/agents/wti/fence_wti.py b/fence/agents/wti/fence_wti.py
index 870b5a2..e669f20 100644
--- a/fence/agents/wti/fence_wti.py
+++ b/fence/agents/wti/fence_wti.py
@@ -16,7 +16,7 @@ import atexit
import time
sys.path.append("@FENCEAGENTSLIBDIR@")
from fencing import *
-from fencing import fspawn, fail, fail_usage, TELNET_PATH, EC_LOGIN_DENIED
+from fencing import fspawn, fail, fail_usage, EC_LOGIN_DENIED
#BEGIN_VERSION_GENERATION
RELEASE_VERSION="New WTI Agent - test release on steroids"
@@ -209,7 +209,7 @@ is running because the connection will block any necessary fencing actions."
options["eol"] = "\r\n"
- conn = fspawn(options, TELNET_PATH)
+ conn = fspawn(options, options["--telnet-path"])
conn.send("set binary\n")
conn.send("open %s -%s\n"%(options["--ip"], options["--ipport"]))
diff --git a/make/fencebuild.mk b/make/fencebuild.mk
index 77ac499..3c14928 100644
--- a/make/fencebuild.mk
+++ b/make/fencebuild.mk
@@ -16,6 +16,9 @@ $(TARGET): $(SRC)
-e 's#@''SG_PERSIST_PATH@#${SG_PERSIST_PATH}#g' \
-e 's#@''SG_TURS_PATH@#${SG_TURS_PATH}#g' \
-e 's#@''VGS_PATH@#${VGS_PATH}#g' \
+ -e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
+ -e 's#@''SSH_PATH@#${SSH_PATH}#g' \
+ -e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
> $@
if [ 0 -eq `echo "$(SRC)" | grep fence_ &> /dev/null; echo $$?` ]; then \
diff --git a/tests/data/metadata/fence_alom.xml b/tests/data/metadata/fence_alom.xml
index e253417..fb8b5da 100644
--- a/tests/data/metadata/fence_alom.xml
+++ b/tests/data/metadata/fence_alom.xml
@@ -113,6 +113,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml
index 6595d59..b7f6e93 100644
--- a/tests/data/metadata/fence_amt.xml
+++ b/tests/data/metadata/fence_amt.xml
@@ -117,6 +117,11 @@
<content type="boolean" />
<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
</parameter>
+ <parameter name="sudo_path" unique="0" required="0">
+ <getopt mixed="--sudo-path=[path]" />
+ <content type="string" default="/usr/bin/sudo" />
+ <shortdesc lang="en">Path to sudo binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_apc.xml b/tests/data/metadata/fence_apc.xml
index 5115ad4..87da031 100644
--- a/tests/data/metadata/fence_apc.xml
+++ b/tests/data/metadata/fence_apc.xml
@@ -128,6 +128,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_bladecenter.xml b/tests/data/metadata/fence_bladecenter.xml
index 8a01b57..8d075ed 100644
--- a/tests/data/metadata/fence_bladecenter.xml
+++ b/tests/data/metadata/fence_bladecenter.xml
@@ -128,6 +128,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_brocade.xml b/tests/data/metadata/fence_brocade.xml
index 52620f5..21f2190 100644
--- a/tests/data/metadata/fence_brocade.xml
+++ b/tests/data/metadata/fence_brocade.xml
@@ -123,6 +123,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="1"/>
diff --git a/tests/data/metadata/fence_cisco_ucs.xml b/tests/data/metadata/fence_cisco_ucs.xml
index 6fab175..5e7f869 100644
--- a/tests/data/metadata/fence_cisco_ucs.xml
+++ b/tests/data/metadata/fence_cisco_ucs.xml
@@ -128,6 +128,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="gnutlscli_path" unique="0" required="0">
+ <getopt mixed="--gnutlscli-path=[path]" />
+ <content type="string" default="/usr/bin/gnutls-cli" />
+ <shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml
index 51bcdcb..870ce92 100644
--- a/tests/data/metadata/fence_docker.xml
+++ b/tests/data/metadata/fence_docker.xml
@@ -126,6 +126,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="gnutlscli_path" unique="0" required="0">
+ <getopt mixed="--gnutlscli-path=[path]" />
+ <content type="string" default="/usr/bin/gnutls-cli" />
+ <shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml
index 642242c..37a082e 100644
--- a/tests/data/metadata/fence_drac.xml
+++ b/tests/data/metadata/fence_drac.xml
@@ -98,6 +98,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_drac5.xml b/tests/data/metadata/fence_drac5.xml
index b33b70f..42352e1 100644
--- a/tests/data/metadata/fence_drac5.xml
+++ b/tests/data/metadata/fence_drac5.xml
@@ -132,6 +132,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_hds_cb.xml b/tests/data/metadata/fence_hds_cb.xml
index 04b0c40..42a837c 100644
--- a/tests/data/metadata/fence_hds_cb.xml
+++ b/tests/data/metadata/fence_hds_cb.xml
@@ -128,6 +128,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_hpblade.xml b/tests/data/metadata/fence_hpblade.xml
index 679907c..2858a8d 100644
--- a/tests/data/metadata/fence_hpblade.xml
+++ b/tests/data/metadata/fence_hpblade.xml
@@ -128,6 +128,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
index 0ad21dd..1abdbd4 100644
--- a/tests/data/metadata/fence_idrac.xml
+++ b/tests/data/metadata/fence_idrac.xml
@@ -144,6 +144,11 @@
<content type="boolean" />
<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
</parameter>
+ <parameter name="sudo_path" unique="0" required="0">
+ <getopt mixed="--sudo-path=[path]" />
+ <content type="string" default="/usr/bin/sudo" />
+ <shortdesc lang="en">Path to sudo binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml
index 802fe0f..04f33c8 100644
--- a/tests/data/metadata/fence_ilo.xml
+++ b/tests/data/metadata/fence_ilo.xml
@@ -119,6 +119,11 @@
<content type="string" default="3" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="gnutlscli_path" unique="0" required="0">
+ <getopt mixed="--gnutlscli-path=[path]" />
+ <content type="string" default="/usr/bin/gnutls-cli" />
+ <shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml
index 75af5a9..5a090aa 100644
--- a/tests/data/metadata/fence_ilo2.xml
+++ b/tests/data/metadata/fence_ilo2.xml
@@ -119,6 +119,11 @@
<content type="string" default="3" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="gnutlscli_path" unique="0" required="0">
+ <getopt mixed="--gnutlscli-path=[path]" />
+ <content type="string" default="/usr/bin/gnutls-cli" />
+ <shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
index bc8d397..6074a3c 100644
--- a/tests/data/metadata/fence_ilo3.xml
+++ b/tests/data/metadata/fence_ilo3.xml
@@ -144,6 +144,11 @@
<content type="boolean" />
<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
</parameter>
+ <parameter name="sudo_path" unique="0" required="0">
+ <getopt mixed="--sudo-path=[path]" />
+ <content type="string" default="/usr/bin/sudo" />
+ <shortdesc lang="en">Path to sudo binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
index d4e44d1..234c9c6 100644
--- a/tests/data/metadata/fence_ilo4.xml
+++ b/tests/data/metadata/fence_ilo4.xml
@@ -144,6 +144,11 @@
<content type="boolean" />
<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
</parameter>
+ <parameter name="sudo_path" unique="0" required="0">
+ <getopt mixed="--sudo-path=[path]" />
+ <content type="string" default="/usr/bin/sudo" />
+ <shortdesc lang="en">Path to sudo binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ilo_moonshot.xml b/tests/data/metadata/fence_ilo_moonshot.xml
index 2ad9e78..a712115 100644
--- a/tests/data/metadata/fence_ilo_moonshot.xml
+++ b/tests/data/metadata/fence_ilo_moonshot.xml
@@ -123,6 +123,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ilo_mp.xml b/tests/data/metadata/fence_ilo_mp.xml
index 115655b..6b51fd6 100644
--- a/tests/data/metadata/fence_ilo_mp.xml
+++ b/tests/data/metadata/fence_ilo_mp.xml
@@ -113,6 +113,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
index 259c423..33a75ec 100644
--- a/tests/data/metadata/fence_imm.xml
+++ b/tests/data/metadata/fence_imm.xml
@@ -144,6 +144,11 @@
<content type="boolean" />
<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
</parameter>
+ <parameter name="sudo_path" unique="0" required="0">
+ <getopt mixed="--sudo-path=[path]" />
+ <content type="string" default="/usr/bin/sudo" />
+ <shortdesc lang="en">Path to sudo binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
index 2c2664e..36027bd 100644
--- a/tests/data/metadata/fence_ipmilan.xml
+++ b/tests/data/metadata/fence_ipmilan.xml
@@ -144,6 +144,11 @@
<content type="boolean" />
<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
</parameter>
+ <parameter name="sudo_path" unique="0" required="0">
+ <getopt mixed="--sudo-path=[path]" />
+ <content type="string" default="/usr/bin/sudo" />
+ <shortdesc lang="en">Path to sudo binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_ldom.xml b/tests/data/metadata/fence_ldom.xml
index eba7613..a629eb7 100644
--- a/tests/data/metadata/fence_ldom.xml
+++ b/tests/data/metadata/fence_ldom.xml
@@ -125,6 +125,11 @@ Very useful parameter is -c (or cmd_prompt in stdin mode). This must be set to s
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_lpar.xml b/tests/data/metadata/fence_lpar.xml
index f9daa3b..b8f9e55 100644
--- a/tests/data/metadata/fence_lpar.xml
+++ b/tests/data/metadata/fence_lpar.xml
@@ -136,6 +136,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_netio.xml b/tests/data/metadata/fence_netio.xml
index a20d532..e3b6fee 100644
--- a/tests/data/metadata/fence_netio.xml
+++ b/tests/data/metadata/fence_netio.xml
@@ -103,6 +103,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_raritan.xml b/tests/data/metadata/fence_raritan.xml
index f349f5d..51900e5 100644
--- a/tests/data/metadata/fence_raritan.xml
+++ b/tests/data/metadata/fence_raritan.xml
@@ -103,6 +103,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_rhevm.xml b/tests/data/metadata/fence_rhevm.xml
index bcd6338..affdbc7 100644
--- a/tests/data/metadata/fence_rhevm.xml
+++ b/tests/data/metadata/fence_rhevm.xml
@@ -128,6 +128,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="gnutlscli_path" unique="0" required="0">
+ <getopt mixed="--gnutlscli-path=[path]" />
+ <content type="string" default="/usr/bin/gnutls-cli" />
+ <shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_rsa.xml b/tests/data/metadata/fence_rsa.xml
index c9c889e..26d6848 100644
--- a/tests/data/metadata/fence_rsa.xml
+++ b/tests/data/metadata/fence_rsa.xml
@@ -113,6 +113,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_rsb.xml b/tests/data/metadata/fence_rsb.xml
index 007c877..606d50c 100644
--- a/tests/data/metadata/fence_rsb.xml
+++ b/tests/data/metadata/fence_rsb.xml
@@ -113,6 +113,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_sanbox2.xml b/tests/data/metadata/fence_sanbox2.xml
index 236d907..aeb2e87 100644
--- a/tests/data/metadata/fence_sanbox2.xml
+++ b/tests/data/metadata/fence_sanbox2.xml
@@ -108,6 +108,11 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="1"/>
diff --git a/tests/data/metadata/fence_virsh.xml b/tests/data/metadata/fence_virsh.xml
index 831f6ed..5a5fad0 100644
--- a/tests/data/metadata/fence_virsh.xml
+++ b/tests/data/metadata/fence_virsh.xml
@@ -130,6 +130,16 @@ By default, virsh needs root account to do properly work. So you must allow ssh
<content type="boolean" />
<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="sudo_path" unique="0" required="0">
+ <getopt mixed="--sudo-path=[path]" />
+ <content type="string" default="/usr/bin/sudo" />
+ <shortdesc lang="en">Path to sudo binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_vmware_soap.xml b/tests/data/metadata/fence_vmware_soap.xml
index 861a75d..dbcdc15 100644
--- a/tests/data/metadata/fence_vmware_soap.xml
+++ b/tests/data/metadata/fence_vmware_soap.xml
@@ -125,6 +125,11 @@ Name of virtual machine (-n / port) has to be used in inventory path format (e.g
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="gnutlscli_path" unique="0" required="0">
+ <getopt mixed="--gnutlscli-path=[path]" />
+ <content type="string" default="/usr/bin/gnutls-cli" />
+ <shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_wti.xml b/tests/data/metadata/fence_wti.xml
index 251c7de..0136a5f 100644
--- a/tests/data/metadata/fence_wti.xml
+++ b/tests/data/metadata/fence_wti.xml
@@ -123,6 +123,16 @@
<content type="string" default="1" />
<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
</parameter>
+ <parameter name="ssh_path" unique="0" required="0">
+ <getopt mixed="--ssh-path=[path]" />
+ <content type="string" default="/usr/bin/ssh" />
+ <shortdesc lang="en">Path to ssh binary</shortdesc>
+ </parameter>
+ <parameter name="telnet_path" unique="0" required="0">
+ <getopt mixed="--telnet-path=[path]" />
+ <content type="string" default="/usr/bin/telnet" />
+ <shortdesc lang="en">Path to telnet binary</shortdesc>
+ </parameter>
</parameters>
<actions>
<action name="on" automatic="0"/>
9 years, 7 months
fence-agents: master - fencing: Improve accessibility of possible connection (+telnet, +web)
by Marek Grác
Gitweb: http://git.fedorahosted.org/git/?p=fence-agents.git;a=commitdiff;h=64e259...
Commit: 64e259c2754c881e95c4e3ec902b26ceb0be9820
Parent: 8e1cef5a2b341763738170393fb093313b16e93f
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: Thu Nov 13 17:04:15 2014 +0100
Committer: Marek 'marx' Grac <mgrac(a)redhat.com>
CommitterDate: Thu Nov 13 17:04:15 2014 +0100
fencing: Improve accessibility of possible connection (+telnet,+web)
'web' was previously not set properly on each fence agent
'telnet' is completely new option
---
fence/agents/apc/fence_apc.py | 2 +-
fence/agents/bladecenter/fence_bladecenter.py | 2 +-
fence/agents/brocade/fence_brocade.py | 3 ++-
fence/agents/drac/fence_drac.py | 2 +-
fence/agents/drac5/fence_drac5.py | 2 +-
fence/agents/hds_cb/fence_hds_cb.py | 2 +-
fence/agents/hpblade/fence_hpblade.py | 3 ++-
fence/agents/ilo_mp/fence_ilo_mp.py | 2 +-
fence/agents/ilo_ssh/fence_ilo_ssh.py | 2 +-
fence/agents/lib/fencing.py.py | 4 ++++
fence/agents/netio/fence_netio.py | 2 +-
fence/agents/ovh/fence_ovh.py | 2 +-
fence/agents/raritan/fence_raritan.py | 2 +-
fence/agents/rsa/fence_rsa.py | 2 +-
fence/agents/rsb/fence_rsb.py | 2 +-
fence/agents/sanbox2/fence_sanbox2.py | 3 ++-
fence/agents/wti/fence_wti.py | 2 +-
fence/agents/xenapi/fence_xenapi.py | 2 +-
18 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/fence/agents/apc/fence_apc.py b/fence/agents/apc/fence_apc.py
index f2080f1..d11bd84 100644
--- a/fence/agents/apc/fence_apc.py
+++ b/fence/agents/apc/fence_apc.py
@@ -212,7 +212,7 @@ def set_power_status5(conn, options):
def main():
device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", \
- "port", "switch"]
+ "port", "switch", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/bladecenter/fence_bladecenter.py b/fence/agents/bladecenter/fence_bladecenter.py
index 8bc6949..9dc71e9 100644
--- a/fence/agents/bladecenter/fence_bladecenter.py
+++ b/fence/agents/bladecenter/fence_bladecenter.py
@@ -81,7 +81,7 @@ def get_blades_list(conn, options):
def main():
device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", \
- "port", "missing_as_off"]
+ "port", "missing_as_off", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/brocade/fence_brocade.py b/fence/agents/brocade/fence_brocade.py
index 3e5dd93..54c5920 100644
--- a/fence/agents/brocade/fence_brocade.py
+++ b/fence/agents/brocade/fence_brocade.py
@@ -43,7 +43,8 @@ def get_power_status(conn, options):
return outlets
def main():
- device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", "port", "fabric_fencing"]
+ device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", \
+ "port", "fabric_fencing", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/drac/fence_drac.py b/fence/agents/drac/fence_drac.py
index da522a3..4428fb7 100644
--- a/fence/agents/drac/fence_drac.py
+++ b/fence/agents/drac/fence_drac.py
@@ -27,7 +27,7 @@ def set_power_status(conn, options):
conn.log_expect(options, options["--command-prompt"], int(options["--shell-timeout"]))
def main():
- device_opt = ["ipaddr", "login", "passwd", "cmd_prompt"]
+ device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/drac5/fence_drac5.py b/fence/agents/drac5/fence_drac5.py
index 424fe53..0c9ced6 100644
--- a/fence/agents/drac5/fence_drac5.py
+++ b/fence/agents/drac5/fence_drac5.py
@@ -104,7 +104,7 @@ def define_new_opts():
def main():
device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", \
- "drac_version", "port", "no_port"]
+ "drac_version", "port", "no_port", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/hds_cb/fence_hds_cb.py b/fence/agents/hds_cb/fence_hds_cb.py
index c661fe2..b3d725a 100755
--- a/fence/agents/hds_cb/fence_hds_cb.py
+++ b/fence/agents/hds_cb/fence_hds_cb.py
@@ -108,7 +108,7 @@ def get_blades_list(conn, options):
def main():
device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", \
- "port", "missing_as_off"]
+ "port", "missing_as_off", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/hpblade/fence_hpblade.py b/fence/agents/hpblade/fence_hpblade.py
index e0b8866..118dd7f 100644
--- a/fence/agents/hpblade/fence_hpblade.py
+++ b/fence/agents/hpblade/fence_hpblade.py
@@ -59,7 +59,8 @@ def get_blades_list(conn, options):
return outlets
def main():
- device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", "port", "missing_as_off"]
+ device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", \
+ "port", "missing_as_off", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/ilo_mp/fence_ilo_mp.py b/fence/agents/ilo_mp/fence_ilo_mp.py
index b84c924..7195bdd 100644
--- a/fence/agents/ilo_mp/fence_ilo_mp.py
+++ b/fence/agents/ilo_mp/fence_ilo_mp.py
@@ -35,7 +35,7 @@ def set_power_status(conn, options):
return
def main():
- device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt"]
+ device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/ilo_ssh/fence_ilo_ssh.py b/fence/agents/ilo_ssh/fence_ilo_ssh.py
index f75ac25..2fc9de2 100644
--- a/fence/agents/ilo_ssh/fence_ilo_ssh.py
+++ b/fence/agents/ilo_ssh/fence_ilo_ssh.py
@@ -40,7 +40,7 @@ def reboot_cycle(conn, options):
return
def main():
- device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt", "method"]
+ device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt", "method", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
index 098f19e..b74c888 100644
--- a/fence/agents/lib/fencing.py.py
+++ b/fence/agents/lib/fencing.py.py
@@ -130,6 +130,10 @@ all_opt = {
"getopt" : "",
"help" : "",
"order" : 1},
+ "telnet" : {
+ "getopt" : "",
+ "help" : "",
+ "order" : ""},
"passwd" : {
"getopt" : "p:",
"longopt" : "password",
diff --git a/fence/agents/netio/fence_netio.py b/fence/agents/netio/fence_netio.py
index b14b454..e33b724 100755
--- a/fence/agents/netio/fence_netio.py
+++ b/fence/agents/netio/fence_netio.py
@@ -53,7 +53,7 @@ def get_outlet_list(conn, options):
return result
def main():
- device_opt = ["ipaddr", "login", "passwd", "port"]
+ device_opt = ["ipaddr", "login", "passwd", "port", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/ovh/fence_ovh.py b/fence/agents/ovh/fence_ovh.py
index fa23969..55675db 100644
--- a/fence/agents/ovh/fence_ovh.py
+++ b/fence/agents/ovh/fence_ovh.py
@@ -77,7 +77,7 @@ def remove_tmp_dir(tmp_dir):
shutil.rmtree(tmp_dir)
def main():
- device_opt = ["login", "passwd", "port", "email", "no_status"]
+ device_opt = ["login", "passwd", "port", "email", "no_status", "web"]
atexit.register(atexit_handler)
diff --git a/fence/agents/raritan/fence_raritan.py b/fence/agents/raritan/fence_raritan.py
index bb6ad52..446de08 100644
--- a/fence/agents/raritan/fence_raritan.py
+++ b/fence/agents/raritan/fence_raritan.py
@@ -36,7 +36,7 @@ def set_power_status(conn, options):
conn.send_eol("set %s powerState=%s" % (options["--plug"], action))
def main():
- device_opt = ["ipaddr", "login", "passwd", "port"]
+ device_opt = ["ipaddr", "login", "passwd", "port", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/rsa/fence_rsa.py b/fence/agents/rsa/fence_rsa.py
index fcf5fb9..6bb4989 100644
--- a/fence/agents/rsa/fence_rsa.py
+++ b/fence/agents/rsa/fence_rsa.py
@@ -35,7 +35,7 @@ def set_power_status(conn, options):
conn.log_expect(options, options["--command-prompt"], int(options["--power-timeout"]))
def main():
- device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure"]
+ device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/rsb/fence_rsb.py b/fence/agents/rsb/fence_rsb.py
index d21093f..0058ac8 100755
--- a/fence/agents/rsb/fence_rsb.py
+++ b/fence/agents/rsb/fence_rsb.py
@@ -39,7 +39,7 @@ def set_power_status(conn, options):
conn.log_expect(options, options["--command-prompt"], int(options["--shell-timeout"]))
def main():
- device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt"]
+ device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/sanbox2/fence_sanbox2.py b/fence/agents/sanbox2/fence_sanbox2.py
index 2b385b7..1a041cf 100644
--- a/fence/agents/sanbox2/fence_sanbox2.py
+++ b/fence/agents/sanbox2/fence_sanbox2.py
@@ -104,7 +104,8 @@ def get_list_devices(conn, options):
return outlets
def main():
- device_opt = ["fabric_fencing", "ipaddr", "login", "passwd", "cmd_prompt", "port"]
+ device_opt = ["fabric_fencing", "ipaddr", "login", "passwd", "cmd_prompt", \
+ "port", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/wti/fence_wti.py b/fence/agents/wti/fence_wti.py
index 86f9a4d..870b5a2 100644
--- a/fence/agents/wti/fence_wti.py
+++ b/fence/agents/wti/fence_wti.py
@@ -179,7 +179,7 @@ def set_power_status(conn, options):
def main():
device_opt = ["ipaddr", "login", "passwd", "no_login", "no_password", \
- "cmd_prompt", "secure", "port"]
+ "cmd_prompt", "secure", "port", "telnet"]
atexit.register(atexit_handler)
diff --git a/fence/agents/xenapi/fence_xenapi.py b/fence/agents/xenapi/fence_xenapi.py
index 655831e..5fe7646 100644
--- a/fence/agents/xenapi/fence_xenapi.py
+++ b/fence/agents/xenapi/fence_xenapi.py
@@ -199,7 +199,7 @@ def return_vm_reference(session, options):
def main():
- device_opt = ["login", "passwd", "port", "no_login", "no_password", "session_url"]
+ device_opt = ["login", "passwd", "port", "no_login", "no_password", "session_url", "web"]
atexit.register(atexit_handler)
9 years, 7 months
fence-agents: master - fencing: Some short options were not propagated, so they were removed
by Marek Grác
Gitweb: http://git.fedorahosted.org/git/?p=fence-agents.git;a=commitdiff;h=8e1cef...
Commit: 8e1cef5a2b341763738170393fb093313b16e93f
Parent: 62d635a45478c0888a64983243cc0770c782aac3
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: Thu Nov 13 16:52:44 2014 +0100
Committer: Marek 'marx' Grac <mgrac(a)redhat.com>
CommitterDate: Thu Nov 13 16:52:44 2014 +0100
fencing: Some short options were not propagated, so they were removed
In old versions, it was required to have short getopt options (-k, -x, ...) for
each option available. This is not true for some time but these options
were defined also for options were they were not really used and long options were
the only presented.
Main reason for removing this short options from specific options was that some
of them were really overloaded.
---
fence/agents/amt/fence_amt.py | 2 +-
fence/agents/cisco_ucs/fence_cisco_ucs.py | 2 +-
fence/agents/dummy/fence_dummy.py | 6 +++---
fence/agents/ipmilan/fence_ipmilan.py | 2 +-
fence/agents/lib/fencing.py.py | 22 +++++++++++-----------
fence/agents/rhevm/fence_rhevm.py | 2 +-
fence/agents/scsi/fence_scsi.py | 10 +++++-----
7 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/fence/agents/amt/fence_amt.py b/fence/agents/amt/fence_amt.py
index d1c2b03..763a2ff 100644
--- a/fence/agents/amt/fence_amt.py
+++ b/fence/agents/amt/fence_amt.py
@@ -77,7 +77,7 @@ def define_new_opts():
"order" : 1
}
all_opt["amttool_path"] = {
- "getopt" : "i:",
+ "getopt" : ":",
"longopt" : "amttool-path",
"help" : "--amttool-path=[path] Path to amttool binary",
"required" : "0",
diff --git a/fence/agents/cisco_ucs/fence_cisco_ucs.py b/fence/agents/cisco_ucs/fence_cisco_ucs.py
index f411433..191f1b1 100644
--- a/fence/agents/cisco_ucs/fence_cisco_ucs.py
+++ b/fence/agents/cisco_ucs/fence_cisco_ucs.py
@@ -109,7 +109,7 @@ def send_command(opt, command, timeout):
def define_new_opts():
all_opt["suborg"] = {
- "getopt" : "s:",
+ "getopt" : ":",
"longopt" : "suborg",
"help" : "--suborg=[path] Additional path needed to access suborganization",
"required" : "0",
diff --git a/fence/agents/dummy/fence_dummy.py b/fence/agents/dummy/fence_dummy.py
index 9c4c5f1..7f95b8f 100644
--- a/fence/agents/dummy/fence_dummy.py
+++ b/fence/agents/dummy/fence_dummy.py
@@ -83,7 +83,7 @@ def main():
atexit.register(atexit_handler)
all_opt["status_file"] = {
- "getopt" : "s:",
+ "getopt" : ":",
"longopt" : "status-file",
"help":"--status-file=[file] Name of file that holds current status",
"required" : "0",
@@ -93,7 +93,7 @@ def main():
}
all_opt["random_sleep_range"] = {
- "getopt" : "r:",
+ "getopt" : ":",
"longopt" : "random_sleep_range",
"help":"--random_sleep_range=[seconds] Issue a sleep between 1 and [seconds]",
"required" : "0",
@@ -102,7 +102,7 @@ def main():
}
all_opt["type"] = {
- "getopt" : "t:",
+ "getopt" : ":",
"longopt" : "type",
"help":"--type=[type] Possible types are: file and fail",
"required" : "0",
diff --git a/fence/agents/ipmilan/fence_ipmilan.py b/fence/agents/ipmilan/fence_ipmilan.py
index eaff7b7..f63f90f 100644
--- a/fence/agents/ipmilan/fence_ipmilan.py
+++ b/fence/agents/ipmilan/fence_ipmilan.py
@@ -111,7 +111,7 @@ def define_new_opts():
"order": 1
}
all_opt["ipmitool_path"] = {
- "getopt" : "i:",
+ "getopt" : ":",
"longopt" : "ipmitool-path",
"help" : "--ipmitool-path=[path] Path to ipmitool binary",
"required" : "0",
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
index a6a3403..098f19e 100644
--- a/fence/agents/lib/fencing.py.py
+++ b/fence/agents/lib/fencing.py.py
@@ -66,7 +66,7 @@ all_opt = {
"shortdesc" : "Write debug information to given file",
"order" : 52},
"delay" : {
- "getopt" : "f:",
+ "getopt" : ":",
"longopt" : "delay",
"help" : "--delay=[seconds] Wait X seconds before fencing is started",
"required" : "0",
@@ -166,7 +166,7 @@ all_opt = {
"required" : "0",
"order" : 1},
"ssh_options" : {
- "getopt" : "X:",
+ "getopt" : ":",
"longopt" : "ssh-options",
"help" : "--ssh-options=[options] SSH options to use",
"shortdesc" : "SSH options to use",
@@ -180,14 +180,14 @@ all_opt = {
"shortdesc" : "SSL connection",
"order" : 1},
"ssl_insecure" : {
- "getopt" : "9",
+ "getopt" : "",
"longopt" : "ssl-insecure",
"help" : "--ssl-insecure Use ssl connection without verifying certificate",
"required" : "0",
"shortdesc" : "SSL connection without verifying fence device's certificate",
"order" : 1},
"ssl_secure" : {
- "getopt" : "9",
+ "getopt" : "",
"longopt" : "ssl-secure",
"help" : "--ssl-secure Use ssl connection with verifying certificate",
"required" : "0",
@@ -317,7 +317,7 @@ all_opt = {
"shortdesc" : "Separator for CSV created by operation list",
"order" : 100},
"login_timeout" : {
- "getopt" : "y:",
+ "getopt" : ":",
"longopt" : "login-timeout",
"help" : "--login-timeout=[seconds] Wait X seconds for cmd prompt after login",
"default" : "5",
@@ -325,7 +325,7 @@ all_opt = {
"shortdesc" : "Wait X seconds for cmd prompt after login",
"order" : 200},
"shell_timeout" : {
- "getopt" : "Y:",
+ "getopt" : ":",
"longopt" : "shell-timeout",
"help" : "--shell-timeout=[seconds] Wait X seconds for cmd prompt after issuing command",
"default" : "3",
@@ -333,7 +333,7 @@ all_opt = {
"shortdesc" : "Wait X seconds for cmd prompt after issuing command",
"order" : 200},
"power_timeout" : {
- "getopt" : "g:",
+ "getopt" : ":",
"longopt" : "power-timeout",
"help" : "--power-timeout=[seconds] Test X seconds for status change after ON/OFF",
"default" : "20",
@@ -341,7 +341,7 @@ all_opt = {
"shortdesc" : "Test X seconds for status change after ON/OFF",
"order" : 200},
"power_wait" : {
- "getopt" : "G:",
+ "getopt" : ":",
"longopt" : "power-wait",
"help" : "--power-wait=[seconds] Wait X seconds after issuing ON/OFF",
"default" : "0",
@@ -349,14 +349,14 @@ all_opt = {
"shortdesc" : "Wait X seconds after issuing ON/OFF",
"order" : 200},
"missing_as_off" : {
- "getopt" : "M",
+ "getopt" : "",
"longopt" : "missing-as-off",
"help" : "--missing-as-off Missing port returns OFF instead of failure",
"required" : "0",
"shortdesc" : "Missing port returns OFF instead of failure",
"order" : 200},
"retry_on" : {
- "getopt" : "F:",
+ "getopt" : ":",
"longopt" : "retry-on",
"help" : "--retry-on=[attempts] Count of attempts to retry power on",
"default" : "1",
@@ -371,7 +371,7 @@ all_opt = {
"shortdesc" : "The URL of the XenServer host.",
"order" : 1},
"sudo" : {
- "getopt" : "d",
+ "getopt" : "",
"longopt" : "use-sudo",
"help" : "--use-sudo Use sudo (without password) when calling 3rd party software",
"required" : "0",
diff --git a/fence/agents/rhevm/fence_rhevm.py b/fence/agents/rhevm/fence_rhevm.py
index e47f58e..427bed5 100644
--- a/fence/agents/rhevm/fence_rhevm.py
+++ b/fence/agents/rhevm/fence_rhevm.py
@@ -129,7 +129,7 @@ def send_command(opt, command, method="GET"):
def define_new_opts():
all_opt["use_cookies"] = {
- "getopt" : "s",
+ "getopt" : "",
"longopt" : "use-cookies",
"help" : "--use-cookies Reuse cookies for authentication",
"required" : "0",
diff --git a/fence/agents/scsi/fence_scsi.py b/fence/agents/scsi/fence_scsi.py
index 72f9d90..9bc5236 100644
--- a/fence/agents/scsi/fence_scsi.py
+++ b/fence/agents/scsi/fence_scsi.py
@@ -290,7 +290,7 @@ be removed from the device(s).",
"order": 1
}
all_opt["logfile"] = {
- "getopt" : "f:",
+ "getopt" : ":",
"longopt" : "logfile",
"help" : "-f, --logfile Log output (stdout and stderr) to file",
"required" : "0",
@@ -298,7 +298,7 @@ be removed from the device(s).",
"order": 5
}
all_opt["corosync-cmap_path"] = {
- "getopt" : "Z:",
+ "getopt" : ":",
"longopt" : "corosync-cmap-path",
"help" : "--corosync-cmap-path=[path] Path to corosync-cmapctl binary",
"required" : "0",
@@ -307,7 +307,7 @@ be removed from the device(s).",
"order": 200
}
all_opt["sg_persist_path"] = {
- "getopt" : "X:",
+ "getopt" : ":",
"longopt" : "sg_persist-path",
"help" : "--sg_persist-path=[path] Path to sg_persist binary",
"required" : "0",
@@ -316,7 +316,7 @@ be removed from the device(s).",
"order": 200
}
all_opt["sg_turs_path"] = {
- "getopt" : "I:",
+ "getopt" : ":",
"longopt" : "sg_turs-path",
"help" : "--sg_turs-path=[path] Path to sg_turs binary",
"required" : "0",
@@ -325,7 +325,7 @@ be removed from the device(s).",
"order": 200
}
all_opt["vgs_path"] = {
- "getopt" : "J:",
+ "getopt" : ":",
"longopt" : "vgs-path",
"help" : "--vgs-path=[path] Path to vgs binary",
"required" : "0",
9 years, 7 months
fence-agents: master - fence_scsi: Short getopt for logfile differs in help/getopt
by Marek Grác
Gitweb: http://git.fedorahosted.org/git/?p=fence-agents.git;a=commitdiff;h=62d635...
Commit: 62d635a45478c0888a64983243cc0770c782aac3
Parent: 77ac33cc6d637f43a71c614a7488fd4c901a0487
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: Thu Nov 13 16:49:19 2014 +0100
Committer: Marek 'marx' Grac <mgrac(a)redhat.com>
CommitterDate: Thu Nov 13 16:49:19 2014 +0100
fence_scsi: Short getopt for logfile differs in help/getopt
According to help text, user should use -a for setting logfile but
this option means 'APTL flag", this patch fixes it to -f as was accepted
also before.
---
fence/agents/scsi/fence_scsi.py | 2 +-
tests/data/metadata/fence_scsi.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fence/agents/scsi/fence_scsi.py b/fence/agents/scsi/fence_scsi.py
index ae960cc..72f9d90 100644
--- a/fence/agents/scsi/fence_scsi.py
+++ b/fence/agents/scsi/fence_scsi.py
@@ -292,7 +292,7 @@ be removed from the device(s).",
all_opt["logfile"] = {
"getopt" : "f:",
"longopt" : "logfile",
- "help" : "-a, --logfile Log output (stdout and stderr) to file",
+ "help" : "-f, --logfile Log output (stdout and stderr) to file",
"required" : "0",
"shortdesc" : "Log output (stdout and stderr) to file",
"order": 5
diff --git a/tests/data/metadata/fence_scsi.xml b/tests/data/metadata/fence_scsi.xml
index 590f4aa..738dd00 100644
--- a/tests/data/metadata/fence_scsi.xml
+++ b/tests/data/metadata/fence_scsi.xml
@@ -30,7 +30,7 @@ The fence_scsi agent works by having each node in the cluster register a unique
<shortdesc lang="en">Name of the node to be fenced. The node name is used to generate the key value used for the current operation. This option will be ignored when used with the -k option.</shortdesc>
</parameter>
<parameter name="logfile" unique="0" required="0">
- <getopt mixed="-a, --logfile" />
+ <getopt mixed="-f, --logfile" />
<content type="string" />
<shortdesc lang="en">Log output (stdout and stderr) to file</shortdesc>
</parameter>
9 years, 7 months
fence-agents: master - fencing: Stability of sort of items in XML metadata
by Marek Grác
Gitweb: http://git.fedorahosted.org/git/?p=fence-agents.git;a=commitdiff;h=77ac33...
Commit: 77ac33cc6d637f43a71c614a7488fd4c901a0487
Parent: e59a87f1f518dffb09469a30a8c62596d10fdfa4
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: Thu Nov 13 16:38:19 2014 +0100
Committer: Marek 'marx' Grac <mgrac(a)redhat.com>
CommitterDate: Thu Nov 13 16:39:05 2014 +0100
fencing: Stability of sort of items in XML metadata
Previously, sorting was done only according to values in "order" but
if several items have same "order" value then they were sorted same way
only until something did not interfere it. In order to have XML metadata
more stable, the secondary attribute for sorting - stdin name of attribute.
Problem was visible only during regression testing of XML metadata as ordering
did not usually impact applications that reuse it.
The patch is long but the only real change is in lib/fencing.py.py, the
rest is just reordering without further changes.
---
fence/agents/lib/fencing.py.py | 1 +
tests/data/metadata/fence_alom.xml | 76 +++++++++---------
tests/data/metadata/fence_amt.xml | 78 +++++++++---------
tests/data/metadata/fence_apc.xml | 86 ++++++++++----------
tests/data/metadata/fence_apc_snmp.xml | 116 +++++++++++++-------------
tests/data/metadata/fence_bladecenter.xml | 100 ++++++++++++------------
tests/data/metadata/fence_brocade.xml | 86 ++++++++++----------
tests/data/metadata/fence_cisco_mds.xml | 116 +++++++++++++-------------
tests/data/metadata/fence_cisco_ucs.xml | 82 ++++++++++----------
tests/data/metadata/fence_docker.xml | 70 ++++++++--------
tests/data/metadata/fence_drac.xml | 56 +++++++-------
tests/data/metadata/fence_drac5.xml | 100 ++++++++++++------------
tests/data/metadata/fence_dummy.xml | 48 ++++++------
tests/data/metadata/fence_eaton_snmp.xml | 120 ++++++++++++++--------------
tests/data/metadata/fence_eps.xml | 66 ++++++++--------
tests/data/metadata/fence_hds_cb.xml | 100 ++++++++++++------------
tests/data/metadata/fence_hpblade.xml | 96 +++++++++++-----------
tests/data/metadata/fence_ibmblade.xml | 116 +++++++++++++-------------
tests/data/metadata/fence_idrac.xml | 102 ++++++++++++------------
tests/data/metadata/fence_ifmib.xml | 116 +++++++++++++-------------
tests/data/metadata/fence_ilo.xml | 72 ++++++++--------
tests/data/metadata/fence_ilo2.xml | 72 ++++++++--------
tests/data/metadata/fence_ilo3.xml | 106 ++++++++++++------------
tests/data/metadata/fence_ilo4.xml | 102 ++++++++++++------------
tests/data/metadata/fence_ilo_moonshot.xml | 86 ++++++++++----------
tests/data/metadata/fence_ilo_mp.xml | 80 +++++++++---------
tests/data/metadata/fence_imm.xml | 102 ++++++++++++------------
tests/data/metadata/fence_intelmodular.xml | 116 +++++++++++++-------------
tests/data/metadata/fence_ipdu.xml | 116 +++++++++++++-------------
tests/data/metadata/fence_ipmilan.xml | 102 ++++++++++++------------
tests/data/metadata/fence_ldom.xml | 86 ++++++++++----------
tests/data/metadata/fence_lpar.xml | 104 ++++++++++++------------
tests/data/metadata/fence_netio.xml | 68 ++++++++--------
tests/data/metadata/fence_ovh.xml | 56 +++++++-------
tests/data/metadata/fence_pve.xml | 60 +++++++-------
tests/data/metadata/fence_raritan.xml | 68 ++++++++--------
tests/data/metadata/fence_rhevm.xml | 88 ++++++++++----------
tests/data/metadata/fence_rsa.xml | 76 +++++++++---------
tests/data/metadata/fence_rsb.xml | 76 +++++++++---------
tests/data/metadata/fence_sanbox2.xml | 58 +++++++-------
tests/data/metadata/fence_scsi.xml | 60 +++++++-------
tests/data/metadata/fence_virsh.xml | 86 ++++++++++----------
tests/data/metadata/fence_vmware_soap.xml | 76 +++++++++---------
tests/data/metadata/fence_wti.xml | 86 ++++++++++----------
tests/data/metadata/fence_xenapi.xml | 42 +++++-----
45 files changed, 1888 insertions(+), 1887 deletions(-)
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
index 33bb306..a6a3403 100644
--- a/fence/agents/lib/fencing.py.py
+++ b/fence/agents/lib/fencing.py.py
@@ -477,6 +477,7 @@ def usage(avail_opt):
def metadata(avail_opt, options, docs):
# avail_opt has to be unique, if there are duplicities then they should be removed
sorted_list = [(key, all_opt[key]) for key in list(set(avail_opt))]
+ sorted_list.sort(lambda x, y: cmp(x[0], y[0]))
sorted_list.sort(lambda x, y: cmp(x[1]["order"], y[1]["order"]))
print "<?xml version=\"1.0\" ?>"
diff --git a/tests/data/metadata/fence_alom.xml b/tests/data/metadata/fence_alom.xml
index 6bdefb7..e253417 100644
--- a/tests/data/metadata/fence_alom.xml
+++ b/tests/data/metadata/fence_alom.xml
@@ -3,31 +3,16 @@
<longdesc>fence_alom is an I/O Fencing agent which can be used with ALOM connected machines.</longdesc>
<vendor-url>http://www.sun.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="22" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" default="1" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['sc\\>\\ ']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -38,30 +23,45 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="22" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" default="1" />
+ <shortdesc lang="en">SSH connection</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -83,10 +83,10 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -98,10 +98,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml
index b967b68..6595d59 100644
--- a/tests/data/metadata/fence_amt.xml
+++ b/tests/data/metadata/fence_amt.xml
@@ -3,10 +3,26 @@
<longdesc>fence_amt is an I/O Fencing agent which can be used with Intel AMT. This agent calls support software amttool(http://www.kraxel.org/cgit/amtterm/).</longdesc>
<vendor-url>http://www.intel.com/</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="boot_option" unique="0" required="0">
+ <getopt mixed="-b, --boot-option=[option]" />
+ <content type="select" >
+ <option value="pxe" />
+ <option value="hd" />
+ <option value="hdsafe" />
+ <option value="cd" />
+ <option value="diag" />
+ </content>
+ <shortdesc lang="en">Change the default boot behavior of the machine.</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -18,10 +34,10 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
<parameter name="method" unique="0" required="0">
<getopt mixed="-m, --method=[method]" />
@@ -31,31 +47,15 @@
</content>
<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
- <content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
- </parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="boot_option" unique="0" required="0">
- <getopt mixed="-b, --boot-option=[option]" />
- <content type="select" >
- <option value="pxe" />
- <option value="hd" />
- <option value="hdsafe" />
- <option value="cd" />
- <option value="diag" />
- </content>
- <shortdesc lang="en">Change the default boot behavior of the machine.</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -77,10 +77,15 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="amttool_path" unique="0" required="0">
+ <getopt mixed="--amttool-path=[path]" />
+ <content type="string" default="/usr/bin/amttool" />
+ <shortdesc lang="en">Path to amttool binary</shortdesc>
+ </parameter>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -92,21 +97,16 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
<content type="string" default="3" />
<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
- <parameter name="amttool_path" unique="0" required="0">
- <getopt mixed="--amttool-path=[path]" />
- <content type="string" default="/usr/bin/amttool" />
- <shortdesc lang="en">Path to amttool binary</shortdesc>
- </parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
<content type="string" default="1" />
diff --git a/tests/data/metadata/fence_apc.xml b/tests/data/metadata/fence_apc.xml
index 441de61..5115ad4 100644
--- a/tests/data/metadata/fence_apc.xml
+++ b/tests/data/metadata/fence_apc.xml
@@ -3,36 +3,16 @@
<longdesc>fence_apc is an I/O Fencing agent which can be used with the APC network power switch. It logs into device via telnet/ssh and reboots a specified outlet. Lengthy telnet/ssh connections should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
<vendor-url>http://www.apc.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['\n>', '\napc>']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -43,16 +23,46 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ </parameter>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
<parameter name="ssh_options" unique="0" required="0">
<getopt mixed="--ssh-options=[options]" />
<content type="string" default="-1 -c blowfish" />
@@ -63,16 +73,6 @@
<content type="string" />
<shortdesc lang="en">Physical switch number on device</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -98,10 +98,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -113,10 +113,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_apc_snmp.xml b/tests/data/metadata/fence_apc_snmp.xml
index 886f1b0..d09f851 100644
--- a/tests/data/metadata/fence_apc_snmp.xml
+++ b/tests/data/metadata/fence_apc_snmp.xml
@@ -3,37 +3,20 @@
<longdesc>fence_apc_snmp is an I/O Fencing agent which can be used with the APC network power switch or Tripplite PDU devices.It logs into a device via SNMP and reboots a specified outlet. It supports SNMP v1, v2c, v3 with all combinations of authenticity/privacy settings.</longdesc>
<vendor-url>http://www.apc.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="161" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="snmp_version" unique="0" required="0">
- <getopt mixed="-d, --snmp-version=[version]" />
- <content type="select" default="1" >
- <option value="1" />
- <option value="2c" />
- <option value="3" />
- </content>
- <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="community" unique="0" required="0">
<getopt mixed="-c, --community=[community]" />
<content type="string" default="private" />
<shortdesc lang="en">Set the community string</shortdesc>
</parameter>
- <parameter name="snmp_priv_prot" unique="0" required="0">
- <getopt mixed="-B, --snmp-priv-prot=[prot]" />
- <content type="select" >
- <option value="DES" />
- <option value="AES" />
- </content>
- <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -45,15 +28,30 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd" unique="0" required="0">
- <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="161" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Set privacy protocol password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd_script" unique="0" required="0">
- <getopt mixed="-R, --snmp-priv-passwd-script" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="snmp_auth_prot" unique="0" required="0">
<getopt mixed="-b, --snmp-auth-prot=[prot]" />
@@ -63,15 +61,23 @@
</content>
<shortdesc lang="en">Set authentication protocol (MD5|SHA)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="snmp_priv_passwd" unique="0" required="0">
+ <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <content type="string" />
+ <shortdesc lang="en">Set privacy protocol password</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="snmp_priv_passwd_script" unique="0" required="0">
+ <getopt mixed="-R, --snmp-priv-passwd-script" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ </parameter>
+ <parameter name="snmp_priv_prot" unique="0" required="0">
+ <getopt mixed="-B, --snmp-priv-prot=[prot]" />
+ <content type="select" >
+ <option value="DES" />
+ <option value="AES" />
+ </content>
+ <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
</parameter>
<parameter name="snmp_sec_level" unique="0" required="0">
<getopt mixed="-E, --snmp-sec-level=[level]" />
@@ -82,20 +88,14 @@
</content>
<shortdesc lang="en">Set security level (noAuthNoPriv|authNoPriv|authPriv)</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="snmp_version" unique="0" required="0">
+ <getopt mixed="-d, --snmp-version=[version]" />
+ <content type="select" default="1" >
+ <option value="1" />
+ <option value="2c" />
+ <option value="3" />
+ </content>
+ <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -122,10 +122,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -137,10 +137,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_bladecenter.xml b/tests/data/metadata/fence_bladecenter.xml
index ec1b011..8a01b57 100644
--- a/tests/data/metadata/fence_bladecenter.xml
+++ b/tests/data/metadata/fence_bladecenter.xml
@@ -3,36 +3,16 @@
<longdesc>fence_bladecenter is an I/O Fencing agent which can be used with IBM Bladecenters with recent enough firmware that includes telnet support. It logs into a Brocade chasis via telnet or ssh and uses the command line interface to power on and off blades.</longdesc>
<vendor-url>http://www.ibm.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['system>']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -43,30 +23,50 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -93,36 +93,36 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="10" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
<content type="string" default="5" />
<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
+ <parameter name="missing_as_off" unique="0" required="0">
+ <getopt mixed="--missing-as-off" />
+ <content type="boolean" />
+ <shortdesc lang="en">Missing port returns OFF instead of failure</shortdesc>
+ </parameter>
<parameter name="power_timeout" unique="0" required="0">
<getopt mixed="--power-timeout=[seconds]" />
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="10" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
<content type="string" default="3" />
<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
- <parameter name="missing_as_off" unique="0" required="0">
- <getopt mixed="--missing-as-off" />
- <content type="boolean" />
- <shortdesc lang="en">Missing port returns OFF instead of failure</shortdesc>
- </parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
<content type="string" default="1" />
diff --git a/tests/data/metadata/fence_brocade.xml b/tests/data/metadata/fence_brocade.xml
index 5373d0e..52620f5 100644
--- a/tests/data/metadata/fence_brocade.xml
+++ b/tests/data/metadata/fence_brocade.xml
@@ -3,36 +3,16 @@
<longdesc>fence_brocade is an I/O Fencing agent which can be used with Brocade FC switches. It logs into a Brocade switch via telnet and disables a specified port. Disabling the port which a machine is connected to effectively fences that machine. Lengthy telnet connections to the switch should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions. After a fence operation has taken place the fenced machine can no longer connect to the Brocade FC switch. When the fenced machine is ready to be brought back into the GFS cluster (after reboot) the port on the Brocade FC switch needs to be enabled. This can be done by running fence_brocade and specifying the enable action</longdesc>
<vendor-url>http://www.brocade.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="off" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['> ']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -43,30 +23,50 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="off" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -93,10 +93,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -108,10 +108,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_cisco_mds.xml b/tests/data/metadata/fence_cisco_mds.xml
index add75f3..4adbf22 100644
--- a/tests/data/metadata/fence_cisco_mds.xml
+++ b/tests/data/metadata/fence_cisco_mds.xml
@@ -3,37 +3,20 @@
<longdesc>fence_cisco_mds is an I/O Fencing agent which can be used with any Cisco MDS 9000 series with SNMP enabled device.</longdesc>
<vendor-url>http://www.cisco.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="161" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="snmp_version" unique="0" required="0">
- <getopt mixed="-d, --snmp-version=[version]" />
- <content type="select" >
- <option value="1" />
- <option value="2c" />
- <option value="3" />
- </content>
- <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="off" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="community" unique="0" required="0">
<getopt mixed="-c, --community=[community]" />
<content type="string" />
<shortdesc lang="en">Set the community string</shortdesc>
</parameter>
- <parameter name="snmp_priv_prot" unique="0" required="0">
- <getopt mixed="-B, --snmp-priv-prot=[prot]" />
- <content type="select" >
- <option value="DES" />
- <option value="AES" />
- </content>
- <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -45,15 +28,30 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd" unique="0" required="0">
- <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="161" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Set privacy protocol password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd_script" unique="0" required="0">
- <getopt mixed="-R, --snmp-priv-passwd-script" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="snmp_auth_prot" unique="0" required="0">
<getopt mixed="-b, --snmp-auth-prot=[prot]" />
@@ -63,15 +61,23 @@
</content>
<shortdesc lang="en">Set authentication protocol (MD5|SHA)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="snmp_priv_passwd" unique="0" required="0">
+ <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <content type="string" />
+ <shortdesc lang="en">Set privacy protocol password</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="snmp_priv_passwd_script" unique="0" required="0">
+ <getopt mixed="-R, --snmp-priv-passwd-script" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ </parameter>
+ <parameter name="snmp_priv_prot" unique="0" required="0">
+ <getopt mixed="-B, --snmp-priv-prot=[prot]" />
+ <content type="select" >
+ <option value="DES" />
+ <option value="AES" />
+ </content>
+ <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
</parameter>
<parameter name="snmp_sec_level" unique="0" required="0">
<getopt mixed="-E, --snmp-sec-level=[level]" />
@@ -82,20 +88,14 @@
</content>
<shortdesc lang="en">Set security level (noAuthNoPriv|authNoPriv|authPriv)</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="off" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="snmp_version" unique="0" required="0">
+ <getopt mixed="-d, --snmp-version=[version]" />
+ <content type="select" >
+ <option value="1" />
+ <option value="2c" />
+ <option value="3" />
+ </content>
+ <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -122,10 +122,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -137,10 +137,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_cisco_ucs.xml b/tests/data/metadata/fence_cisco_ucs.xml
index 75e45ce..6fab175 100644
--- a/tests/data/metadata/fence_cisco_ucs.xml
+++ b/tests/data/metadata/fence_cisco_ucs.xml
@@ -3,25 +3,15 @@
<longdesc>fence_cisco_ucs is an I/O Fencing agent which can be used with Cisco UCS to fence machines.</longdesc>
<vendor-url>http://www.cisco.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="80" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="notls" unique="0" required="0">
- <getopt mixed="-t, --notls" />
- <content type="boolean" />
- <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
- <parameter name="ssl_secure" unique="0" required="0">
- <getopt mixed="--ssl-secure" />
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
<content type="boolean" />
- <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -33,45 +23,55 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="80" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
+ </parameter>
+ <parameter name="notls" unique="0" required="0">
+ <getopt mixed="-t, --notls" />
<content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ </parameter>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
<content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="ssl" unique="0" required="0">
<getopt mixed="-z, --ssl" />
<content type="boolean" />
<shortdesc lang="en">SSL connection</shortdesc>
</parameter>
- <parameter name="suborg" unique="0" required="0">
- <getopt mixed="--suborg=[path]" />
- <content type="string" />
- <shortdesc lang="en">Additional path needed to access suborganization</shortdesc>
- </parameter>
<parameter name="ssl_insecure" unique="0" required="0">
<getopt mixed="--ssl-insecure" />
<content type="boolean" />
<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="ssl_secure" unique="0" required="0">
+ <getopt mixed="--ssl-secure" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="suborg" unique="0" required="0">
+ <getopt mixed="--suborg=[path]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">Additional path needed to access suborganization</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -98,10 +98,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -113,10 +113,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml
index d100b8c..51bcdcb 100644
--- a/tests/data/metadata/fence_docker.xml
+++ b/tests/data/metadata/fence_docker.xml
@@ -3,20 +3,15 @@
<longdesc>fence_docker is I/O fencing agent which can be used with the Docker Engine containers. You can use this fence-agent without any authentication, or you can use TLS authentication (use --ssl option, more info about TLS authentication in docker: http://docs.docker.com/examples/https/).</longdesc>
<vendor-url>www.docker.io</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="80" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
- <parameter name="ssl_secure" unique="0" required="0">
- <getopt mixed="--ssl-secure" />
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
<content type="boolean" />
- <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -28,10 +23,10 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="80" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
<parameter name="method" unique="0" required="0">
<getopt mixed="-m, --method=[method]" />
@@ -41,6 +36,11 @@
</content>
<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
</parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ </parameter>
<parameter name="ssl" unique="0" required="0">
<getopt mixed="-z, --ssl" />
<content type="boolean" />
@@ -51,15 +51,10 @@
<content type="boolean" />
<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="tlskey" unique="0" required="0">
- <getopt mixed="--tlskey" />
- <content type="string" />
- <shortdesc lang="en">Path to client key (PEM format) for TLS authentication. Required if --ssl option is used.</shortdesc>
+ <parameter name="ssl_secure" unique="0" required="0">
+ <getopt mixed="--ssl-secure" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
</parameter>
<parameter name="tlscacert" unique="0" required="0">
<getopt mixed="--tlscacert" />
@@ -71,6 +66,11 @@
<content type="string" />
<shortdesc lang="en">Path to client certificate (PEM format) for TLS authentication. Required if --ssl option is used.</shortdesc>
</parameter>
+ <parameter name="tlskey" unique="0" required="0">
+ <getopt mixed="--tlskey" />
+ <content type="string" />
+ <shortdesc lang="en">Path to client key (PEM format) for TLS authentication. Required if --ssl option is used.</shortdesc>
+ </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -96,16 +96,6 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
- </parameter>
- <parameter name="power_timeout" unique="0" required="0">
- <getopt mixed="--power-timeout=[seconds]" />
- <content type="string" default="20" />
- <shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
- </parameter>
<parameter name="delay" unique="0" required="0">
<getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
@@ -116,6 +106,16 @@
<content type="string" default="5" />
<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
+ <parameter name="power_timeout" unique="0" required="0">
+ <getopt mixed="--power-timeout=[seconds]" />
+ <content type="string" default="20" />
+ <shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
+ </parameter>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ </parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
<content type="string" default="3" />
diff --git a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml
index d2871c5..642242c 100644
--- a/tests/data/metadata/fence_drac.xml
+++ b/tests/data/metadata/fence_drac.xml
@@ -3,46 +3,46 @@
<longdesc>fence_drac is an I/O Fencing agent which can be used with the Dell Remote Access Card (DRAC). This card provides remote access to controlling power to a server. It logs into the DRAC through the telnet interface of the card. By default, the telnet interface is not enabled. To enable the interface, you will need to use the racadm command in the racser-devel rpm available from Dell. To enable telnet on the DRAC: [root]# racadm config -g cfgSerial -o cfgSerialTelnetEnable 1 [root]# racadm racreset </longdesc>
<vendor-url>http://www.dell.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['\\[username\\]# ']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ </parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
<parameter name="ipaddr" unique="0" required="1">
<getopt mixed="-a, --ip=[ip]" />
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
<parameter name="login" unique="0" required="1">
<getopt mixed="-l, --username=[name]" />
<content type="string" />
<shortdesc lang="en">Login Name</shortdesc>
</parameter>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
@@ -68,6 +68,16 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="login_timeout" unique="0" required="0">
+ <getopt mixed="--login-timeout=[seconds]" />
+ <content type="string" default="5" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
+ </parameter>
<parameter name="power_timeout" unique="0" required="0">
<getopt mixed="--power-timeout=[seconds]" />
<content type="string" default="20" />
@@ -83,16 +93,6 @@
<content type="string" default="3" />
<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="login_timeout" unique="0" required="0">
- <getopt mixed="--login-timeout=[seconds]" />
- <content type="string" default="5" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
- </parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
<content type="string" default="1" />
diff --git a/tests/data/metadata/fence_drac5.xml b/tests/data/metadata/fence_drac5.xml
index d96484c..b33b70f 100644
--- a/tests/data/metadata/fence_drac5.xml
+++ b/tests/data/metadata/fence_drac5.xml
@@ -3,35 +3,24 @@
<longdesc>fence_drac5 is an I/O Fencing agent which can be used with the Dell Remote Access Card v5 or CMC (DRAC). This device provides remote access to controlling power to a server. It logs into the DRAC through the telnet/ssh interface of the card. By default, the telnet interface is not enabled.</longdesc>
<vendor-url>http://www.dell.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['\\$', 'DRAC\\/MC:']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ <parameter name="drac_version" unique="0" required="0">
+ <getopt mixed="-d, --drac-version=[version]" />
+ <content type="select" >
+ <option value="DRAC CMC" />
+ <option value="DRAC MC" />
+ <option value="DRAC 5" />
+ </content>
+ <shortdesc lang="en">Force DRAC version to use (DRAC 5, DRAC CMC, DRAC MC)</shortdesc>
</parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
@@ -43,39 +32,50 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="drac_version" unique="0" required="0">
- <getopt mixed="-d, --drac-version=[version]" />
- <content type="select" >
- <option value="DRAC CMC" />
- <option value="DRAC MC" />
- <option value="DRAC 5" />
- </content>
- <shortdesc lang="en">Force DRAC version to use (DRAC 5, DRAC CMC, DRAC MC)</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -102,10 +102,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -117,10 +117,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_dummy.xml b/tests/data/metadata/fence_dummy.xml
index 61c964e..03821ac 100644
--- a/tests/data/metadata/fence_dummy.xml
+++ b/tests/data/metadata/fence_dummy.xml
@@ -3,26 +3,26 @@
<longdesc>fence_dummy</longdesc>
<vendor-url>http://www.example.com</vendor-url>
<parameters>
- <parameter name="status_file" unique="0" required="0">
- <getopt mixed="--status-file=[file]" />
- <content type="string" default="/tmp/fence_dummy.status" />
- <shortdesc lang="en">File with status</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="random_sleep_range" unique="0" required="0">
<getopt mixed="--random_sleep_range=[seconds]" />
<content type="string" />
<shortdesc lang="en">Issue a sleep between 1 and X seconds. Used for testing.</shortdesc>
</parameter>
+ <parameter name="status_file" unique="0" required="0">
+ <getopt mixed="--status-file=[file]" />
+ <content type="string" default="/tmp/fence_dummy.status" />
+ <shortdesc lang="en">File with status</shortdesc>
+ </parameter>
<parameter name="type" unique="0" required="0">
<getopt mixed="--type=[type]" />
<content type="string" default="file" />
<shortdesc lang="en">Type of the dummy fence agent</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -48,21 +48,6 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="shell_timeout" unique="0" required="0">
- <getopt mixed="--shell-timeout=[seconds]" />
- <content type="string" default="3" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
- </parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
- </parameter>
- <parameter name="power_timeout" unique="0" required="0">
- <getopt mixed="--power-timeout=[seconds]" />
- <content type="string" default="20" />
- <shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
- </parameter>
<parameter name="delay" unique="0" required="0">
<getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
@@ -73,6 +58,21 @@
<content type="string" default="5" />
<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
+ <parameter name="power_timeout" unique="0" required="0">
+ <getopt mixed="--power-timeout=[seconds]" />
+ <content type="string" default="20" />
+ <shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
+ </parameter>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ </parameter>
+ <parameter name="shell_timeout" unique="0" required="0">
+ <getopt mixed="--shell-timeout=[seconds]" />
+ <content type="string" default="3" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
+ </parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
<content type="string" default="1" />
diff --git a/tests/data/metadata/fence_eaton_snmp.xml b/tests/data/metadata/fence_eaton_snmp.xml
index 1cf0436..bfe05aa 100644
--- a/tests/data/metadata/fence_eaton_snmp.xml
+++ b/tests/data/metadata/fence_eaton_snmp.xml
@@ -3,37 +3,20 @@
<longdesc>fence_eaton_snmp is an I/O Fencing agent which can be used with the Eaton network power switch. It logs into a device via SNMP and reboots a specified outlet. It supports SNMP v1 and v3 with all combinations of authenticity/privacy settings.</longdesc>
<vendor-url>http://powerquality.eaton.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="161" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="snmp_version" unique="0" required="0">
- <getopt mixed="-d, --snmp-version=[version]" />
- <content type="select" default="1" >
- <option value="1" />
- <option value="2c" />
- <option value="3" />
- </content>
- <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="community" unique="0" required="0">
<getopt mixed="-c, --community=[community]" />
<content type="string" default="private" />
<shortdesc lang="en">Set the community string</shortdesc>
</parameter>
- <parameter name="snmp_priv_prot" unique="0" required="0">
- <getopt mixed="-B, --snmp-priv-prot=[prot]" />
- <content type="select" >
- <option value="DES" />
- <option value="AES" />
- </content>
- <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -45,15 +28,30 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd" unique="0" required="0">
- <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="161" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Set privacy protocol password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd_script" unique="0" required="0">
- <getopt mixed="-R, --snmp-priv-passwd-script" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="snmp_auth_prot" unique="0" required="0">
<getopt mixed="-b, --snmp-auth-prot=[prot]" />
@@ -63,15 +61,23 @@
</content>
<shortdesc lang="en">Set authentication protocol (MD5|SHA)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="snmp_priv_passwd" unique="0" required="0">
+ <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <content type="string" />
+ <shortdesc lang="en">Set privacy protocol password</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="snmp_priv_passwd_script" unique="0" required="0">
+ <getopt mixed="-R, --snmp-priv-passwd-script" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ </parameter>
+ <parameter name="snmp_priv_prot" unique="0" required="0">
+ <getopt mixed="-B, --snmp-priv-prot=[prot]" />
+ <content type="select" >
+ <option value="DES" />
+ <option value="AES" />
+ </content>
+ <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
</parameter>
<parameter name="snmp_sec_level" unique="0" required="0">
<getopt mixed="-E, --snmp-sec-level=[level]" />
@@ -82,20 +88,14 @@
</content>
<shortdesc lang="en">Set security level (noAuthNoPriv|authNoPriv|authPriv)</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="snmp_version" unique="0" required="0">
+ <getopt mixed="-d, --snmp-version=[version]" />
+ <content type="select" default="1" >
+ <option value="1" />
+ <option value="2c" />
+ <option value="3" />
+ </content>
+ <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -122,10 +122,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="2" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -137,10 +137,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="2" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_eps.xml b/tests/data/metadata/fence_eps.xml
index a64ce8e..be4fed6 100644
--- a/tests/data/metadata/fence_eps.xml
+++ b/tests/data/metadata/fence_eps.xml
@@ -5,15 +5,20 @@
Agent basically works by connecting to hidden page and pass appropriate arguments to GET request. This means, that hidden page feature must be enabled and properly configured.</longdesc>
<vendor-url>http://www.epowerswitch.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="hidden_page" unique="0" required="0">
+ <getopt mixed="-c, --page=[page]" />
+ <content type="string" default="hidden.htm" />
+ <shortdesc lang="en">Name of hidden page</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -25,35 +30,30 @@ Agent basically works by connecting to hidden page and pass appropriate argument
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
- </parameter>
- <parameter name="hidden_page" unique="0" required="0">
- <getopt mixed="-c, --page=[page]" />
- <content type="string" default="hidden.htm" />
- <shortdesc lang="en">Name of hidden page</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -80,10 +80,10 @@ Agent basically works by connecting to hidden page and pass appropriate argument
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -95,10 +95,10 @@ Agent basically works by connecting to hidden page and pass appropriate argument
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_hds_cb.xml b/tests/data/metadata/fence_hds_cb.xml
index 8f5279a..04b0c40 100644
--- a/tests/data/metadata/fence_hds_cb.xml
+++ b/tests/data/metadata/fence_hds_cb.xml
@@ -3,36 +3,16 @@
<longdesc>fence_hds_cb is an I/O Fencing agent which can be used with Hitachi Compute Blades with recent enough firmware that includes telnet support.</longdesc>
<vendor-url>http://www.hds.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['\\) :']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -43,30 +23,50 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -93,36 +93,36 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="5" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
<content type="string" default="5" />
<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
+ <parameter name="missing_as_off" unique="0" required="0">
+ <getopt mixed="--missing-as-off" />
+ <content type="boolean" />
+ <shortdesc lang="en">Missing port returns OFF instead of failure</shortdesc>
+ </parameter>
<parameter name="power_timeout" unique="0" required="0">
<getopt mixed="--power-timeout=[seconds]" />
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="5" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
<content type="string" default="3" />
<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
- <parameter name="missing_as_off" unique="0" required="0">
- <getopt mixed="--missing-as-off" />
- <content type="boolean" />
- <shortdesc lang="en">Missing port returns OFF instead of failure</shortdesc>
- </parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
<content type="string" default="1" />
diff --git a/tests/data/metadata/fence_hpblade.xml b/tests/data/metadata/fence_hpblade.xml
index 4f0976b..679907c 100644
--- a/tests/data/metadata/fence_hpblade.xml
+++ b/tests/data/metadata/fence_hpblade.xml
@@ -3,36 +3,16 @@
<longdesc>fence_hpblade is an I/O Fencing agent which can be used with HP BladeSystem. It logs into an enclosure via telnet or ssh and uses the command line interface to power on and off blades.</longdesc>
<vendor-url>http://www.hp.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['c7000oa>']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -43,30 +23,50 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -93,36 +93,36 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
<content type="string" default="5" />
<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
+ <parameter name="missing_as_off" unique="0" required="0">
+ <getopt mixed="--missing-as-off" />
+ <content type="boolean" />
+ <shortdesc lang="en">Missing port returns OFF instead of failure</shortdesc>
+ </parameter>
<parameter name="power_timeout" unique="0" required="0">
<getopt mixed="--power-timeout=[seconds]" />
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
<content type="string" default="3" />
<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
- <parameter name="missing_as_off" unique="0" required="0">
- <getopt mixed="--missing-as-off" />
- <content type="boolean" />
- <shortdesc lang="en">Missing port returns OFF instead of failure</shortdesc>
- </parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
<content type="string" default="1" />
diff --git a/tests/data/metadata/fence_ibmblade.xml b/tests/data/metadata/fence_ibmblade.xml
index 4731e5e..42952da 100644
--- a/tests/data/metadata/fence_ibmblade.xml
+++ b/tests/data/metadata/fence_ibmblade.xml
@@ -3,37 +3,20 @@
<longdesc>fence_ibmblade is an I/O Fencing agent which can be used with IBM BladeCenter chassis. It issues SNMP Set request to BladeCenter chassis, rebooting, powering up or down the specified Blade Server.</longdesc>
<vendor-url>http://www.ibm.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="161" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="snmp_version" unique="0" required="0">
- <getopt mixed="-d, --snmp-version=[version]" />
- <content type="select" default="1" >
- <option value="1" />
- <option value="2c" />
- <option value="3" />
- </content>
- <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="community" unique="0" required="0">
<getopt mixed="-c, --community=[community]" />
<content type="string" />
<shortdesc lang="en">Set the community string</shortdesc>
</parameter>
- <parameter name="snmp_priv_prot" unique="0" required="0">
- <getopt mixed="-B, --snmp-priv-prot=[prot]" />
- <content type="select" >
- <option value="DES" />
- <option value="AES" />
- </content>
- <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -45,15 +28,30 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd" unique="0" required="0">
- <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="161" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Set privacy protocol password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd_script" unique="0" required="0">
- <getopt mixed="-R, --snmp-priv-passwd-script" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="snmp_auth_prot" unique="0" required="0">
<getopt mixed="-b, --snmp-auth-prot=[prot]" />
@@ -63,15 +61,23 @@
</content>
<shortdesc lang="en">Set authentication protocol (MD5|SHA)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="snmp_priv_passwd" unique="0" required="0">
+ <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <content type="string" />
+ <shortdesc lang="en">Set privacy protocol password</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="snmp_priv_passwd_script" unique="0" required="0">
+ <getopt mixed="-R, --snmp-priv-passwd-script" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ </parameter>
+ <parameter name="snmp_priv_prot" unique="0" required="0">
+ <getopt mixed="-B, --snmp-priv-prot=[prot]" />
+ <content type="select" >
+ <option value="DES" />
+ <option value="AES" />
+ </content>
+ <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
</parameter>
<parameter name="snmp_sec_level" unique="0" required="0">
<getopt mixed="-E, --snmp-sec-level=[level]" />
@@ -82,20 +88,14 @@
</content>
<shortdesc lang="en">Set security level (noAuthNoPriv|authNoPriv|authPriv)</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="snmp_version" unique="0" required="0">
+ <getopt mixed="-d, --snmp-version=[version]" />
+ <content type="select" default="1" >
+ <option value="1" />
+ <option value="2c" />
+ <option value="3" />
+ </content>
+ <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -122,10 +122,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -137,10 +137,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
index 26a2758..0ad21dd 100644
--- a/tests/data/metadata/fence_idrac.xml
+++ b/tests/data/metadata/fence_idrac.xml
@@ -7,10 +7,29 @@
<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
<vendor-url></vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="623" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="auth" unique="0" required="0">
+ <getopt mixed="-A, --auth=[auth]" />
+ <content type="select" >
+ <option value="md5" />
+ <option value="password" />
+ <option value="none" />
+ </content>
+ <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
+ </parameter>
+ <parameter name="cipher" unique="0" required="0">
+ <getopt mixed="-C, --cipher=[cipher]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -22,10 +41,20 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="623" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="lanplus" unique="0" required="0">
+ <getopt mixed="-P, --lanplus" />
+ <content type="boolean" default="0" />
+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="method" unique="0" required="0">
<getopt mixed="-m, --method=[method]" />
@@ -35,34 +64,15 @@
</content>
<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
- </parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="lanplus" unique="0" required="0">
- <getopt mixed="-P, --lanplus" />
- <content type="boolean" default="0" />
- <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
- </parameter>
- <parameter name="auth" unique="0" required="0">
- <getopt mixed="-A, --auth=[auth]" />
- <content type="select" >
- <option value="md5" />
- <option value="password" />
- <option value="none" />
- </content>
- <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
- </parameter>
- <parameter name="cipher" unique="0" required="0">
- <getopt mixed="-C, --cipher=[cipher]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
<parameter name="privlvl" unique="0" required="0">
<getopt mixed="-L, --privlvl=[level]" />
@@ -74,16 +84,6 @@
</content>
<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -104,10 +104,15 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="ipmitool_path" unique="0" required="0">
+ <getopt mixed="--ipmitool-path=[path]" />
+ <content type="string" default="/usr/bin/ipmitool" />
+ <shortdesc lang="en">Path to ipmitool binary</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -119,15 +124,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="ipmitool_path" unique="0" required="0">
- <getopt mixed="--ipmitool-path=[path]" />
- <content type="string" default="/usr/bin/ipmitool" />
- <shortdesc lang="en">Path to ipmitool binary</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ifmib.xml b/tests/data/metadata/fence_ifmib.xml
index 7faf2ab..523c510 100644
--- a/tests/data/metadata/fence_ifmib.xml
+++ b/tests/data/metadata/fence_ifmib.xml
@@ -5,37 +5,20 @@
It was written with managed ethernet switches in mind, in order to fence iSCSI SAN connections. However, there are many devices that support the IF-MIB interface. The agent uses IF-MIB::ifAdminStatus to control the state of an interface.</longdesc>
<vendor-url>http://www.ietf.org/wg/concluded/ifmib.html</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="161" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="snmp_version" unique="0" required="0">
- <getopt mixed="-d, --snmp-version=[version]" />
- <content type="select" default="2c" >
- <option value="1" />
- <option value="2c" />
- <option value="3" />
- </content>
- <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="off" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="community" unique="0" required="0">
<getopt mixed="-c, --community=[community]" />
<content type="string" />
<shortdesc lang="en">Set the community string</shortdesc>
</parameter>
- <parameter name="snmp_priv_prot" unique="0" required="0">
- <getopt mixed="-B, --snmp-priv-prot=[prot]" />
- <content type="select" >
- <option value="DES" />
- <option value="AES" />
- </content>
- <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -47,15 +30,30 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd" unique="0" required="0">
- <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="161" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Set privacy protocol password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd_script" unique="0" required="0">
- <getopt mixed="-R, --snmp-priv-passwd-script" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="snmp_auth_prot" unique="0" required="0">
<getopt mixed="-b, --snmp-auth-prot=[prot]" />
@@ -65,15 +63,23 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
</content>
<shortdesc lang="en">Set authentication protocol (MD5|SHA)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="snmp_priv_passwd" unique="0" required="0">
+ <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <content type="string" />
+ <shortdesc lang="en">Set privacy protocol password</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="snmp_priv_passwd_script" unique="0" required="0">
+ <getopt mixed="-R, --snmp-priv-passwd-script" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ </parameter>
+ <parameter name="snmp_priv_prot" unique="0" required="0">
+ <getopt mixed="-B, --snmp-priv-prot=[prot]" />
+ <content type="select" >
+ <option value="DES" />
+ <option value="AES" />
+ </content>
+ <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
</parameter>
<parameter name="snmp_sec_level" unique="0" required="0">
<getopt mixed="-E, --snmp-sec-level=[level]" />
@@ -84,20 +90,14 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
</content>
<shortdesc lang="en">Set security level (noAuthNoPriv|authNoPriv|authPriv)</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="off" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="snmp_version" unique="0" required="0">
+ <getopt mixed="-d, --snmp-version=[version]" />
+ <content type="select" default="2c" >
+ <option value="1" />
+ <option value="2c" />
+ <option value="3" />
+ </content>
+ <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -124,10 +124,10 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -139,10 +139,10 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml
index 25d9d54..802fe0f 100644
--- a/tests/data/metadata/fence_ilo.xml
+++ b/tests/data/metadata/fence_ilo.xml
@@ -4,31 +4,16 @@
<longdesc>fence_ilo is an I/O Fencing agent used for HP servers with the Integrated Light Out (iLO) PCI card.The agent opens an SSL connection to the iLO card. Once the SSL connection is established, the agent is able to communicate with the iLO card through an XML stream.</longdesc>
<vendor-url>http://www.hp.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="443" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="notls" unique="0" required="0">
- <getopt mixed="-t, --notls" />
- <content type="boolean" />
- <shortdesc lang="en">Disable TLS negotiation</shortdesc>
- </parameter>
- <parameter name="ribcl" unique="0" required="0">
- <getopt mixed="-r, --ribcl-version=[version]" />
- <content type="string" />
- <shortdesc lang="en">Force ribcl version to use</shortdesc>
- </parameter>
- <parameter name="ssl_secure" unique="0" required="0">
- <getopt mixed="--ssl-secure" />
- <content type="boolean" />
- <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
- </parameter>
<parameter name="action" unique="0" required="1">
<getopt mixed="-o, --action=[action]" />
<content type="string" default="reboot" />
<shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ </parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
<content type="boolean" />
@@ -39,20 +24,35 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="443" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
+ </parameter>
+ <parameter name="notls" unique="0" required="0">
+ <getopt mixed="-t, --notls" />
<content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ </parameter>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
+ <parameter name="ribcl" unique="0" required="0">
+ <getopt mixed="-r, --ribcl-version=[version]" />
<content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
+ <shortdesc lang="en">Force ribcl version to use</shortdesc>
</parameter>
<parameter name="ssl" unique="0" required="0">
<getopt mixed="-z, --ssl" />
@@ -64,10 +64,10 @@
<content type="boolean" />
<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="ssl_secure" unique="0" required="0">
+ <getopt mixed="--ssl-secure" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -89,10 +89,10 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -104,10 +104,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml
index 47e8e28..75af5a9 100644
--- a/tests/data/metadata/fence_ilo2.xml
+++ b/tests/data/metadata/fence_ilo2.xml
@@ -4,31 +4,16 @@
<longdesc>fence_ilo is an I/O Fencing agent used for HP servers with the Integrated Light Out (iLO) PCI card.The agent opens an SSL connection to the iLO card. Once the SSL connection is established, the agent is able to communicate with the iLO card through an XML stream.</longdesc>
<vendor-url>http://www.hp.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="443" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="notls" unique="0" required="0">
- <getopt mixed="-t, --notls" />
- <content type="boolean" />
- <shortdesc lang="en">Disable TLS negotiation</shortdesc>
- </parameter>
- <parameter name="ribcl" unique="0" required="0">
- <getopt mixed="-r, --ribcl-version=[version]" />
- <content type="string" />
- <shortdesc lang="en">Force ribcl version to use</shortdesc>
- </parameter>
- <parameter name="ssl_secure" unique="0" required="0">
- <getopt mixed="--ssl-secure" />
- <content type="boolean" />
- <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
- </parameter>
<parameter name="action" unique="0" required="1">
<getopt mixed="-o, --action=[action]" />
<content type="string" default="reboot" />
<shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ </parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
<content type="boolean" />
@@ -39,20 +24,35 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="443" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
+ </parameter>
+ <parameter name="notls" unique="0" required="0">
+ <getopt mixed="-t, --notls" />
<content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ </parameter>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
+ <parameter name="ribcl" unique="0" required="0">
+ <getopt mixed="-r, --ribcl-version=[version]" />
<content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
+ <shortdesc lang="en">Force ribcl version to use</shortdesc>
</parameter>
<parameter name="ssl" unique="0" required="0">
<getopt mixed="-z, --ssl" />
@@ -64,10 +64,10 @@
<content type="boolean" />
<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="ssl_secure" unique="0" required="0">
+ <getopt mixed="--ssl-secure" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -89,10 +89,10 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -104,10 +104,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
index c1e01ae..bc8d397 100644
--- a/tests/data/metadata/fence_ilo3.xml
+++ b/tests/data/metadata/fence_ilo3.xml
@@ -7,10 +7,29 @@
<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
<vendor-url></vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="623" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="auth" unique="0" required="0">
+ <getopt mixed="-A, --auth=[auth]" />
+ <content type="select" >
+ <option value="md5" />
+ <option value="password" />
+ <option value="none" />
+ </content>
+ <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
+ </parameter>
+ <parameter name="cipher" unique="0" required="0">
+ <getopt mixed="-C, --cipher=[cipher]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -22,10 +41,20 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="623" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="lanplus" unique="0" required="0">
+ <getopt mixed="-P, --lanplus" />
+ <content type="boolean" default="1" />
+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="method" unique="0" required="0">
<getopt mixed="-m, --method=[method]" />
@@ -35,34 +64,15 @@
</content>
<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
- </parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="lanplus" unique="0" required="0">
- <getopt mixed="-P, --lanplus" />
- <content type="boolean" default="1" />
- <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
- </parameter>
- <parameter name="auth" unique="0" required="0">
- <getopt mixed="-A, --auth=[auth]" />
- <content type="select" >
- <option value="md5" />
- <option value="password" />
- <option value="none" />
- </content>
- <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
- </parameter>
- <parameter name="cipher" unique="0" required="0">
- <getopt mixed="-C, --cipher=[cipher]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
<parameter name="privlvl" unique="0" required="0">
<getopt mixed="-L, --privlvl=[level]" />
@@ -74,16 +84,6 @@
</content>
<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -104,10 +104,15 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="4" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="ipmitool_path" unique="0" required="0">
+ <getopt mixed="--ipmitool-path=[path]" />
+ <content type="string" default="/usr/bin/ipmitool" />
+ <shortdesc lang="en">Path to ipmitool binary</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -119,15 +124,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="ipmitool_path" unique="0" required="0">
- <getopt mixed="--ipmitool-path=[path]" />
- <content type="string" default="/usr/bin/ipmitool" />
- <shortdesc lang="en">Path to ipmitool binary</shortdesc>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="4" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
index bbba9a0..d4e44d1 100644
--- a/tests/data/metadata/fence_ilo4.xml
+++ b/tests/data/metadata/fence_ilo4.xml
@@ -7,10 +7,29 @@
<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
<vendor-url></vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="623" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="auth" unique="0" required="0">
+ <getopt mixed="-A, --auth=[auth]" />
+ <content type="select" >
+ <option value="md5" />
+ <option value="password" />
+ <option value="none" />
+ </content>
+ <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
+ </parameter>
+ <parameter name="cipher" unique="0" required="0">
+ <getopt mixed="-C, --cipher=[cipher]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -22,10 +41,20 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="623" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="lanplus" unique="0" required="0">
+ <getopt mixed="-P, --lanplus" />
+ <content type="boolean" default="1" />
+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="method" unique="0" required="0">
<getopt mixed="-m, --method=[method]" />
@@ -35,34 +64,15 @@
</content>
<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
- </parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="lanplus" unique="0" required="0">
- <getopt mixed="-P, --lanplus" />
- <content type="boolean" default="1" />
- <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
- </parameter>
- <parameter name="auth" unique="0" required="0">
- <getopt mixed="-A, --auth=[auth]" />
- <content type="select" >
- <option value="md5" />
- <option value="password" />
- <option value="none" />
- </content>
- <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
- </parameter>
- <parameter name="cipher" unique="0" required="0">
- <getopt mixed="-C, --cipher=[cipher]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
<parameter name="privlvl" unique="0" required="0">
<getopt mixed="-L, --privlvl=[level]" />
@@ -74,16 +84,6 @@
</content>
<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -104,10 +104,15 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="ipmitool_path" unique="0" required="0">
+ <getopt mixed="--ipmitool-path=[path]" />
+ <content type="string" default="/usr/bin/ipmitool" />
+ <shortdesc lang="en">Path to ipmitool binary</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -119,15 +124,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="ipmitool_path" unique="0" required="0">
- <getopt mixed="--ipmitool-path=[path]" />
- <content type="string" default="/usr/bin/ipmitool" />
- <shortdesc lang="en">Path to ipmitool binary</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ilo_moonshot.xml b/tests/data/metadata/fence_ilo_moonshot.xml
index d7f2bc9..2ad9e78 100644
--- a/tests/data/metadata/fence_ilo_moonshot.xml
+++ b/tests/data/metadata/fence_ilo_moonshot.xml
@@ -3,36 +3,16 @@
<longdesc></longdesc>
<vendor-url>http://www.hp.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="22" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" default="1" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['MP>', 'hpiLO->']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -43,30 +23,50 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="22" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" default="1" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -93,10 +93,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -108,10 +108,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ilo_mp.xml b/tests/data/metadata/fence_ilo_mp.xml
index 93503a0..115655b 100644
--- a/tests/data/metadata/fence_ilo_mp.xml
+++ b/tests/data/metadata/fence_ilo_mp.xml
@@ -3,31 +3,16 @@
<longdesc></longdesc>
<vendor-url>http://www.hp.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['MP>', 'hpiLO->']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -38,30 +23,45 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -83,10 +83,10 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="5" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -98,10 +98,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="5" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
index addfcd4..259c423 100644
--- a/tests/data/metadata/fence_imm.xml
+++ b/tests/data/metadata/fence_imm.xml
@@ -7,10 +7,29 @@
<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
<vendor-url></vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="623" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="auth" unique="0" required="0">
+ <getopt mixed="-A, --auth=[auth]" />
+ <content type="select" >
+ <option value="md5" />
+ <option value="password" />
+ <option value="none" />
+ </content>
+ <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
+ </parameter>
+ <parameter name="cipher" unique="0" required="0">
+ <getopt mixed="-C, --cipher=[cipher]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -22,10 +41,20 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="623" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="lanplus" unique="0" required="0">
+ <getopt mixed="-P, --lanplus" />
+ <content type="boolean" default="0" />
+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="method" unique="0" required="0">
<getopt mixed="-m, --method=[method]" />
@@ -35,34 +64,15 @@
</content>
<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
- </parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="lanplus" unique="0" required="0">
- <getopt mixed="-P, --lanplus" />
- <content type="boolean" default="0" />
- <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
- </parameter>
- <parameter name="auth" unique="0" required="0">
- <getopt mixed="-A, --auth=[auth]" />
- <content type="select" >
- <option value="md5" />
- <option value="password" />
- <option value="none" />
- </content>
- <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
- </parameter>
- <parameter name="cipher" unique="0" required="0">
- <getopt mixed="-C, --cipher=[cipher]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
<parameter name="privlvl" unique="0" required="0">
<getopt mixed="-L, --privlvl=[level]" />
@@ -74,16 +84,6 @@
</content>
<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -104,10 +104,15 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="ipmitool_path" unique="0" required="0">
+ <getopt mixed="--ipmitool-path=[path]" />
+ <content type="string" default="/usr/bin/ipmitool" />
+ <shortdesc lang="en">Path to ipmitool binary</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -119,15 +124,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="ipmitool_path" unique="0" required="0">
- <getopt mixed="--ipmitool-path=[path]" />
- <content type="string" default="/usr/bin/ipmitool" />
- <shortdesc lang="en">Path to ipmitool binary</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_intelmodular.xml b/tests/data/metadata/fence_intelmodular.xml
index 707b37a..36b7284 100644
--- a/tests/data/metadata/fence_intelmodular.xml
+++ b/tests/data/metadata/fence_intelmodular.xml
@@ -5,37 +5,20 @@
Note: Since firmware update version 2.7, SNMP v2 write support is removed, and replaced by SNMP v3 support. So agent now has default SNMP version 3. If you are using older firmware, please supply -d for command line and snmp_version option for your cluster.conf.</longdesc>
<vendor-url>http://www.intel.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="161" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="snmp_version" unique="0" required="0">
- <getopt mixed="-d, --snmp-version=[version]" />
- <content type="select" >
- <option value="1" />
- <option value="2c" />
- <option value="3" />
- </content>
- <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="community" unique="0" required="0">
<getopt mixed="-c, --community=[community]" />
<content type="string" />
<shortdesc lang="en">Set the community string</shortdesc>
</parameter>
- <parameter name="snmp_priv_prot" unique="0" required="0">
- <getopt mixed="-B, --snmp-priv-prot=[prot]" />
- <content type="select" >
- <option value="DES" />
- <option value="AES" />
- </content>
- <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -47,15 +30,30 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd" unique="0" required="0">
- <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="161" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Set privacy protocol password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd_script" unique="0" required="0">
- <getopt mixed="-R, --snmp-priv-passwd-script" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="snmp_auth_prot" unique="0" required="0">
<getopt mixed="-b, --snmp-auth-prot=[prot]" />
@@ -65,15 +63,23 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
</content>
<shortdesc lang="en">Set authentication protocol (MD5|SHA)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="snmp_priv_passwd" unique="0" required="0">
+ <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <content type="string" />
+ <shortdesc lang="en">Set privacy protocol password</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="snmp_priv_passwd_script" unique="0" required="0">
+ <getopt mixed="-R, --snmp-priv-passwd-script" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ </parameter>
+ <parameter name="snmp_priv_prot" unique="0" required="0">
+ <getopt mixed="-B, --snmp-priv-prot=[prot]" />
+ <content type="select" >
+ <option value="DES" />
+ <option value="AES" />
+ </content>
+ <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
</parameter>
<parameter name="snmp_sec_level" unique="0" required="0">
<getopt mixed="-E, --snmp-sec-level=[level]" />
@@ -84,20 +90,14 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
</content>
<shortdesc lang="en">Set security level (noAuthNoPriv|authNoPriv|authPriv)</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="snmp_version" unique="0" required="0">
+ <getopt mixed="-d, --snmp-version=[version]" />
+ <content type="select" >
+ <option value="1" />
+ <option value="2c" />
+ <option value="3" />
+ </content>
+ <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -124,10 +124,10 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -139,10 +139,10 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ipdu.xml b/tests/data/metadata/fence_ipdu.xml
index 66fa768..476e861 100644
--- a/tests/data/metadata/fence_ipdu.xml
+++ b/tests/data/metadata/fence_ipdu.xml
@@ -3,37 +3,20 @@
<longdesc>fence_ipdu is an I/O Fencing agent which can be used with the IBM iPDU network power switch. It logs into a device via SNMP and reboots a specified outlet. It supports SNMP v3 with all combinations of authenticity/privacy settings.</longdesc>
<vendor-url>http://www.ibm.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="161" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="snmp_version" unique="0" required="0">
- <getopt mixed="-d, --snmp-version=[version]" />
- <content type="select" default="3" >
- <option value="1" />
- <option value="2c" />
- <option value="3" />
- </content>
- <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="community" unique="0" required="0">
<getopt mixed="-c, --community=[community]" />
<content type="string" default="private" />
<shortdesc lang="en">Set the community string</shortdesc>
</parameter>
- <parameter name="snmp_priv_prot" unique="0" required="0">
- <getopt mixed="-B, --snmp-priv-prot=[prot]" />
- <content type="select" >
- <option value="DES" />
- <option value="AES" />
- </content>
- <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -45,15 +28,30 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd" unique="0" required="0">
- <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="161" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Set privacy protocol password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="snmp_priv_passwd_script" unique="0" required="0">
- <getopt mixed="-R, --snmp-priv-passwd-script" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="snmp_auth_prot" unique="0" required="0">
<getopt mixed="-b, --snmp-auth-prot=[prot]" />
@@ -63,15 +61,23 @@
</content>
<shortdesc lang="en">Set authentication protocol (MD5|SHA)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="snmp_priv_passwd" unique="0" required="0">
+ <getopt mixed="-P, --snmp-priv-passwd=[pass]" />
+ <content type="string" />
+ <shortdesc lang="en">Set privacy protocol password</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="snmp_priv_passwd_script" unique="0" required="0">
+ <getopt mixed="-R, --snmp-priv-passwd-script" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Script to run to retrieve privacy password</shortdesc>
+ </parameter>
+ <parameter name="snmp_priv_prot" unique="0" required="0">
+ <getopt mixed="-B, --snmp-priv-prot=[prot]" />
+ <content type="select" >
+ <option value="DES" />
+ <option value="AES" />
+ </content>
+ <shortdesc lang="en">Set privacy protocol (DES|AES)</shortdesc>
</parameter>
<parameter name="snmp_sec_level" unique="0" required="0">
<getopt mixed="-E, --snmp-sec-level=[level]" />
@@ -82,20 +88,14 @@
</content>
<shortdesc lang="en">Set security level (noAuthNoPriv|authNoPriv|authPriv)</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="snmp_version" unique="0" required="0">
+ <getopt mixed="-d, --snmp-version=[version]" />
+ <content type="select" default="3" >
+ <option value="1" />
+ <option value="2c" />
+ <option value="3" />
+ </content>
+ <shortdesc lang="en">Specifies SNMP version to use (1,2c,3)</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -122,10 +122,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -137,10 +137,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
index d15e352..2c2664e 100644
--- a/tests/data/metadata/fence_ipmilan.xml
+++ b/tests/data/metadata/fence_ipmilan.xml
@@ -7,10 +7,29 @@
<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
<vendor-url></vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="623" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="auth" unique="0" required="0">
+ <getopt mixed="-A, --auth=[auth]" />
+ <content type="select" >
+ <option value="md5" />
+ <option value="password" />
+ <option value="none" />
+ </content>
+ <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
+ </parameter>
+ <parameter name="cipher" unique="0" required="0">
+ <getopt mixed="-C, --cipher=[cipher]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -22,10 +41,20 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="623" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="lanplus" unique="0" required="0">
+ <getopt mixed="-P, --lanplus" />
+ <content type="boolean" default="0" />
+ <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="method" unique="0" required="0">
<getopt mixed="-m, --method=[method]" />
@@ -35,34 +64,15 @@
</content>
<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
- </parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="lanplus" unique="0" required="0">
- <getopt mixed="-P, --lanplus" />
- <content type="boolean" default="0" />
- <shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
- </parameter>
- <parameter name="auth" unique="0" required="0">
- <getopt mixed="-A, --auth=[auth]" />
- <content type="select" >
- <option value="md5" />
- <option value="password" />
- <option value="none" />
- </content>
- <shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
- </parameter>
- <parameter name="cipher" unique="0" required="0">
- <getopt mixed="-C, --cipher=[cipher]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
<parameter name="privlvl" unique="0" required="0">
<getopt mixed="-L, --privlvl=[level]" />
@@ -74,16 +84,6 @@
</content>
<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -104,10 +104,15 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="ipmitool_path" unique="0" required="0">
+ <getopt mixed="--ipmitool-path=[path]" />
+ <content type="string" default="/usr/bin/ipmitool" />
+ <shortdesc lang="en">Path to ipmitool binary</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -119,15 +124,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="ipmitool_path" unique="0" required="0">
- <getopt mixed="--ipmitool-path=[path]" />
- <content type="string" default="/usr/bin/ipmitool" />
- <shortdesc lang="en">Path to ipmitool binary</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_ldom.xml b/tests/data/metadata/fence_ldom.xml
index 082fd82..eba7613 100644
--- a/tests/data/metadata/fence_ldom.xml
+++ b/tests/data/metadata/fence_ldom.xml
@@ -5,36 +5,16 @@
Very useful parameter is -c (or cmd_prompt in stdin mode). This must be set to something, what is displayed after successful login to host machine. Default string is space on end of string (default for root in bash). But (for example) csh use ], so in that case you must use parameter -c with argument ]. Very similar situation is, if you use bash and login to host machine with other user than root. Than prompt is $, so again, you must use parameter -c.</longdesc>
<vendor-url>http://www.sun.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="22" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" default="1" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['\\ $']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -45,30 +25,50 @@ Very useful parameter is -c (or cmd_prompt in stdin mode). This must be set to s
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="22" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" default="1" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -95,10 +95,10 @@ Very useful parameter is -c (or cmd_prompt in stdin mode). This must be set to s
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -110,10 +110,10 @@ Very useful parameter is -c (or cmd_prompt in stdin mode). This must be set to s
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_lpar.xml b/tests/data/metadata/fence_lpar.xml
index 9b6d62d..f9daa3b 100644
--- a/tests/data/metadata/fence_lpar.xml
+++ b/tests/data/metadata/fence_lpar.xml
@@ -3,31 +3,34 @@
<longdesc></longdesc>
<vendor-url>http://www.ibm.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="22" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="managed" unique="0" required="0">
- <getopt mixed="-s, --managed=[id]" />
- <content type="string" />
- <shortdesc lang="en">Managed system name</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" default="1" />
- <shortdesc lang="en">SSH connection</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="[':~>', ']\\$', '\\$ ']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
+ <parameter name="hmc_version" unique="0" required="0">
+ <getopt mixed="-H, --hmc-version=[version]" />
+ <content type="select" default="4" >
+ <option value="3" />
+ <option value="4" />
+ </content>
+ <shortdesc lang="en">Force HMC version to use (3 or 4)</shortdesc>
+ </parameter>
+ <parameter name="identity_file" unique="0" required="0">
+ <getopt mixed="-k, --identity-file=[filename]" />
+ <content type="string" />
+ <shortdesc lang="en">Identity file for ssh</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ </parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
<content type="boolean" />
@@ -38,49 +41,46 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="identity_file" unique="0" required="0">
- <getopt mixed="-k, --identity-file=[filename]" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="22" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Identity file for ssh</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="hmc_version" unique="0" required="0">
- <getopt mixed="-H, --hmc-version=[version]" />
- <content type="select" default="4" >
- <option value="3" />
- <option value="4" />
- </content>
- <shortdesc lang="en">Force HMC version to use (3 or 4)</shortdesc>
+ <parameter name="managed" unique="0" required="0">
+ <getopt mixed="-s, --managed=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Managed system name</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
<content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ </parameter>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" default="1" />
+ <shortdesc lang="en">SSH connection</shortdesc>
</parameter>
<parameter name="ssh_options" unique="0" required="0">
<getopt mixed="--ssh-options=[options]" />
<content type="string" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -106,10 +106,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -121,10 +121,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_netio.xml b/tests/data/metadata/fence_netio.xml
index f47238c..a20d532 100644
--- a/tests/data/metadata/fence_netio.xml
+++ b/tests/data/metadata/fence_netio.xml
@@ -3,51 +3,51 @@
<longdesc>fence_netio is an I/O Fencing agent which can be used with the Koukaam NETIO-230B Power Distribution Unit. It logs into device via telnet and reboots a specified outlet. Lengthy telnet connections should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
<vendor-url>http://www.koukaam.se/</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="1234" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
<parameter name="ipaddr" unique="0" required="1">
<getopt mixed="-a, --ip=[ip]" />
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="1234" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
<parameter name="login" unique="0" required="1">
<getopt mixed="-l, --username=[name]" />
<content type="string" />
<shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -73,10 +73,15 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="shell_timeout" unique="0" required="0">
- <getopt mixed="--shell-timeout=[seconds]" />
- <content type="string" default="3" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="login_timeout" unique="0" required="0">
+ <getopt mixed="--login-timeout=[seconds]" />
+ <content type="string" default="5" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
<parameter name="power_timeout" unique="0" required="0">
<getopt mixed="--power-timeout=[seconds]" />
@@ -88,15 +93,10 @@
<content type="string" default="0" />
<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="login_timeout" unique="0" required="0">
- <getopt mixed="--login-timeout=[seconds]" />
- <content type="string" default="5" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
+ <parameter name="shell_timeout" unique="0" required="0">
+ <getopt mixed="--shell-timeout=[seconds]" />
+ <content type="string" default="3" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
diff --git a/tests/data/metadata/fence_ovh.xml b/tests/data/metadata/fence_ovh.xml
index 7e2d83d..14a2b20 100644
--- a/tests/data/metadata/fence_ovh.xml
+++ b/tests/data/metadata/fence_ovh.xml
@@ -3,31 +3,31 @@
<longdesc>fence_ovh is an Power Fencing agent which can be used within OVH datecentre. Poweroff is simulated with a reboot into rescue-pro mode.</longdesc>
<vendor-url>http://www.ovh.net</vendor-url>
<parameters>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="email" unique="0" required="1">
- <getopt mixed="-Z, --email=[email]" />
- <content type="string" />
- <shortdesc lang="en">Reboot email</shortdesc>
- </parameter>
<parameter name="action" unique="0" required="1">
<getopt mixed="-o, --action=[action]" />
<content type="string" default="reboot" />
<shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="email" unique="0" required="1">
+ <getopt mixed="-Z, --email=[email]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Reboot email</shortdesc>
</parameter>
<parameter name="login" unique="0" required="1">
<getopt mixed="-l, --username=[name]" />
<content type="string" />
<shortdesc lang="en">Login Name</shortdesc>
</parameter>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
+ </parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
<parameter name="port" unique="0" required="1">
<getopt mixed="-n, --plug=[id]" />
<content type="string" />
@@ -58,21 +58,6 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="shell_timeout" unique="0" required="0">
- <getopt mixed="--shell-timeout=[seconds]" />
- <content type="string" default="3" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
- </parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
- </parameter>
- <parameter name="power_timeout" unique="0" required="0">
- <getopt mixed="--power-timeout=[seconds]" />
- <content type="string" default="20" />
- <shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
- </parameter>
<parameter name="delay" unique="0" required="0">
<getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
@@ -83,6 +68,21 @@
<content type="string" default="5" />
<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
+ <parameter name="power_timeout" unique="0" required="0">
+ <getopt mixed="--power-timeout=[seconds]" />
+ <content type="string" default="20" />
+ <shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
+ </parameter>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ </parameter>
+ <parameter name="shell_timeout" unique="0" required="0">
+ <getopt mixed="--shell-timeout=[seconds]" />
+ <content type="string" default="3" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
+ </parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
<content type="string" default="1" />
diff --git a/tests/data/metadata/fence_pve.xml b/tests/data/metadata/fence_pve.xml
index 86c3cd7..6d5d7e2 100644
--- a/tests/data/metadata/fence_pve.xml
+++ b/tests/data/metadata/fence_pve.xml
@@ -3,15 +3,15 @@
<longdesc>The fence_pve agent can be used to fence virtual machines acting as nodes in a virtualized cluster.</longdesc>
<vendor-url>http://www.proxmox.com/</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="8006" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Id of the virtual machine.</shortdesc>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -23,30 +23,30 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname of a node within the Proxmox cluster.</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="8006" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
- <content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" default="root@pam" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" default="root@pam" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Id of the virtual machine.</shortdesc>
</parameter>
<parameter name="node_name" unique="0" required="0">
<getopt mixed="-N, --nodename" />
@@ -78,10 +78,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -93,10 +93,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_raritan.xml b/tests/data/metadata/fence_raritan.xml
index e970b99..f349f5d 100644
--- a/tests/data/metadata/fence_raritan.xml
+++ b/tests/data/metadata/fence_raritan.xml
@@ -3,51 +3,51 @@
<longdesc>fence_raritan is an I/O Fencing agent which can be used with the Raritan DPXS12-20 Power Distribution Unit. It logs into device via telnet and reboots a specified outlet. Lengthy telnet connections should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
<vendor-url>http://www.raritan.com/</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
<parameter name="ipaddr" unique="0" required="1">
<getopt mixed="-a, --ip=[ip]" />
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
<parameter name="login" unique="0" required="1">
<getopt mixed="-l, --username=[name]" />
<content type="string" />
<shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -73,10 +73,15 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="shell_timeout" unique="0" required="0">
- <getopt mixed="--shell-timeout=[seconds]" />
- <content type="string" default="3" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ </parameter>
+ <parameter name="login_timeout" unique="0" required="0">
+ <getopt mixed="--login-timeout=[seconds]" />
+ <content type="string" default="5" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
</parameter>
<parameter name="power_timeout" unique="0" required="0">
<getopt mixed="--power-timeout=[seconds]" />
@@ -88,15 +93,10 @@
<content type="string" default="0" />
<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
- </parameter>
- <parameter name="login_timeout" unique="0" required="0">
- <getopt mixed="--login-timeout=[seconds]" />
- <content type="string" default="5" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
+ <parameter name="shell_timeout" unique="0" required="0">
+ <getopt mixed="--shell-timeout=[seconds]" />
+ <content type="string" default="3" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
diff --git a/tests/data/metadata/fence_rhevm.xml b/tests/data/metadata/fence_rhevm.xml
index 0db2e17..bcd6338 100644
--- a/tests/data/metadata/fence_rhevm.xml
+++ b/tests/data/metadata/fence_rhevm.xml
@@ -3,25 +3,15 @@
<longdesc>fence_rhevm is an I/O Fencing agent which can be used with RHEV-M REST API to fence virtual machines.</longdesc>
<vendor-url>http://www.redhat.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="80" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="notls" unique="0" required="0">
- <getopt mixed="-t, --notls" />
- <content type="boolean" />
- <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
- <parameter name="ssl_secure" unique="0" required="0">
- <getopt mixed="--ssl-secure" />
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
<content type="boolean" />
- <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -33,45 +23,55 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="80" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
+ </parameter>
+ <parameter name="notls" unique="0" required="0">
+ <getopt mixed="-t, --notls" />
<content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ </parameter>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
<content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="ssl" unique="0" required="0">
<getopt mixed="-z, --ssl" />
<content type="boolean" />
<shortdesc lang="en">SSL connection</shortdesc>
</parameter>
- <parameter name="use_cookies" unique="0" required="0">
- <getopt mixed="--use-cookies" />
- <content type="boolean" />
- <shortdesc lang="en">Reuse cookies for authentication</shortdesc>
- </parameter>
<parameter name="ssl_insecure" unique="0" required="0">
<getopt mixed="--ssl-insecure" />
<content type="boolean" />
<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="ssl_secure" unique="0" required="0">
+ <getopt mixed="--ssl-secure" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="use_cookies" unique="0" required="0">
+ <getopt mixed="--use-cookies" />
+ <content type="boolean" />
+ <shortdesc lang="en">Reuse cookies for authentication</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -98,10 +98,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
- <content type="string" default="1" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -113,10 +113,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
+ <content type="string" default="1" />
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_rsa.xml b/tests/data/metadata/fence_rsa.xml
index 749b21d..c9c889e 100644
--- a/tests/data/metadata/fence_rsa.xml
+++ b/tests/data/metadata/fence_rsa.xml
@@ -3,31 +3,16 @@
<longdesc>fence_rsa is an I/O Fencing agent which can be used with the IBM RSA II management interface. It logs into an RSA II device via telnet and reboots the associated machine. Lengthy telnet connections to the RSA II device should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
<vendor-url>http://www.ibm.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['>']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -38,31 +23,46 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
<parameter name="ssh_options" unique="0" required="0">
<getopt mixed="--ssh-options=[options]" />
<content type="string" default="-F /dev/null" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -83,10 +83,10 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -98,10 +98,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_rsb.xml b/tests/data/metadata/fence_rsb.xml
index 56421fc..007c877 100644
--- a/tests/data/metadata/fence_rsb.xml
+++ b/tests/data/metadata/fence_rsb.xml
@@ -3,31 +3,16 @@
<longdesc>fence_rsb is an I/O Fencing agent which can be used with the Fujitsu-Siemens RSB management interface. It logs into device via telnet/ssh and reboots a specified outlet. Lengthy telnet/ssh connections should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
<vendor-url>http://www.fujitsu.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="3172" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['to quit:']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -38,30 +23,45 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="3172" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -83,10 +83,10 @@
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -98,10 +98,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_sanbox2.xml b/tests/data/metadata/fence_sanbox2.xml
index 06826b6..236d907 100644
--- a/tests/data/metadata/fence_sanbox2.xml
+++ b/tests/data/metadata/fence_sanbox2.xml
@@ -3,21 +3,21 @@
<longdesc>fence_sanbox2 is an I/O Fencing agent which can be used with QLogic SANBox2 FC switches. It logs into a SANBox2 switch via telnet and disables a specified port. Disabling the port which a machine is connected to effectively fences that machine. Lengthy telnet connections to the switch should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
<vendor-url>http://www.qlogic.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="off" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="[' #> ']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ </parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
<content type="boolean" />
@@ -28,30 +28,30 @@
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="off" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -78,10 +78,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -93,10 +93,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_scsi.xml b/tests/data/metadata/fence_scsi.xml
index ba80e8c..590f4aa 100644
--- a/tests/data/metadata/fence_scsi.xml
+++ b/tests/data/metadata/fence_scsi.xml
@@ -4,30 +4,30 @@
The fence_scsi agent works by having each node in the cluster register a unique key with the SCSI devive(s). Once registered, a single node will become the reservation holder by creating a "write exclusive, registrants only" reservation on the device(s). The result is that only registered nodes may write to the device(s). When a node failure occurs, the fence_scsi agent will remove the key belonging to the failed node from the device(s). The failed node will no longer be able to write to the device(s). A manual reboot is required.</longdesc>
<vendor-url></vendor-url>
<parameters>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="off" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
+ </parameter>
<parameter name="aptpl" unique="0" required="0">
<getopt mixed="-a, --aptpl" />
<content type="boolean" />
<shortdesc lang="en">Use the APTPL flag for registrations. This option is only used for the 'on' action.</shortdesc>
</parameter>
- <parameter name="nodename" unique="0" required="0">
- <getopt mixed="-n, --nodename=[nodename]" />
+ <parameter name="devices" unique="0" required="0">
+ <getopt mixed="-d, --devices=[devices]" />
<content type="string" />
- <shortdesc lang="en">Name of the node to be fenced. The node name is used to generate the key value used for the current operation. This option will be ignored when used with the -k option.</shortdesc>
- </parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="off" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <shortdesc lang="en">List of devices to use for current operation. Devices can be comma-separated list of raw device (eg. /dev/sdc) or device-mapper multipath devices (eg. /dev/dm-3). Each device must support SCSI-3 persistent reservations.</shortdesc>
</parameter>
<parameter name="key" unique="0" required="0">
<getopt mixed="-k, --key=[key]" />
<content type="string" />
<shortdesc lang="en">Key to use for the current operation. This key should be unique to a node. For the "on" action, the key specifies the key use to register the local node. For the "off" action, this key specifies the key to be removed from the device(s).</shortdesc>
</parameter>
- <parameter name="devices" unique="0" required="0">
- <getopt mixed="-d, --devices=[devices]" />
+ <parameter name="nodename" unique="0" required="0">
+ <getopt mixed="-n, --nodename=[nodename]" />
<content type="string" />
- <shortdesc lang="en">List of devices to use for current operation. Devices can be comma-separated list of raw device (eg. /dev/sdc) or device-mapper multipath devices (eg. /dev/dm-3). Each device must support SCSI-3 persistent reservations.</shortdesc>
+ <shortdesc lang="en">Name of the node to be fenced. The node name is used to generate the key value used for the current operation. This option will be ignored when used with the -k option.</shortdesc>
</parameter>
<parameter name="logfile" unique="0" required="0">
<getopt mixed="-a, --logfile" />
@@ -54,15 +54,15 @@ The fence_scsi agent works by having each node in the cluster register a unique
<content type="boolean" />
<shortdesc lang="en">Display help and exit</shortdesc>
</parameter>
- <parameter name="vgs_path" unique="0" required="0">
- <getopt mixed="--vgs-path=[path]" />
- <content type="string" default="/usr/sbin/vgs" />
- <shortdesc lang="en">Path to vgs binary</shortdesc>
+ <parameter name="corosync-cmap_path" unique="0" required="0">
+ <getopt mixed="--corosync-cmap-path=[path]" />
+ <content type="string" default="/usr/sbin/corosync-cmapctl" />
+ <shortdesc lang="en">Path to corosync-cmapctl binary</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -74,30 +74,30 @@ The fence_scsi agent works by having each node in the cluster register a unique
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="sg_persist_path" unique="0" required="0">
<getopt mixed="--sg_persist-path=[path]" />
<content type="string" default="/usr/bin/sg_persist" />
<shortdesc lang="en">Path to sg_persist binary</shortdesc>
</parameter>
- <parameter name="shell_timeout" unique="0" required="0">
- <getopt mixed="--shell-timeout=[seconds]" />
- <content type="string" default="3" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
- </parameter>
<parameter name="sg_turs_path" unique="0" required="0">
<getopt mixed="--sg_turs-path=[path]" />
<content type="string" default="/usr/bin/sg_turs" />
<shortdesc lang="en">Path to sg_turs binary</shortdesc>
</parameter>
- <parameter name="corosync-cmap_path" unique="0" required="0">
- <getopt mixed="--corosync-cmap-path=[path]" />
- <content type="string" default="/usr/sbin/corosync-cmapctl" />
- <shortdesc lang="en">Path to corosync-cmapctl binary</shortdesc>
+ <parameter name="shell_timeout" unique="0" required="0">
+ <getopt mixed="--shell-timeout=[seconds]" />
+ <content type="string" default="3" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
+ </parameter>
+ <parameter name="vgs_path" unique="0" required="0">
+ <getopt mixed="--vgs-path=[path]" />
+ <content type="string" default="/usr/sbin/vgs" />
+ <shortdesc lang="en">Path to vgs binary</shortdesc>
</parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
diff --git a/tests/data/metadata/fence_virsh.xml b/tests/data/metadata/fence_virsh.xml
index 5febd77..831f6ed 100644
--- a/tests/data/metadata/fence_virsh.xml
+++ b/tests/data/metadata/fence_virsh.xml
@@ -5,36 +5,16 @@
By default, virsh needs root account to do properly work. So you must allow ssh login in your sshd_config.</longdesc>
<vendor-url>http://libvirt.org</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="22" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" default="1" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['\\[EXPECT\\]#\\ ']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -45,31 +25,51 @@ By default, virsh needs root account to do properly work. So you must allow ssh
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="22" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
+ <content type="string" />
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
+ </parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ </parameter>
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" default="1" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
<parameter name="ssh_options" unique="0" required="0">
<getopt mixed="--ssh-options=[options]" />
<content type="string" default="-t '/bin/bash -c "PS1=\[EXPECT\]#\ /bin/bash --noprofile --norc"'" />
<shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
- </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -95,10 +95,10 @@ By default, virsh needs root account to do properly work. So you must allow ssh
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -110,10 +110,10 @@ By default, virsh needs root account to do properly work. So you must allow ssh
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_vmware_soap.xml b/tests/data/metadata/fence_vmware_soap.xml
index d0a465f..861a75d 100644
--- a/tests/data/metadata/fence_vmware_soap.xml
+++ b/tests/data/metadata/fence_vmware_soap.xml
@@ -5,25 +5,15 @@
Name of virtual machine (-n / port) has to be used in inventory path format (e.g. /datacenter/vm/Discovered virtual machine/myMachine). In the cases when name of yours VM is unique you can use it instead. Alternatively you can always use UUID to access virtual machine.</longdesc>
<vendor-url>http://www.vmware.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="80" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="notls" unique="0" required="0">
- <getopt mixed="-t, --notls" />
- <content type="boolean" />
- <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
- <parameter name="ssl_secure" unique="0" required="0">
- <getopt mixed="--ssl-secure" />
+ <parameter name="inet4_only" unique="0" required="0">
+ <getopt mixed="-4, --inet4-only" />
<content type="boolean" />
- <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
<parameter name="inet6_only" unique="0" required="0">
<getopt mixed="-6, --inet6-only" />
@@ -35,20 +25,35 @@ Name of virtual machine (-n / port) has to be used in inventory path format (e.g
<content type="string" />
<shortdesc lang="en">IP Address or Hostname</shortdesc>
</parameter>
- <parameter name="inet4_only" unique="0" required="0">
- <getopt mixed="-4, --inet4-only" />
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="80" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="1">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
+ </parameter>
+ <parameter name="notls" unique="0" required="0">
+ <getopt mixed="-t, --notls" />
<content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
+ <shortdesc lang="en">Disable TLS negotiation</shortdesc>
+ </parameter>
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
+ <content type="string" />
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
<content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
<parameter name="ssl" unique="0" required="0">
<getopt mixed="-z, --ssl" />
@@ -60,15 +65,10 @@ Name of virtual machine (-n / port) has to be used in inventory path format (e.g
<content type="boolean" />
<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
- </parameter>
- <parameter name="login" unique="0" required="1">
- <getopt mixed="-l, --username=[name]" />
- <content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <parameter name="ssl_secure" unique="0" required="0">
+ <getopt mixed="--ssl-secure" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -95,10 +95,10 @@ Name of virtual machine (-n / port) has to be used in inventory path format (e.g
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -110,10 +110,10 @@ Name of virtual machine (-n / port) has to be used in inventory path format (e.g
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_wti.xml b/tests/data/metadata/fence_wti.xml
index c7cb9d1..251c7de 100644
--- a/tests/data/metadata/fence_wti.xml
+++ b/tests/data/metadata/fence_wti.xml
@@ -3,36 +3,16 @@
<longdesc>fence_wti is an I/O Fencing agent which can be used with the WTI Network Power Switch (NPS). It logs into an NPS via telnet or ssh and boots a specified plug. Lengthy telnet connections to the NPS should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
<vendor-url>http://www.wti.com</vendor-url>
<parameters>
- <parameter name="ipport" unique="0" required="0">
- <getopt mixed="-u, --ipport=[port]" />
- <content type="string" default="23" />
- <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
- </parameter>
- <parameter name="ipaddr" unique="0" required="1">
- <getopt mixed="-a, --ip=[ip]" />
- <content type="string" />
- <shortdesc lang="en">IP Address or Hostname</shortdesc>
- </parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
- <content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
- </parameter>
- <parameter name="secure" unique="0" required="0">
- <getopt mixed="-x, --ssh" />
- <content type="boolean" />
- <shortdesc lang="en">SSH connection</shortdesc>
+ <parameter name="action" unique="0" required="1">
+ <getopt mixed="-o, --action=[action]" />
+ <content type="string" default="reboot" />
+ <shortdesc lang="en">Fencing Action</shortdesc>
</parameter>
<parameter name="cmd_prompt" unique="0" required="0">
<getopt mixed="-c, --command-prompt=[prompt]" />
<content type="string" default="['RSM>', 'MPC>', 'IPS>', 'TPS>', 'NBB>', 'NPS>', 'VMR>']" />
<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
</parameter>
- <parameter name="inet6_only" unique="0" required="0">
- <getopt mixed="-6, --inet6-only" />
- <content type="boolean" />
- <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
- </parameter>
<parameter name="identity_file" unique="0" required="0">
<getopt mixed="-k, --identity-file=[filename]" />
<content type="string" />
@@ -43,30 +23,50 @@
<content type="boolean" />
<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
</parameter>
- <parameter name="passwd_script" unique="0" required="0">
- <getopt mixed="-S, --password-script=[script]" />
+ <parameter name="inet6_only" unique="0" required="0">
+ <getopt mixed="-6, --inet6-only" />
+ <content type="boolean" />
+ <shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
+ </parameter>
+ <parameter name="ipaddr" unique="0" required="1">
+ <getopt mixed="-a, --ip=[ip]" />
<content type="string" />
- <shortdesc lang="en">Script to retrieve password</shortdesc>
+ <shortdesc lang="en">IP Address or Hostname</shortdesc>
+ </parameter>
+ <parameter name="ipport" unique="0" required="0">
+ <getopt mixed="-u, --ipport=[port]" />
+ <content type="string" default="23" />
+ <shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
+ </parameter>
+ <parameter name="login" unique="0" required="0">
+ <getopt mixed="-l, --username=[name]" />
+ <content type="string" />
+ <shortdesc lang="en">Login Name</shortdesc>
</parameter>
<parameter name="passwd" unique="0" required="0">
<getopt mixed="-p, --password=[password]" />
<content type="string" />
<shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
- <parameter name="ssh_options" unique="0" required="0">
- <getopt mixed="--ssh-options=[options]" />
+ <parameter name="passwd_script" unique="0" required="0">
+ <getopt mixed="-S, --password-script=[script]" />
<content type="string" />
- <shortdesc lang="en">SSH options to use</shortdesc>
+ <shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
- <parameter name="action" unique="0" required="1">
- <getopt mixed="-o, --action=[action]" />
- <content type="string" default="reboot" />
- <shortdesc lang="en">Fencing Action</shortdesc>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
</parameter>
- <parameter name="login" unique="0" required="0">
- <getopt mixed="-l, --username=[name]" />
+ <parameter name="secure" unique="0" required="0">
+ <getopt mixed="-x, --ssh" />
+ <content type="boolean" />
+ <shortdesc lang="en">SSH connection</shortdesc>
+ </parameter>
+ <parameter name="ssh_options" unique="0" required="0">
+ <getopt mixed="--ssh-options=[options]" />
<content type="string" />
- <shortdesc lang="en">Login Name</shortdesc>
+ <shortdesc lang="en">SSH options to use</shortdesc>
</parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
@@ -93,10 +93,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="power_wait" unique="0" required="0">
- <getopt mixed="--power-wait=[seconds]" />
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -108,10 +108,10 @@
<content type="string" default="20" />
<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
+ <parameter name="power_wait" unique="0" required="0">
+ <getopt mixed="--power-wait=[seconds]" />
<content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
<parameter name="shell_timeout" unique="0" required="0">
<getopt mixed="--shell-timeout=[seconds]" />
diff --git a/tests/data/metadata/fence_xenapi.xml b/tests/data/metadata/fence_xenapi.xml
index 470d215..3454f10 100644
--- a/tests/data/metadata/fence_xenapi.xml
+++ b/tests/data/metadata/fence_xenapi.xml
@@ -3,16 +3,6 @@
<longdesc>fence_cxs is an I/O Fencing agent used on Citrix XenServer hosts. It uses the XenAPI, supplied by Citrix, to establish an XML-RPC sesssion to a XenServer host. Once the session is established, further XML-RPC commands are issued in order to switch on, switch off, restart and query the status of virtual machines running on the host.</longdesc>
<vendor-url>http://www.xenproject.org</vendor-url>
<parameters>
- <parameter name="passwd" unique="0" required="0">
- <getopt mixed="-p, --password=[password]" />
- <content type="string" />
- <shortdesc lang="en">Login password or passphrase</shortdesc>
- </parameter>
- <parameter name="session_url" unique="0" required="1">
- <getopt mixed="-s, --session-url" />
- <content type="string" />
- <shortdesc lang="en">The URL of the XenServer host.</shortdesc>
- </parameter>
<parameter name="action" unique="0" required="1">
<getopt mixed="-o, --action=[action]" />
<content type="string" default="reboot" />
@@ -23,16 +13,26 @@
<content type="string" />
<shortdesc lang="en">Login Name</shortdesc>
</parameter>
- <parameter name="port" unique="0" required="1">
- <getopt mixed="-n, --plug=[id]" />
+ <parameter name="passwd" unique="0" required="0">
+ <getopt mixed="-p, --password=[password]" />
<content type="string" />
- <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ <shortdesc lang="en">Login password or passphrase</shortdesc>
</parameter>
<parameter name="passwd_script" unique="0" required="0">
<getopt mixed="-S, --password-script=[script]" />
<content type="string" />
<shortdesc lang="en">Script to retrieve password</shortdesc>
</parameter>
+ <parameter name="port" unique="0" required="1">
+ <getopt mixed="-n, --plug=[id]" />
+ <content type="string" />
+ <shortdesc lang="en">Physical plug number, name of virtual machine or UUID</shortdesc>
+ </parameter>
+ <parameter name="session_url" unique="0" required="1">
+ <getopt mixed="-s, --session-url" />
+ <content type="string" />
+ <shortdesc lang="en">The URL of the XenServer host.</shortdesc>
+ </parameter>
<parameter name="verbose" unique="0" required="0">
<getopt mixed="-v, --verbose" />
<content type="boolean" />
@@ -58,10 +58,10 @@
<content type="string" default="," />
<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
</parameter>
- <parameter name="shell_timeout" unique="0" required="0">
- <getopt mixed="--shell-timeout=[seconds]" />
- <content type="string" default="3" />
- <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
+ <parameter name="delay" unique="0" required="0">
+ <getopt mixed="--delay=[seconds]" />
+ <content type="string" default="0" />
+ <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
</parameter>
<parameter name="login_timeout" unique="0" required="0">
<getopt mixed="--login-timeout=[seconds]" />
@@ -78,10 +78,10 @@
<content type="string" default="0" />
<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
</parameter>
- <parameter name="delay" unique="0" required="0">
- <getopt mixed="--delay=[seconds]" />
- <content type="string" default="0" />
- <shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
+ <parameter name="shell_timeout" unique="0" required="0">
+ <getopt mixed="--shell-timeout=[seconds]" />
+ <content type="string" default="3" />
+ <shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
</parameter>
<parameter name="retry_on" unique="0" required="0">
<getopt mixed="--retry-on=[attempts]" />
9 years, 7 months
dlm: master - dlm_tool: print lkb owner pid
by David Teigland
Gitweb: http://git.fedorahosted.org/git/?p=dlm.git;a=commitdiff;h=34253e1a45d7f1b...
Commit: 34253e1a45d7f1b1bd91de30d32bb13d34cd2464
Parent: 54a5a6b7137c9f6e969bde8f0245a5bc3465536c
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Wed Nov 5 09:05:47 2014 -0600
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Wed Nov 5 09:05:47 2014 -0600
dlm_tool: print lkb owner pid
Displayed in verbose output mode.
Signed-off-by: David Teigland <teigland(a)redhat.com>
---
dlm_tool/main.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlm_tool/main.c b/dlm_tool/main.c
index 7ce9395..042caa9 100644
--- a/dlm_tool/main.c
+++ b/dlm_tool/main.c
@@ -659,10 +659,10 @@ static char *pr_verbose(struct lkb *lkb)
memset(buf, 0, sizeof(buf));
- sprintf(buf, "time %016llu flags %08x %08x bast %d %llu",
+ sprintf(buf, "time %016llu flags %08x %08x bast %d %llu pid %d",
(unsigned long long)lkb->timestamp,
lkb->exflags, lkb->flags, lkb->highbast,
- (unsigned long long)lkb->time_bast);
+ (unsigned long long)lkb->time_bast, lkb->ownpid);
return buf;
}
9 years, 7 months
gfs2-utils: master - gfs2-utils configure: Use AC_HELP_STRING in help messages
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=a3647dea...
Commit: a3647dea1dedb9b4ecf9d7b6de24d990d7f7d915
Parent: 05cec12283b7652144a57460166a8147cf3e5144
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Sat Nov 1 14:20:22 2014 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Sat Nov 1 14:20:22 2014 +0000
gfs2-utils configure: Use AC_HELP_STRING in help messages
This makes it easier to keep text alignment in ./configure --help. Also
re-word an error message.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
configure.ac | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index e70409c..2341730 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,7 +49,7 @@ esac
# check stolen from gnulib/m4/gnu-make.m4
if ! ${MAKE-make} --version /cannot/make/this >/dev/null 2>&1; then
- AC_MSG_ERROR([you don't seem to have GNU make; it is required])
+ AC_MSG_ERROR([GNU make was not found but is required.])
fi
AC_PROG_CC
@@ -87,11 +87,11 @@ check_lib_no_libs() {
# local options
AC_ARG_ENABLE([debug],
- [ --enable-debug enable debug build. ],
- [ default="no" ])
+ AC_HELP_STRING([--enable-debug],[enable debug build [default=no]]),
+ [default="no"])
AC_ARG_ENABLE([gcov],
- [ --enable-gcov enable coverage instrumentation.],
- [ default="no" ])
+ AC_HELP_STRING([--enable-gcov],[enable coverage instrumentation [default=no]]),
+ [default="no"])
# We use the Check framework for unit tests
PKG_CHECK_MODULES([check], [check >= 0.9.8],
9 years, 7 months
gfs2-utils: master - gfs2-utils: Honour --sbindir
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=05cec122...
Commit: 05cec12283b7652144a57460166a8147cf3e5144
Parent: 1be9a5c934cb239e3374d093c3ff0ad9857945aa
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Sat Nov 1 13:48:53 2014 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Sat Nov 1 13:53:36 2014 +0000
gfs2-utils: Honour --sbindir
If the user specifies --sbindir=foo then we should honour it.
fsck/Makefile.am and scripts/Makefile.am were the only remaining
directories with this shell snippet.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/fsck/Makefile.am | 8 --------
gfs2/scripts/Makefile.am | 9 ---------
2 files changed, 0 insertions(+), 17 deletions(-)
diff --git a/gfs2/fsck/Makefile.am b/gfs2/fsck/Makefile.am
index 92d56f3..b34833b 100644
--- a/gfs2/fsck/Makefile.am
+++ b/gfs2/fsck/Makefile.am
@@ -1,13 +1,5 @@
MAINTAINERCLEANFILES = Makefile.in
-# When an exec_prefix setting would have us install into /usr/sbin,
-# use /sbin instead.
-# Accept an existing sbindir value of /usr/sbin (probably for older automake),
-# or an empty value, for automake-1.11 and newer.
-sbindir := $(shell rpl=0; test '$(exec_prefix):$(sbindir)' = /usr:/usr/sbin \
- || test '$(exec_prefix):$(sbindir)' = /usr: && rpl=1; \
- test $$rpl = 1 && echo /sbin || echo '$(exec_prefix)/sbin')
-
sbin_PROGRAMS = fsck.gfs2
noinst_HEADERS = fsck.h fs_recovery.h \
diff --git a/gfs2/scripts/Makefile.am b/gfs2/scripts/Makefile.am
index 2c51222..1c98f95 100644
--- a/gfs2/scripts/Makefile.am
+++ b/gfs2/scripts/Makefile.am
@@ -1,12 +1,3 @@
MAINTAINERCLEANFILES = Makefile.in
-# When an exec_prefix setting would have us install into /usr/sbin,
-# use /sbin instead.
-# Accept an existing sbindir value of /usr/sbin (probably for older automake),
-# or an empty value, for automake-1.11 and newer.
-sbindir := $(shell rpl=0; test '$(exec_prefix):$(sbindir)' = /usr:/usr/sbin \
- || test '$(exec_prefix):$(sbindir)' = /usr: && rpl=1; \
- test $$rpl = 1 && echo /sbin || echo '$(exec_prefix)/sbin')
-
-
dist_sbin_SCRIPTS = gfs2_lockcapture gfs2_trace
9 years, 7 months
gfs2-utils: master - Build gfs2_grow, gfs2_jadd and mkfs.gfs2 separately
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=1be9a5c9...
Commit: 1be9a5c934cb239e3374d093c3ff0ad9857945aa
Parent: db04fb6e6a9825dc4ea45d8fd4bd1a8741881c23
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Sat Nov 1 13:22:43 2014 +0000
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Sat Nov 1 13:22:43 2014 +0000
Build gfs2_grow, gfs2_jadd and mkfs.gfs2 separately
Previously gfs2_jadd and gfs2_grow were just symlinks to mkfs.gfs2
created on installation, and mkfs.gfs2's main() function called the
appropriate main_* function depending on argv[0]. This had many
drawbacks:
- The lack of separate binaries complicated build testing and manual
linking was needed
- A perl snippet was needed to find the relative path to the mkfs.gfs2
binary on installation, making gfs2-utils build-dependent on perl
- This approach actually required more lines of code as the amount of
shared code was minimal
- It meant copying mkfs.gfs2 to, say, mkfs.gfs2.old caused it to die
with "Unknown mode"
This patch removes mkfs/main.c and gives each tool its own main(),
adding back locale setup code and #includes where needed. It also
removes the perl dependency and gives each tool its build target. The
above drawbacks are now solved, with the only overhead being a slightly
increased installed size. The tools can easily share more code in
future, but sharing main() is not the right way to do that.
Some code has been removed from Makefile.am in order to honour the
configure script's --sbindir option. An obsolete mkfs/README is also
removed.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
.gitignore | 2 +
gfs2/mkfs/Makefile.am | 53 +++++++++++++++++++---------------------------
gfs2/mkfs/README | 25 ---------------------
gfs2/mkfs/gfs2_mkfs.h | 11 +++++++++
gfs2/mkfs/main.c | 56 -------------------------------------------------
gfs2/mkfs/main_grow.c | 9 ++++++-
gfs2/mkfs/main_jadd.c | 9 +++++++-
gfs2/mkfs/main_mkfs.c | 22 +++++++------------
po/POTFILES.in | 1 -
9 files changed, 58 insertions(+), 130 deletions(-)
diff --git a/.gitignore b/.gitignore
index 4ffdb71..60ea971 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,6 +40,8 @@ gfs2/libgfs2/lexer.c
gfs2/libgfs2/lexer.h
gfs2/fsck/fsck.gfs2
gfs2/mkfs/mkfs.gfs2
+gfs2/mkfs/gfs2_grow
+gfs2/mkfs/gfs2_jadd
gfs2/tune/tunegfs2
test-driver
tests/check_meta
diff --git a/gfs2/mkfs/Makefile.am b/gfs2/mkfs/Makefile.am
index 6ed89fa..822b41e 100644
--- a/gfs2/mkfs/Makefile.am
+++ b/gfs2/mkfs/Makefile.am
@@ -1,38 +1,29 @@
-MAINTAINERCLEANFILES = Makefile.in
+MAINTAINERCLEANFILES = Makefile.in
-# When an exec_prefix setting would have us install into /usr/sbin,
-# use /sbin instead.
-# Accept an existing sbindir value of /usr/sbin (probably for older automake),
-# or an empty value, for automake-1.11 and newer.
-sbindir := $(shell rpl=0; test '$(exec_prefix):$(sbindir)' = /usr:/usr/sbin \
- || test '$(exec_prefix):$(sbindir)' = /usr: && rpl=1; \
- test $$rpl = 1 && echo /sbin || echo '$(exec_prefix)/sbin')
+COMMON_CPPFLAGS = \
+ -D_FILE_OFFSET_BITS=64 \
+ -D_LARGEFILE64_SOURCE \
+ -D_GNU_SOURCE \
+ -I$(top_srcdir)/gfs2/include \
+ -I$(top_srcdir)/gfs2/libgfs2
+sbin_PROGRAMS = mkfs.gfs2 gfs2_jadd gfs2_grow
-sbin_PROGRAMS = mkfs.gfs2
+noinst_HEADERS = gfs2_mkfs.h
-noinst_HEADERS = gfs2_mkfs.h
+mkfs_gfs2_SOURCES = main_mkfs.c
+mkfs_gfs2_CPPFLAGS = $(COMMON_CPPFLAGS)
+mkfs_gfs2_CFLAGS = $(blkid_CFLAGS)
+mkfs_gfs2_LDFLAGS = $(blkid_LIBS)
+mkfs_gfs2_LDADD = $(top_builddir)/gfs2/libgfs2/libgfs2.la
-mkfs_gfs2_SOURCES = main.c main_grow.c main_jadd.c main_mkfs.c
+gfs2_grow_SOURCES = main_grow.c
+gfs2_grow_CPPFLAGS = $(COMMON_CPPFLAGS)
+gfs2_grow_CFLAGS = $(blkid_CFLAGS)
+gfs2_grow_LDFLAGS = $(blkid_LIBS)
+gfs2_grow_LDADD = $(top_builddir)/gfs2/libgfs2/libgfs2.la
-mkfs_gfs2_CPPFLAGS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
- -D_GNU_SOURCE \
- -I$(top_srcdir)/gfs2/include \
- -I$(top_srcdir)/gfs2/libgfs2
+gfs2_jadd_SOURCES = main_jadd.c
+gfs2_jadd_CPPFLAGS = $(COMMON_CPPFLAGS)
+gfs2_jadd_LDADD = $(top_builddir)/gfs2/libgfs2/libgfs2.la
-mkfs_gfs2_CFLAGS = $(blkid_CFLAGS)
-mkfs_gfs2_LDFLAGS = $(blkid_LIBS)
-
-mkfs_gfs2_LDADD = $(top_builddir)/gfs2/libgfs2/libgfs2.la
-
-relative_sbin = $(shell perl -MFile::Spec -le 'print File::Spec->abs2rel("/sbin", "$(sbindir)")')
-
-install-exec-hook:
- $(INSTALL) -d $(DESTDIR)/$(sbindir)
- cd $(DESTDIR)/$(sbindir) && \
- rm -f gfs2_grow gfs2_jadd && \
- $(LN_S) $(relative_sbin)/mkfs.gfs2 gfs2_grow && \
- $(LN_S) $(relative_sbin)/mkfs.gfs2 gfs2_jadd
-
-uninstall-hook:
- cd $(DESTDIR)/$(sbindir) && rm -f gfs2_jadd gfs2_grow
diff --git a/gfs2/mkfs/README b/gfs2/mkfs/README
deleted file mode 100644
index 784df7d..0000000
--- a/gfs2/mkfs/README
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#
-# mkfs for GFS2 filesystem
-#
-
-To install:
-
- 1. Edit the Makefile to point at your local copy of the kernel source
-with GFS2 included in it, for my set up that means:
-
-INCLUDEPATH=-I/home/steve/linux-2.6/include/
-
- 2. make
- 3. make install
-
-
-You can then use it just like other mkfs programs (for example):
-
-/sbin/mkfs -t gfs2 -j 1 -p lock_nolock /dev/sdb1
-
-This will create a filesystem with one journal (i.e. mountable by a
-maximum of one node at a time) with the nolock module (single node
-use only) on /dev/sdb1. Running mkfs -f gfs2 -h will produce help
-information.
-
diff --git a/gfs2/mkfs/gfs2_mkfs.h b/gfs2/mkfs/gfs2_mkfs.h
index 3c63858..377c14b 100644
--- a/gfs2/mkfs/gfs2_mkfs.h
+++ b/gfs2/mkfs/gfs2_mkfs.h
@@ -29,6 +29,17 @@ void die(const char *fmt, ...)
exit(-1);
}
+/* This function is for libgfs2's sake. */
+void print_it(const char *label, const char *fmt, const char *fmt2, ...)
+{
+ va_list args;
+
+ va_start(args, fmt2);
+ printf("%s: ", label);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
/*
* The following inode IOCTL macros and inode flags
* are copied from linux/fs.h, because we have duplicate
diff --git a/gfs2/mkfs/main.c b/gfs2/mkfs/main.c
deleted file mode 100644
index c0be01e..0000000
--- a/gfs2/mkfs/main.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "clusterautoconfig.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdint.h>
-#include <inttypes.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <time.h>
-#include <errno.h>
-#include <libgen.h>
-#include <libintl.h>
-#include <locale.h>
-#define _(String) gettext(String)
-
-#include <linux/types.h>
-#include "libgfs2.h"
-#include "gfs2_mkfs.h"
-
-/**
- * main - do everything
- * @argc:
- * @argv:
- *
- * Returns: 0 on success, non-0 on failure
- */
-
-int
-main(int argc, char *argv[])
-{
- char *p, *whoami;
-
- setlocale(LC_ALL, "");
- textdomain("gfs2-utils");
-
- srandom(time(NULL) ^ getpid());
-
- p = strdup(argv[0]);
- whoami = basename(p);
-
- if (!strcmp(whoami, "gfs2_jadd"))
- main_jadd(argc, argv);
- else if (!strcmp(whoami, "gfs2_mkfs") || !strcmp(whoami, "mkfs.gfs2"))
- main_mkfs(argc, argv);
- else if (!strcmp(whoami, "gfs2_grow"))
- main_grow(argc, argv);
- else
- die( _("Unknown mode\n"));
-
- free(p);
-
- return 0;
-}
diff --git a/gfs2/mkfs/main_grow.c b/gfs2/mkfs/main_grow.c
index 33618de..3ab8e72 100644
--- a/gfs2/mkfs/main_grow.c
+++ b/gfs2/mkfs/main_grow.c
@@ -21,6 +21,7 @@
#include <linux/falloc.h>
#include <blkid.h>
#include <libintl.h>
+#include <locale.h>
#define _(String) gettext(String)
#include <logging.h>
@@ -338,13 +339,17 @@ static int open_rindex(char *metafs_path, int mode)
return fd;
}
-void main_grow(int argc, char *argv[])
+int main(int argc, char *argv[])
{
struct gfs2_sbd sbd, *sdp = &sbd;
int rindex_fd;
int error = EXIT_SUCCESS;
int devflags = (test ? O_RDONLY : O_RDWR) | O_CLOEXEC;
+ setlocale(LC_ALL, "");
+ textdomain("gfs2-utils");
+ srandom(time(NULL) ^ getpid());
+
memset(sdp, 0, sizeof(struct gfs2_sbd));
sdp->bsize = GFS2_DEFAULT_BSIZE;
sdp->rgsize = -1;
@@ -464,5 +469,5 @@ void main_grow(int argc, char *argv[])
exit(1);
}
log_notice( _("gfs2_grow complete.\n"));
- exit(error);
+ return error;
}
diff --git a/gfs2/mkfs/main_jadd.c b/gfs2/mkfs/main_jadd.c
index 6507e03..fea474a 100644
--- a/gfs2/mkfs/main_jadd.c
+++ b/gfs2/mkfs/main_jadd.c
@@ -18,6 +18,7 @@
#include <errno.h>
#include <stdarg.h>
#include <libintl.h>
+#include <locale.h>
#define _(String) gettext(String)
#include <linux/types.h>
@@ -486,13 +487,17 @@ static void add_j(struct gfs2_sbd *sdp, struct jadd_opts *opts)
}
}
-void main_jadd(int argc, char *argv[])
+int main(int argc, char *argv[])
{
struct jadd_opts opts = {0};
struct gfs2_sbd sbd, *sdp = &sbd;
struct mntent *mnt;
unsigned int total;
+ setlocale(LC_ALL, "");
+ textdomain("gfs2-utils");
+ srandom(time(NULL) ^ getpid());
+
memset(sdp, 0, sizeof(struct gfs2_sbd));
sdp->jsize = GFS2_DEFAULT_JSIZE;
sdp->qcsize = GFS2_DEFAULT_QCSIZE;
@@ -549,4 +554,6 @@ void main_jadd(int argc, char *argv[])
cleanup_metafs(sdp);
sync();
print_results(&opts);
+
+ return 0;
}
diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
index 90ad4d9..b6353dd 100644
--- a/gfs2/mkfs/main_mkfs.c
+++ b/gfs2/mkfs/main_mkfs.c
@@ -21,6 +21,7 @@
#include <sys/ioctl.h>
#include <limits.h>
#include <blkid.h>
+#include <locale.h>
#define _(String) gettext(String)
@@ -28,19 +29,6 @@
#include "libgfs2.h"
#include "gfs2_mkfs.h"
-/**
- * This function is for libgfs2's sake.
- */
-void print_it(const char *label, const char *fmt, const char *fmt2, ...)
-{
- va_list args;
-
- va_start(args, fmt2);
- printf("%s: ", label);
- vprintf(fmt, args);
- va_end(args);
-}
-
static void print_usage(const char *prog_name)
{
int i;
@@ -871,7 +859,7 @@ static void open_dev(struct mkfs_dev *dev)
exit(1);
}
-void main_mkfs(int argc, char *argv[])
+int main(int argc, char *argv[])
{
struct gfs2_sbd sbd;
struct gfs2_sb sb;
@@ -880,6 +868,10 @@ void main_mkfs(int argc, char *argv[])
int error;
unsigned bsize;
+ setlocale(LC_ALL, "");
+ textdomain("gfs2-utils");
+ srandom(time(NULL) ^ getpid());
+
opts_init(&opts);
opts_get(argc, argv, &opts);
opts_check(&opts);
@@ -1001,4 +993,6 @@ void main_mkfs(int argc, char *argv[])
if (!opts.quiet)
print_results(&sb, &opts, sbd.rgrps, sbd.fssize);
+
+ return 0;
}
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 579ff4b..0e5f57e 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,5 @@
gfs2/mkfs/main_mkfs.c
gfs2/mkfs/gfs2_mkfs.h
-gfs2/mkfs/main.c
gfs2/mkfs/main_grow.c
gfs2/mkfs/main_jadd.c
gfs2/tune/main.c
9 years, 7 months
gfs2-utils: master - libgfs2: Make find_good_lh and jhead_scan static
by Andrew Price
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=db04fb6e...
Commit: db04fb6e6a9825dc4ea45d8fd4bd1a8741881c23
Parent: cf9336713097a5ba8487921bf5b8097462798dba
Author: Andrew Price <anprice(a)redhat.com>
AuthorDate: Tue Sep 30 12:19:06 2014 +0100
Committer: Andrew Price <anprice(a)redhat.com>
CommitterDate: Mon Oct 20 15:05:57 2014 +0100
libgfs2: Make find_good_lh and jhead_scan static
These functions were only being using by libgfs2 so remove them from
libgfs2.h and make them static.
Signed-off-by: Andrew Price <anprice(a)redhat.com>
---
gfs2/libgfs2/libgfs2.h | 3 ---
gfs2/libgfs2/recovery.c | 6 ++----
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 58602c0..5bffaed 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -689,9 +689,6 @@ extern int gfs2_revoke_check(struct gfs2_sbd *sdp, uint64_t blkno,
extern void gfs2_revoke_clean(struct gfs2_sbd *sdp);
extern int get_log_header(struct gfs2_inode *ip, unsigned int blk,
struct gfs2_log_header *head);
-extern int find_good_lh(struct gfs2_inode *ip, unsigned int *blk,
- struct gfs2_log_header *head);
-extern int jhead_scan(struct gfs2_inode *ip, struct gfs2_log_header *head);
extern int gfs2_find_jhead(struct gfs2_inode *ip, struct gfs2_log_header *head);
extern int clean_journal(struct gfs2_inode *ip, struct gfs2_log_header *head);
diff --git a/gfs2/libgfs2/recovery.c b/gfs2/libgfs2/recovery.c
index 6ea828d..cad723f 100644
--- a/gfs2/libgfs2/recovery.c
+++ b/gfs2/libgfs2/recovery.c
@@ -91,9 +91,7 @@ int get_log_header(struct gfs2_inode *ip, unsigned int blk,
*
* Returns: errno
*/
-
-int find_good_lh(struct gfs2_inode *ip, unsigned int *blk,
- struct gfs2_log_header *head)
+static int find_good_lh(struct gfs2_inode *ip, unsigned int *blk, struct gfs2_log_header *head)
{
unsigned int orig_blk = *blk;
int error;
@@ -123,7 +121,7 @@ int find_good_lh(struct gfs2_inode *ip, unsigned int *blk,
* Returns: errno
*/
-int jhead_scan(struct gfs2_inode *ip, struct gfs2_log_header *head)
+static int jhead_scan(struct gfs2_inode *ip, struct gfs2_log_header *head)
{
unsigned int blk = head->lh_blkno;
uint32_t jd_blocks = ip->i_di.di_size / ip->i_sbd->sd_sb.sb_bsize;
9 years, 7 months