fence-agents: master - fencing: Introduce --gnutlscli-path --sudo-path --ssh-path and --telnet-path

Marek GrĂ¡c marx at fedoraproject.org
Thu Nov 13 16:54:27 UTC 2014


Gitweb:        http://git.fedorahosted.org/git/?p=fence-agents.git;a=commitdiff;h=7a04e60e463888fd1a6737cfbb636fbcf8de2d3a
Commit:        7a04e60e463888fd1a6737cfbb636fbcf8de2d3a
Parent:        64e259c2754c881e95c4e3ec902b26ceb0be9820
Author:        Marek 'marx' Grac <mgrac at redhat.com>
AuthorDate:    Thu Nov 13 17:51:58 2014 +0100
Committer:     Marek 'marx' Grac <mgrac at 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"/>


More information about the cluster-commits mailing list