diff --git a/SOURCES/bz1337236-fence_sbd.patch b/SOURCES/bz1337236-fence_sbd.patch
new file mode 100644
index 0000000..49acd87
--- /dev/null
+++ b/SOURCES/bz1337236-fence_sbd.patch
@@ -0,0 +1,563 @@
+diff -uNr a/configure.ac b/configure.ac
+--- a/configure.ac 2017-01-16 16:20:32.299438841 +0100
++++ b/configure.ac 2017-01-16 16:19:09.079326886 +0100
+@@ -309,6 +309,7 @@
+ fence/agents/xenapi/Makefile
+ fence/agents/hds_cb/Makefile
+ fence/agents/zvm/Makefile
++ fence/agents/sbd/Makefile
+ doc/Makefile])
+
+ AC_OUTPUT
+diff -uNr a/fence/agents/sbd/fence_sbd.py b/fence/agents/sbd/fence_sbd.py
+--- a/fence/agents/sbd/fence_sbd.py 1970-01-01 01:00:00.000000000 +0100
++++ b/fence/agents/sbd/fence_sbd.py 2017-01-16 16:22:39.273080656 +0100
+@@ -0,0 +1,422 @@
++#!/usr/bin/python -tt
++
++import sys, stat
++import logging
++import os
++import atexit
++sys.path.append("@FENCEAGENTSLIBDIR@")
++from fencing import fail_usage, run_command, fence_action, all_opt
++from fencing import atexit_handler, check_input, process_input, show_docs
++from fencing import run_delay
++
++#BEGIN_VERSION_GENERATION
++RELEASE_VERSION=""
++REDHAT_COPYRIGHT=""
++BUILD_DATE=""
++#END_VERSION_GENERATION
++
++DEVICE_INIT = 1
++DEVICE_NOT_INIT = -3
++PATH_NOT_EXISTS = -1
++PATH_NOT_BLOCK = -2
++
++def is_block_device(filename):
++ """Checks if a given path is a valid block device
++
++ Key arguments:
++ filename -- the file to check
++
++ Return codes:
++ True if it's a valid block device
++ False, otherwise
++ """
++
++ try:
++ mode = os.lstat(filename).st_mode
++ except OSError:
++ return False
++ else:
++ return stat.S_ISBLK(mode)
++
++def is_link(filename):
++ """Checks if a given path is a link.
++
++ Key arguments:
++ filename -- the file to check
++
++ Return codes:
++ True if it's a link
++ False, otherwise
++ """
++
++ try:
++ mode = os.lstat(filename).st_mode
++ except OSError:
++ return False
++ else:
++ return stat.S_ISLNK(mode)
++
++def check_sbd_device(options, device_path):
++ """checks that a given sbd device exists and is initialized
++
++ Key arguments:
++ options -- options dictionary
++ device_path -- device path to check
++
++ Return Codes:
++ 1 / DEVICE_INIT if the device exists and is initialized
++ -1 / PATH_NOT_EXISTS if the path does not exists
++ -2 / PATH_NOT_BLOCK if the path exists but is not a valid block device
++ -3 / DEVICE_NOT_INIT if the sbd device is not initialized
++ """
++
++ # First of all we need to check if the device is valid
++ if not os.path.exists(device_path):
++ return PATH_NOT_EXISTS
++
++ # We need to check if device path is a symbolic link. If so we resolve that
++ # link.
++ if is_link(device_path):
++ link_target = os.readlink(device_path)
++ device_path = os.path.join(os.path.dirname(device_path), link_target)
++
++ # As second step we make sure it's a valid block device
++ if not is_block_device(device_path):
++ return PATH_NOT_BLOCK
++
++ cmd = "%s -d %s dump" % (options["--sbd-path"], device_path)
++
++ (return_code, out, err) = run_command(options, cmd)
++
++ for line in out.split("\n"):
++ if len(line) == 0:
++ continue
++
++ # If we read "NOT dumped" something went wrong, e.g. the device is not
++ # initialized.
++ if "NOT dumped" in line:
++ return DEVICE_NOT_INIT
++
++ return DEVICE_INIT
++
++def generate_sbd_command(options, command, arguments=None):
++ """Generates a sbd command based on given arguments.
++
++ Return Value:
++ generated sbd command (string)
++ """
++ cmd = options["--sbd-path"]
++
++ # add "-d" for each sbd device
++ for device in parse_sbd_devices(options):
++ cmd += " -d %s" % device
++
++ cmd += " %s %s" % (command, arguments)
++
++ return cmd
++
++def send_sbd_message(conn, options, plug, message):
++ """Sends a message to all sbd devices.
++
++ Key arguments:
++ conn -- connection structure
++ options -- options dictionary
++ plug -- plug to sent the message to
++ message -- message to send
++
++ Return Value:
++ (return_code, out, err) Tuple containing the error code,
++ """
++
++ del conn
++
++ arguments = "%s %s" % (plug, message)
++ cmd = generate_sbd_command(options, "message", arguments)
++
++ (return_code, out, err) = run_command(options, cmd)
++
++ return (return_code, out, err)
++
++def get_msg_timeout(options):
++ """Reads the configured sbd message timeout from each device.
++
++ Key arguments:
++ options -- options dictionary
++
++ Return Value:
++ msg_timeout (integer, seconds)
++ """
++
++ # get the defined msg_timeout
++ msg_timeout = -1 # default sbd msg timeout
++
++ cmd = generate_sbd_command(options, "dump")
++
++ (return_code, out, err) = run_command(options, cmd)
++
++ for line in out.split("\n"):
++ if len(line) == 0:
++ continue
++
++ if "msgwait" in line:
++ tmp_msg_timeout = int(line.split(':')[1])
++ if -1 != msg_timeout and tmp_msg_timeout != msg_timeout:
++ logging.warn(\
++ "sbd message timeouts differ in different devices")
++ # we only save the highest timeout
++ if tmp_msg_timeout > msg_timeout:
++ msg_timeout = tmp_msg_timeout
++
++ return msg_timeout
++
++def set_power_status(conn, options):
++ """send status to sbd device (poison pill)
++
++ Key arguments:
++ conn -- connection structure
++ options -- options dictionary
++
++ Return Value:
++ return_code -- action result (bool)
++ """
++
++ target_status = options["--action"]
++ plug = options["--plug"]
++ return_code = 99
++ out = ""
++ err = ""
++
++ # Map fencing actions to sbd messages
++ if "on" == target_status:
++ (return_code, out, err) = send_sbd_message(conn, options, plug, "clear")
++ elif "off" == target_status:
++ (return_code, out, err) = send_sbd_message(conn, options, plug, "off")
++ elif "reboot" == target_status:
++ (return_code, out, err) = send_sbd_message(conn, options, plug, "reset")
++
++ if 0 != return_code:
++ logging.error("sending message to sbd device(s) \
++ failed with return code %d", return_code)
++ logging.error("DETAIL: output on stdout was \"%s\"", out)
++ logging.error("DETAIL: output on stderr was \"%s\"", err)
++
++ return not bool(return_code)
++
++def reboot_cycle(conn, options):
++ """" trigger reboot by sbd messages
++
++ Key arguments:
++ conn -- connection structure
++ options -- options dictionary
++
++ Return Value:
++ return_code -- action result (bool)
++ """
++
++ plug = options["--plug"]
++ return_code = 99
++ out = ""
++ err = ""
++
++ (return_code, out, err) = send_sbd_message(conn, options, plug, "reset")
++ return not bool(return_code)
++
++def get_power_status(conn, options):
++ """Returns the status of a specific node.
++
++ Key arguments:
++ conn -- connection structure
++ options -- option dictionary
++
++ Return Value:
++ status -- status code (string)
++ """
++
++ status = "UNKWNOWN"
++ plug = options["--plug"]
++
++ nodelist = get_node_list(conn, options)
++
++ # We need to check if the specified plug / node a already a allocated slot
++ # on the device.
++ if plug not in nodelist:
++ logging.error("node \"%s\" not found in node list", plug)
++ else:
++ status = nodelist[plug][1]
++
++
++ return status
++
++def translate_status(sbd_status):
++ """Translates the sbd status to fencing status.
++
++ Key arguments:
++ sbd_status -- status to translate (string)
++
++ Return Value:
++ status -- fencing status (string)
++ """
++
++ status = "UNKNOWN"
++
++
++ # Currently we only accept "clear" to be marked as online. Eventually we
++ # should also check against "test"
++ online_status = ["clear"]
++
++ offline_status = ["reset", "off"]
++
++ if any(online_status_element in sbd_status \
++ for online_status_element in online_status):
++ status = "on"
++
++ if any(offline_status_element in sbd_status \
++ for offline_status_element in offline_status):
++ status = "off"
++
++ return status
++
++def get_node_list(conn, options):
++ """Returns a list of hostnames, registerd on the sbd device.
++
++ Key arguments:
++ conn -- connection options
++ options -- options
++
++ Return Value:
++ nodelist -- dictionary wich contains all node names and there status
++ """
++
++ del conn
++
++ nodelist = {}
++
++ cmd = generate_sbd_command(options, "list")
++
++ (return_code, out, err) = run_command(options, cmd)
++
++ for line in out.split("\n"):
++ if len(line) == 0:
++ continue
++
++ # if we read "unreadable" something went wrong
++ if "NOT dumped" in line:
++ return nodelist
++
++ words = line.split()
++ port = words[1]
++ sbd_status = words[2]
++ nodelist[port] = (port, translate_status(sbd_status))
++
++ return nodelist
++
++def parse_sbd_devices(options):
++ """Returns an array of all sbd devices.
++
++ Key arguments:
++ options -- options dictionary
++
++ Return Value:
++ devices -- array of device paths
++ """
++
++ devices = [str.strip(dev) \
++ for dev in str.split(options["--devices"], ",")]
++
++ return devices
++
++def define_new_opts():
++ """Defines the all opt list
++ """
++ all_opt["devices"] = {
++ "getopt" : ":",
++ "longopt" : "devices",
++ "help":"--devices=[device_a,device_b] \
++Comma separated list of sbd devices",
++ "required" : "1",
++ "shortdesc" : "SBD Device",
++ "order": 1
++ }
++
++ all_opt["sbd_path"] = {
++ "getopt" : ":",
++ "longopt" : "sbd-path",
++ "help" : "--sbd-path=[path] Path to SBD binary",
++ "required" : "0",
++ "default" : "/usr/sbin/sbd",
++ "shortdesc" : "Path to SBD binary",
++ "order": 200
++ }
++
++def main():
++ """Main function
++ """
++ # We need to define "no_password" otherwise we will be ask about it if
++ # we don't provide any password.
++ device_opt = ["no_password", "devices", "port", "method", "sbd_path"]
++
++ # close stdout if we get interrupted
++ atexit.register(atexit_handler)
++
++ define_new_opts()
++
++ all_opt["method"]["default"] = "cycle"
++ all_opt["method"]["help"] = "-m, --method=[method] Method to fence (onoff|cycle) (Default: cycle)"
++
++ options = check_input(device_opt, process_input(device_opt))
++
++ # fill the needed variables to generate metadata and help text output
++ docs = {}
++ docs["shortdesc"] = "Fence agent for sbd"
++ docs["longdesc"] = "fence_sbd is I/O Fencing agent \
++which can be used in environments where sbd can be used (shared storage)."
++ docs["vendorurl"] = ""
++ show_docs(options, docs)
++
++ # We need to check if --devices is given and not empty.
++ if "--devices" not in options:
++ fail_usage("No SBD devices specified. \
++ At least one SBD device is required.")
++
++ run_delay(options)
++
++ # We need to check if the provided sbd_devices exists. We need to do
++ # that for every given device.
++ for device_path in parse_sbd_devices(options):
++ logging.debug("check device \"%s\"", device_path)
++
++ return_code = check_sbd_device(options, device_path)
++ if PATH_NOT_EXISTS == return_code:
++ logging.error("\"%s\" does not exist", device_path)
++ elif PATH_NOT_BLOCK == return_code:
++ logging.error("\"%s\" is not a valid block device", device_path)
++ elif DEVICE_NOT_INIT == return_code:
++ logging.error("\"%s\" is not initialized", device_path)
++ elif DEVICE_INIT != return_code:
++ logging.error("UNKNOWN error while checking \"%s\"", device_path)
++
++ # If we get any error while checking the device we need to exit at this
++ # point.
++ if DEVICE_INIT != return_code:
++ exit(return_code)
++
++ # we check against the defined timeouts. If the pacemaker timeout is smaller
++ # then that defined within sbd we should report this.
++ power_timeout = int(options["--power-timeout"])
++ sbd_msg_timeout = get_msg_timeout(options)
++ if power_timeout <= sbd_msg_timeout:
++ logging.warn("power timeout needs to be \
++ greater then sbd message timeout")
++
++ result = fence_action(\
++ None, \
++ options, \
++ set_power_status, \
++ get_power_status, \
++ get_node_list, \
++ reboot_cycle)
++
++ sys.exit(result)
++
++if __name__ == "__main__":
++ main()
+diff -uNr a/fence/agents/sbd/Makefile.am b/fence/agents/sbd/Makefile.am
+--- a/fence/agents/sbd/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ b/fence/agents/sbd/Makefile.am 2017-01-16 16:19:09.079326886 +0100
+@@ -0,0 +1,17 @@
++MAINTAINERCLEANFILES = Makefile.in
++
++TARGET = fence_sbd
++
++SRC = $(TARGET).py
++
++EXTRA_DIST = $(SRC)
++
++sbin_SCRIPTS = $(TARGET)
++
++man_MANS = $(TARGET).8
++
++FENCE_TEST_ARGS = -n test --devices test
++
++include $(top_srcdir)/make/fencebuild.mk
++include $(top_srcdir)/make/fenceman.mk
++include $(top_srcdir)/make/agentpycheck.mk
+diff -uNr a/tests/data/metadata/fence_sbd.xml b/tests/data/metadata/fence_sbd.xml
+--- a/tests/data/metadata/fence_sbd.xml 1970-01-01 01:00:00.000000000 +0100
++++ b/tests/data/metadata/fence_sbd.xml 2017-01-16 16:31:45.855219543 +0100
+@@ -0,0 +1,101 @@
++
++
++fence_sbd is I/O Fencing agent which can be used in environments where sbd can be used (shared storage).
++
++
++
++
++
++ Fencing action
++
++
++
++
++ SBD Device
++
++
++
++
++
++
++
++ Method to fence
++
++
++
++
++ Physical plug number on device, UUID or identification of machine
++
++
++
++
++ Verbose mode
++
++
++
++
++ Write debug information to given file
++
++
++
++
++ Display version information and exit
++
++
++
++
++ Display help and exit
++
++
++
++
++ Separator for CSV created by 'list' operation
++
++
++
++
++ Wait X seconds before fencing is started
++
++
++
++
++ Wait X seconds for cmd prompt after login
++
++
++
++
++ Test X seconds for status change after ON/OFF
++
++
++
++
++ Wait X seconds after issuing ON/OFF
++
++
++
++
++ Path to SBD binary
++
++
++
++
++ Wait X seconds for cmd prompt after issuing command
++
++
++
++
++ Count of attempts to retry power on
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --git a/SOURCES/bz1376481-1-fence_lpar-fix-monitor-fails.patch b/SOURCES/bz1376481-1-fence_lpar-fix-monitor-fails.patch
new file mode 100644
index 0000000..a64131f
--- /dev/null
+++ b/SOURCES/bz1376481-1-fence_lpar-fix-monitor-fails.patch
@@ -0,0 +1,89 @@
+commit 2a56e0b3fd7ce168afb33b57685a6b1a59a0efe6
+Author: Marek 'marx' Grac
+Date: Mon Sep 19 10:21:41 2016 +0200
+
+ fence_lpar: Add support for IVM
+
+diff --git a/fence/agents/lpar/fence_lpar.py b/fence/agents/lpar/fence_lpar.py
+index 31b0521..de8ce0d 100644
+--- a/fence/agents/lpar/fence_lpar.py
++++ b/fence/agents/lpar/fence_lpar.py
+@@ -32,7 +32,7 @@ def get_power_status(conn, options):
+ re.IGNORECASE | re.MULTILINE).search(conn.before).group(1)
+ except AttributeError:
+ fail(EC_STATUS_HMC)
+- elif options["--hmc-version"] == "4":
++ elif options["--hmc-version"] in ["4", "IVM"]:
+ conn.send("lssyscfg -r lpar -m "+ options["--managed"] +
+ " --filter 'lpar_names=" + options["--plug"] + "'\n")
+ conn.log_expect(options, options["--command-prompt"], int(options["--power-timeout"]))
+@@ -56,7 +56,7 @@ def set_power_status(conn, options):
+ conn.send("chsysstate -o " + options["--action"] + " -r lpar -m " + options["--managed"]
+ + " -n " + options["--plug"] + "\n")
+ conn.log_expect(options, options["--command-prompt"], int(options["--power-timeout"]))
+- elif options["--hmc-version"] == "4":
++ elif options["--hmc-version"] in ["4", "IVM"]:
+ if options["--action"] == "on":
+ conn.send("chsysstate -o on -r lpar -m " + options["--managed"] +
+ " -n " + options["--plug"] +
+@@ -98,7 +98,29 @@ def get_lpar_list(conn, options):
+
+ lines = res.group(1).split("\n")
+ for outlet_line in lines:
+- (port, status) = outlet_line.split(":")
++ try:
++ (port, status) = outlet_line.split(":")
++ except ValueError:
++ fail_usage('Output does not match expected HMC version, try different one');
++ outlets[port] = ("", status)
++ elif options["--hmc-version"] == "IVM":
++ conn.send("lssyscfg -r lpar -m " + options["--managed"] +
++ " -F name,state\n")
++ conn.log_expect(options, options["--command-prompt"], int(options["--power-timeout"]))
++
++ ## We have to remove first line (command) and last line (part of new prompt)
++ ####
++ res = re.search("^.+?\n(.*)\n.*$", conn.before, re.S)
++
++ if res == None:
++ fail_usage("Unable to parse output of list command")
++
++ lines = res.group(1).split("\n")
++ for outlet_line in lines:
++ try:
++ (port, status) = outlet_line.split(",")
++ except ValueError:
++ fail_usage('Output does not match expected HMC version, try different one');
+ outlets[port] = ("", status)
+
+ return outlets
+@@ -114,11 +136,11 @@ def define_new_opts():
+ all_opt["hmc_version"] = {
+ "getopt" : "H:",
+ "longopt" : "hmc-version",
+- "help" : "-H, --hmc-version=[version] Force HMC version to use: 3, 4 (default)",
++ "help" : "-H, --hmc-version=[version] Force HMC version to use: 3, 4 (default), ivm",
+ "required" : "0",
+- "shortdesc" : "Force HMC version to use (3 or 4)",
++ "shortdesc" : "Force HMC version to use (3, 4 or IVM)",
+ "default" : "4",
+- "choices" : ["3", "4"],
++ "choices" : ["3", "4", "ivm"],
+ "order" : 1}
+
+ def main():
+diff --git a/tests/data/metadata/fence_lpar.xml b/tests/data/metadata/fence_lpar.xml
+index 8c82925..199ca4e 100644
+--- a/tests/data/metadata/fence_lpar.xml
++++ b/tests/data/metadata/fence_lpar.xml
+@@ -48,8 +48,9 @@
+
+
+
++
+
+- Force HMC version to use (3 or 4)
++ Force HMC version to use (3, 4 or IVM)
+
+
+
diff --git a/SOURCES/bz1376481-2-fence_lpar-fix-monitor-fails.patch b/SOURCES/bz1376481-2-fence_lpar-fix-monitor-fails.patch
new file mode 100644
index 0000000..abc7a91
--- /dev/null
+++ b/SOURCES/bz1376481-2-fence_lpar-fix-monitor-fails.patch
@@ -0,0 +1,47 @@
+commit ef243397975d263ac886d71596581b08ecf234c5
+Author: Marek 'marx' Grac
+Date: Mon Sep 19 12:55:57 2016 +0200
+
+ fence_lpar: Fix indentation
+
+diff --git a/fence/agents/lpar/fence_lpar.py b/fence/agents/lpar/fence_lpar.py
+index de8ce0d..2ba2bbe 100644
+--- a/fence/agents/lpar/fence_lpar.py
++++ b/fence/agents/lpar/fence_lpar.py
+@@ -98,10 +98,10 @@ def get_lpar_list(conn, options):
+
+ lines = res.group(1).split("\n")
+ for outlet_line in lines:
+- try:
++ try:
+ (port, status) = outlet_line.split(":")
+- except ValueError:
+- fail_usage('Output does not match expected HMC version, try different one');
++ except ValueError:
++ fail_usage('Output does not match expected HMC version, try different one');
+ outlets[port] = ("", status)
+ elif options["--hmc-version"] == "IVM":
+ conn.send("lssyscfg -r lpar -m " + options["--managed"] +
+@@ -117,10 +117,10 @@ def get_lpar_list(conn, options):
+
+ lines = res.group(1).split("\n")
+ for outlet_line in lines:
+- try:
++ try:
+ (port, status) = outlet_line.split(",")
+- except ValueError:
+- fail_usage('Output does not match expected HMC version, try different one');
++ except ValueError:
++ fail_usage('Output does not match expected HMC version, try different one');
+ outlets[port] = ("", status)
+
+ return outlets
+@@ -145,7 +145,7 @@ def define_new_opts():
+
+ def main():
+ device_opt = ["ipaddr", "login", "passwd", "secure", "cmd_prompt", \
+- "port", "managed", "hmc_version"]
++ "port", "managed", "hmc_version"]
+
+ atexit.register(atexit_handler)
+
diff --git a/SOURCES/bz1377389-fence_ipmilan-add-target-support.patch b/SOURCES/bz1377389-fence_ipmilan-add-target-support.patch
new file mode 100644
index 0000000..4a2f43d
--- /dev/null
+++ b/SOURCES/bz1377389-fence_ipmilan-add-target-support.patch
@@ -0,0 +1,148 @@
+diff -uNr a/fence/agents/ipmilan/fence_ipmilan.py b/fence/agents/ipmilan/fence_ipmilan.py
+--- a/fence/agents/ipmilan/fence_ipmilan.py 2017-05-04 14:32:36.357497106 +0200
++++ b/fence/agents/ipmilan/fence_ipmilan.py 2017-05-04 14:37:32.567801127 +0200
+@@ -39,9 +39,18 @@
+ cmd += " -I lanplus"
+ else:
+ cmd += " -I lan"
++
+ # --ip / -a
+ cmd += " -H " + options["--ip"]
+
++ # --port / -n
++ if options.has_key("--ipport"):
++ cmd += " -p " + options["--ipport"]
++
++ # --target
++ if "--target" in options:
++ cmd += " -t " + options["--target"]
++
+ # --username / -l
+ if options.has_key("--username") and len(options["--username"]) != 0:
+ cmd += " -U " + quote(options["--username"])
+@@ -60,10 +69,6 @@
+ if "--cipher" in options:
+ cmd += " -C " + options["--cipher"]
+
+- # --port / -n
+- if options.has_key("--ipport"):
+- cmd += " -p " + options["--ipport"]
+-
+ if options.has_key("--privlvl"):
+ cmd += " -L " + options["--privlvl"]
+
+@@ -123,6 +128,14 @@
+ "default" : "@IPMITOOL_PATH@",
+ "order": 200
+ }
++ all_opt["target"] = {
++ "getopt" : ":",
++ "longopt" : "target",
++ "help" : "--target=[targetaddress] Bridge IPMI requests to the remote target address",
++ "required" : "0",
++ "shortdesc" : "Bridge IPMI requests to the remote target address",
++ "order": 1
++ }
+ all_opt["obsolete_ip"] = {
+ "getopt" : "i:",
+ "longopt" : "obsolete-ip",
+@@ -141,9 +154,9 @@
+ def main():
+ atexit.register(atexit_handler)
+
+- device_opt = ["ipaddr", "login", "no_login", "no_password", "passwd", "diag",
+- "lanplus", "auth", "cipher", "privlvl", "sudo", "ipmitool_path", "method",
+- "obsolete_ip", "timeout"]
++ device_opt = ["ipaddr", "login", "no_login", "no_password", "passwd",
++ "diag", "lanplus", "auth", "cipher", "privlvl", "sudo",
++ "ipmitool_path", "method", "target", "obsolete_ip", "timeout"]
+ define_new_opts()
+
+ all_opt["power_wait"]["default"] = 2
+diff -uNr a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
+--- a/fence/agents/lib/fencing.py.py 2017-05-04 14:32:36.408496642 +0200
++++ b/fence/agents/lib/fencing.py.py 2017-05-04 14:33:30.160007419 +0200
+@@ -845,7 +845,7 @@
+ device_opt.count("login") and (device_opt.count("no_login") == 0):
+ fail_usage("Failed: You have to set login name")
+
+- if device_opt.count("ipaddr") and not options.has_key("--ip") and not options.has_key("--managed"):
++ if device_opt.count("ipaddr") and not options.has_key("--ip") and not options.has_key("--managed") and not options.has_key("--target"):
+ fail_usage("Failed: You have to enter fence address")
+
+ if device_opt.count("no_password") == 0:
+diff -uNr a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
+--- a/tests/data/metadata/fence_idrac.xml 2017-05-04 14:32:36.410496624 +0200
++++ b/tests/data/metadata/fence_idrac.xml 2017-05-04 14:33:30.160007419 +0200
+@@ -74,6 +74,11 @@
+
+ Ciphersuite to use (same as ipmitool -C parameter)
+
++
++
++
++ Bridge IPMI requests to the remote target address
++
+
+
+
+diff -uNr a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
+--- a/tests/data/metadata/fence_ilo3.xml 2017-05-04 14:32:36.411496614 +0200
++++ b/tests/data/metadata/fence_ilo3.xml 2017-05-04 14:33:30.161007410 +0200
+@@ -74,6 +74,11 @@
+
+ Ciphersuite to use (same as ipmitool -C parameter)
+
++
++
++
++ Bridge IPMI requests to the remote target address
++
+
+
+
+diff -uNr a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
+--- a/tests/data/metadata/fence_ilo4.xml 2017-05-04 14:32:36.411496614 +0200
++++ b/tests/data/metadata/fence_ilo4.xml 2017-05-04 14:33:30.161007410 +0200
+@@ -74,6 +74,11 @@
+
+ Ciphersuite to use (same as ipmitool -C parameter)
+
++
++
++
++ Bridge IPMI requests to the remote target address
++
+
+
+
+diff -uNr a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
+--- a/tests/data/metadata/fence_imm.xml 2017-05-04 14:32:36.412496605 +0200
++++ b/tests/data/metadata/fence_imm.xml 2017-05-04 14:33:30.162007401 +0200
+@@ -74,6 +74,11 @@
+
+ Ciphersuite to use (same as ipmitool -C parameter)
+
++
++
++
++ Bridge IPMI requests to the remote target address
++
+
+
+
+diff -uNr a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
+--- a/tests/data/metadata/fence_ipmilan.xml 2017-05-04 14:32:36.412496605 +0200
++++ b/tests/data/metadata/fence_ipmilan.xml 2017-05-04 14:33:30.162007401 +0200
+@@ -74,6 +74,11 @@
+
+ Ciphersuite to use (same as ipmitool -C parameter)
+
++
++
++
++ Bridge IPMI requests to the remote target address
++
+
+
+
diff --git a/SOURCES/bz1377972-1-CI-dont-test-paths-in-metadata.patch b/SOURCES/bz1377972-1-CI-dont-test-paths-in-metadata.patch
new file mode 100644
index 0000000..09ded8e
--- /dev/null
+++ b/SOURCES/bz1377972-1-CI-dont-test-paths-in-metadata.patch
@@ -0,0 +1,3046 @@
+diff -uNr a/configure.ac b/configure.ac
+--- a/configure.ac 2017-03-03 10:46:36.346404128 +0100
++++ b/configure.ac 2017-03-03 11:18:02.533241361 +0100
+@@ -258,6 +258,7 @@
+ CPPFLAGS="-I\$(top_builddir)/make -I\$(top_srcdir)/make -I. $ENV_CPPFLAGS"
+ LDFLAGS="$ENV_LDFLAGS"
+
++AM_EXTRA_RECURSIVE_TARGETS([xml-upload])
+ AC_CONFIG_FILES([Makefile
+ fence/Makefile
+ fence/agents/Makefile
+diff -uNr a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
+--- a/fence/agents/lib/fencing.py.py 2017-03-03 10:46:36.349404099 +0100
++++ b/fence/agents/lib/fencing.py.py 2017-03-03 11:18:02.534241351 +0100
+@@ -69,6 +69,7 @@
+ "delay" : {
+ "getopt" : "f:",
+ "longopt" : "delay",
++ "type" : "second",
+ "help" : "--delay=[seconds] Wait X seconds before fencing is started",
+ "required" : "0",
+ "shortdesc" : "Wait X seconds before fencing is started",
+@@ -108,6 +109,7 @@
+ "ipport" : {
+ "getopt" : "u:",
+ "longopt" : "ipport",
++ "type" : "integer",
+ "help" : "-u, --ipport=[port] TCP/UDP port to use",
+ "required" : "0",
+ "shortdesc" : "TCP/UDP port to use for connection with device",
+@@ -340,6 +342,7 @@
+ "login_timeout" : {
+ "getopt" : "y:",
+ "longopt" : "login-timeout",
++ "type" : "second",
+ "help" : "--login-timeout=[seconds] Wait X seconds for cmd prompt after login",
+ "default" : "5",
+ "required" : "0",
+@@ -348,6 +351,7 @@
+ "shell_timeout" : {
+ "getopt" : "Y:",
+ "longopt" : "shell-timeout",
++ "type" : "second",
+ "help" : "--shell-timeout=[seconds] Wait X seconds for cmd prompt after issuing command",
+ "default" : "3",
+ "required" : "0",
+@@ -356,6 +360,7 @@
+ "power_timeout" : {
+ "getopt" : "g:",
+ "longopt" : "power-timeout",
++ "type" : "second",
+ "help" : "--power-timeout=[seconds] Test X seconds for status change after ON/OFF",
+ "default" : "20",
+ "required" : "0",
+@@ -364,6 +369,7 @@
+ "power_wait" : {
+ "getopt" : "G:",
+ "longopt" : "power-wait",
++ "type" : "second",
+ "help" : "--power-wait=[seconds] Wait X seconds after issuing ON/OFF",
+ "default" : "0",
+ "required" : "0",
+@@ -379,6 +385,7 @@
+ "retry_on" : {
+ "getopt" : "F:",
+ "longopt" : "retry-on",
++ "type" : "integer",
+ "help" : "--retry-on=[attempts] Count of attempts to retry power on",
+ "default" : "1",
+ "required" : "0",
+@@ -567,7 +574,8 @@
+ print "\t\t\t" % (choice)
+ print "\t\t"
+ elif all_opt[option]["getopt"].count(":") > 0:
+- print "\t\t"
++ t = all_opt[option].get("type", "string")
++ print("\t\t")
+ else:
+ print "\t\t"
+
+@@ -859,6 +867,14 @@
+ "for %s from the valid values: %s" % \
+ ("--" + all_opt[opt]["longopt"], str(all_opt[opt]["choices"])))
+
++ for failed_opt in _get_opts_with_invalid_types(options):
++ valid_input = False
++ if all_opt[failed_opt]["type"] == "second":
++ fail_usage("Failed: The value you have entered for %s is not a valid time in seconds" % \
++ ("--" + all_opt[failed_opt]["longopt"]))
++ else:
++ fail_usage("Failed: The value you have entered for %s is not a valid %s" % \
++ ("--" + all_opt[failed_opt]["longopt"], all_opt[failed_opt]["type"]))
+ return options
+
+ ## Obtain a power status from possibly more than one plug
+@@ -1265,3 +1281,18 @@
+ # syslos.syslog can not have 0x00 character inside or exception is thrown
+ syslog.syslog(syslog_level, msg.replace("\x00","\n"))
+ return
++
++def _get_opts_with_invalid_types(options):
++ options_failed = []
++ device_opt = options["device_opt"]
++
++ for opt in device_opt:
++ if "type" in all_opt[opt]:
++ longopt = "--" + all_opt[opt]["longopt"]
++ if longopt in options:
++ if all_opt[opt]["type"] in ["integer", "second"]:
++ try:
++ number = int(options["--" + all_opt[opt]["longopt"]])
++ except ValueError:
++ options_failed.append(opt)
++ return options_failed
+diff -uNr a/fence/agents/lib/metadata.rng b/fence/agents/lib/metadata.rng
+--- a/fence/agents/lib/metadata.rng 2014-08-06 09:35:08.000000000 +0200
++++ b/fence/agents/lib/metadata.rng 2017-03-03 11:18:02.534241351 +0100
+@@ -29,6 +29,8 @@
+
+ boolean
+ string
++ second
++ integer
+
+
+
+diff -uNr a/fence/agents/zvm/fence_zvmip.py b/fence/agents/zvm/fence_zvmip.py
+--- a/fence/agents/zvm/fence_zvmip.py 2017-03-03 10:46:36.279404777 +0100
++++ b/fence/agents/zvm/fence_zvmip.py 2017-03-03 11:18:02.534241351 +0100
+@@ -156,7 +156,7 @@
+ atexit.register(atexit_handler)
+
+ all_opt["ipport"]["default"] = "44444"
+- all_opt["shell_timeout"]["default"] = "5.0"
++ all_opt["shell_timeout"]["default"] = "5"
+ all_opt["missing_as_off"]["default"] = "1"
+ options = check_input(device_opt, process_input(device_opt))
+
+diff -uNr a/make/agentccheck.mk b/make/agentccheck.mk
+--- a/make/agentccheck.mk 2017-03-03 10:46:36.256405000 +0100
++++ b/make/agentccheck.mk 2017-03-03 11:18:02.534241351 +0100
+@@ -2,6 +2,7 @@
+ DATADIR:=$(abs_top_srcdir)/tests/data/metadata
+
+ check: $(TARGET:%=xml-check.%) $(SYMTARGET:%=xml-check.%)
++xml-upload: $(TARGET:%=xml-upload.%) $(SYMTARGET:%=xml-upload.%)
+
+ xml-check.%: %
+ $(eval INPUT=$(subst xml-check.,,$@))
+diff -uNr a/make/agentpycheck.mk b/make/agentpycheck.mk
+--- a/make/agentpycheck.mk 2017-03-03 10:46:36.257404990 +0100
++++ b/make/agentpycheck.mk 2017-03-03 11:18:02.534241351 +0100
+@@ -1,18 +1,19 @@
+ TEMPFILE:=$(shell mktemp)
+-#DATADIR:=$(abs_top_builddir)/tests/data/metadata
+ DATADIR:=$(abs_top_srcdir)/tests/data/metadata
++AWK_VAL='BEGIN {store=-1} /name=\".*_path\"/ {store=2} {if (store!=0) {print}; store--}'
+
+ check: $(TARGET:%=xml-check.%) $(SYMTARGET:%=xml-check.%) $(TARGET:%=delay-check.%)
++xml-upload: $(TARGET:%=xml-upload.%) $(SYMTARGET:%=xml-upload.%)
+
+ xml-check.%: %
+ $(eval INPUT=$(subst xml-check.,,$@))
+- PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata > $(TEMPFILE)
++ PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | $(AWK) $(AWK_VAL) > $(TEMPFILE)
+ diff $(TEMPFILE) $(DATADIR)/$(INPUT).xml
+ rm $(TEMPFILE)
+
+ xml-upload.%: %
+ $(eval INPUT=$(subst xml-upload.,,$@))
+- PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata > $(DATADIR)/$(INPUT).xml
++ PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | $(AWK) $(AWK_VAL) > $(DATADIR)/$(INPUT).xml
+
+ # If test will fail, rerun fence agents to show problems
+ delay-check.%: %
+diff -uNr a/tests/data/metadata/fence_alom.xml b/tests/data/metadata/fence_alom.xml
+--- a/tests/data/metadata/fence_alom.xml 2017-03-03 10:46:36.297404603 +0100
++++ b/tests/data/metadata/fence_alom.xml 2017-03-03 11:18:37.279904806 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -90,27 +90,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -120,7 +120,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml
+--- a/tests/data/metadata/fence_amt.xml 2017-03-03 10:46:36.297404603 +0100
++++ b/tests/data/metadata/fence_amt.xml 2017-03-03 11:18:38.389894055 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -84,32 +84,31 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
+ Path to amttool binary
+
+
+@@ -119,7 +118,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_apc_snmp.xml b/tests/data/metadata/fence_apc_snmp.xml
+--- a/tests/data/metadata/fence_apc_snmp.xml 2017-03-03 10:46:36.291404661 +0100
++++ b/tests/data/metadata/fence_apc_snmp.xml 2017-03-03 11:18:38.158896292 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -124,32 +124,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_apc.xml b/tests/data/metadata/fence_apc.xml
+--- a/tests/data/metadata/fence_apc.xml 2017-03-03 10:46:36.291404661 +0100
++++ b/tests/data/metadata/fence_apc.xml 2017-03-03 11:18:38.806890016 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -100,32 +100,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_bladecenter.xml b/tests/data/metadata/fence_bladecenter.xml
+--- a/tests/data/metadata/fence_bladecenter.xml 2017-03-03 10:46:36.291404661 +0100
++++ b/tests/data/metadata/fence_bladecenter.xml 2017-03-03 11:18:38.428893677 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -95,27 +95,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -125,7 +125,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_brocade.xml b/tests/data/metadata/fence_brocade.xml
+--- a/tests/data/metadata/fence_brocade.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_brocade.xml 2017-03-03 11:18:38.582892186 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -95,32 +95,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_cisco_mds.xml b/tests/data/metadata/fence_cisco_mds.xml
+--- a/tests/data/metadata/fence_cisco_mds.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_cisco_mds.xml 2017-03-03 11:18:38.844889648 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -124,32 +124,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_cisco_ucs.xml b/tests/data/metadata/fence_cisco_ucs.xml
+--- a/tests/data/metadata/fence_cisco_ucs.xml 2017-03-03 10:46:36.321404371 +0100
++++ b/tests/data/metadata/fence_cisco_ucs.xml 2017-03-03 11:18:38.768890384 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -100,22 +100,22 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+@@ -125,12 +125,12 @@
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_compute.xml b/tests/data/metadata/fence_compute.xml
+--- a/tests/data/metadata/fence_compute.xml 2017-03-03 10:46:36.335404235 +0100
++++ b/tests/data/metadata/fence_compute.xml 2017-03-03 11:18:39.219886015 +0100
+@@ -3,6 +3,11 @@
+ Used to tell Nova that compute nodes are down and to reschedule flagged instances
+
+
++
++
++
++ Region Name
++
+
+
+
+@@ -14,7 +19,7 @@
+ Script to retrieve password
+
+
+-
++
+
+ Keystone Admin Auth URL
+
+@@ -43,6 +48,11 @@
+
+ Login Name
+
++
++
++
++ Allow Insecure TLS Requests
++
+
+
+
+@@ -90,32 +100,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml
+--- a/tests/data/metadata/fence_docker.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_docker.xml 2017-03-03 11:18:37.620901503 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -98,32 +98,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_drac5.xml b/tests/data/metadata/fence_drac5.xml
+--- a/tests/data/metadata/fence_drac5.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_drac5.xml 2017-03-03 11:18:37.317904438 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -104,32 +104,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml
+--- a/tests/data/metadata/fence_drac.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_drac.xml 2017-03-03 11:18:38.234895556 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -75,27 +75,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -105,7 +105,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_dummy.xml b/tests/data/metadata/fence_dummy.xml
+--- a/tests/data/metadata/fence_dummy.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_dummy.xml 2017-03-03 11:18:37.433903315 +0100
+@@ -45,32 +45,32 @@
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_eaton_snmp.xml b/tests/data/metadata/fence_eaton_snmp.xml
+--- a/tests/data/metadata/fence_eaton_snmp.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_eaton_snmp.xml 2017-03-03 11:18:38.541892583 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -124,32 +124,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_emerson.xml b/tests/data/metadata/fence_emerson.xml
+--- a/tests/data/metadata/fence_emerson.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_emerson.xml 2017-03-03 11:18:38.120896660 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -124,32 +124,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_eps.xml b/tests/data/metadata/fence_eps.xml
+--- a/tests/data/metadata/fence_eps.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_eps.xml 2017-03-03 11:18:37.477902888 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -82,32 +82,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_hds_cb.xml b/tests/data/metadata/fence_hds_cb.xml
+--- a/tests/data/metadata/fence_hds_cb.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_hds_cb.xml 2017-03-03 11:18:38.196895924 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -95,27 +95,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -125,7 +125,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_hpblade.xml b/tests/data/metadata/fence_hpblade.xml
+--- a/tests/data/metadata/fence_hpblade.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_hpblade.xml 2017-03-03 11:18:37.961898200 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -95,27 +95,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -125,7 +125,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ibmblade.xml b/tests/data/metadata/fence_ibmblade.xml
+--- a/tests/data/metadata/fence_ibmblade.xml 2017-03-03 10:46:36.292404652 +0100
++++ b/tests/data/metadata/fence_ibmblade.xml 2017-03-03 11:18:38.920888912 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -124,32 +124,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
+--- a/tests/data/metadata/fence_idrac.xml 2017-03-03 10:46:36.349404099 +0100
++++ b/tests/data/metadata/fence_idrac.xml 2017-03-03 11:18:37.924898559 +0100
+@@ -9,7 +9,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -121,32 +121,31 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
+ Path to ipmitool binary
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -156,7 +155,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ifmib.xml b/tests/data/metadata/fence_ifmib.xml
+--- a/tests/data/metadata/fence_ifmib.xml 2017-03-03 10:46:36.293404642 +0100
++++ b/tests/data/metadata/fence_ifmib.xml 2017-03-03 11:18:37.744900302 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -126,32 +126,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml
+--- a/tests/data/metadata/fence_ilo2.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_ilo2.xml 2017-03-03 11:18:38.082897028 +0100
+@@ -6,7 +6,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -101,27 +101,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -131,7 +131,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo3_ssh.xml b/tests/data/metadata/fence_ilo3_ssh.xml
+--- a/tests/data/metadata/fence_ilo3_ssh.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_ilo3_ssh.xml 2017-03-03 11:18:37.547902210 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -100,27 +100,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -130,7 +130,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
+--- a/tests/data/metadata/fence_ilo3.xml 2017-03-03 10:46:36.349404099 +0100
++++ b/tests/data/metadata/fence_ilo3.xml 2017-03-03 11:18:37.819899576 +0100
+@@ -9,7 +9,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -121,32 +121,31 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
+ Path to ipmitool binary
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -156,7 +155,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo4_ssh.xml b/tests/data/metadata/fence_ilo4_ssh.xml
+--- a/tests/data/metadata/fence_ilo4_ssh.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_ilo4_ssh.xml 2017-03-03 11:18:37.580901891 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -100,27 +100,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -130,7 +130,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
+--- a/tests/data/metadata/fence_ilo4.xml 2017-03-03 10:46:36.350404090 +0100
++++ b/tests/data/metadata/fence_ilo4.xml 2017-03-03 11:18:37.854899237 +0100
+@@ -9,7 +9,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -121,32 +121,31 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
+ Path to ipmitool binary
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -156,7 +155,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo_moonshot.xml b/tests/data/metadata/fence_ilo_moonshot.xml
+--- a/tests/data/metadata/fence_ilo_moonshot.xml 2017-03-03 10:46:36.293404642 +0100
++++ b/tests/data/metadata/fence_ilo_moonshot.xml 2017-03-03 11:18:38.272895188 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -95,32 +95,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo_mp.xml b/tests/data/metadata/fence_ilo_mp.xml
+--- a/tests/data/metadata/fence_ilo_mp.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_ilo_mp.xml 2017-03-03 11:18:38.619891827 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -90,27 +90,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -120,7 +120,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo_ssh.xml b/tests/data/metadata/fence_ilo_ssh.xml
+--- a/tests/data/metadata/fence_ilo_ssh.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_ilo_ssh.xml 2017-03-03 11:18:37.515902520 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -100,27 +100,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -130,7 +130,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml
+--- a/tests/data/metadata/fence_ilo.xml 2017-03-03 10:46:36.298404593 +0100
++++ b/tests/data/metadata/fence_ilo.xml 2017-03-03 11:18:38.043897406 +0100
+@@ -6,7 +6,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -101,27 +101,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -131,7 +131,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
+--- a/tests/data/metadata/fence_imm.xml 2017-03-03 10:46:36.350404090 +0100
++++ b/tests/data/metadata/fence_imm.xml 2017-03-03 11:18:37.889898898 +0100
+@@ -9,7 +9,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -121,32 +121,31 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
+ Path to ipmitool binary
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -156,7 +155,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_intelmodular.xml b/tests/data/metadata/fence_intelmodular.xml
+--- a/tests/data/metadata/fence_intelmodular.xml 2017-03-03 10:46:36.293404642 +0100
++++ b/tests/data/metadata/fence_intelmodular.xml 2017-03-03 11:18:38.655891478 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -126,32 +126,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ipdu.xml b/tests/data/metadata/fence_ipdu.xml
+--- a/tests/data/metadata/fence_ipdu.xml 2017-03-03 10:46:36.293404642 +0100
++++ b/tests/data/metadata/fence_ipdu.xml 2017-03-03 11:18:38.956888563 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -124,32 +124,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
+--- a/tests/data/metadata/fence_ipmilan.xml 2017-03-03 10:46:36.350404090 +0100
++++ b/tests/data/metadata/fence_ipmilan.xml 2017-03-03 11:18:37.784899915 +0100
+@@ -9,7 +9,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -121,32 +121,31 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
+ Path to ipmitool binary
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -156,7 +155,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ldom.xml b/tests/data/metadata/fence_ldom.xml
+--- a/tests/data/metadata/fence_ldom.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_ldom.xml 2017-03-03 11:18:39.153886655 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -97,32 +97,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_lpar.xml b/tests/data/metadata/fence_lpar.xml
+--- a/tests/data/metadata/fence_lpar.xml 2017-03-03 10:46:36.351404080 +0100
++++ b/tests/data/metadata/fence_lpar.xml 2017-03-03 11:18:38.350894433 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -109,32 +109,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_mpath.xml b/tests/data/metadata/fence_mpath.xml
+--- a/tests/data/metadata/fence_mpath.xml 2017-03-03 10:46:36.332404264 +0100
++++ b/tests/data/metadata/fence_mpath.xml 2017-03-03 11:18:38.994888195 +0100
+@@ -4,20 +4,20 @@
+ The fence_mpath agent works by having a unique key for each node that has to be set in /etc/multipath.conf. 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_mpath 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.
+ https://www.sourceware.org/dm/
+
+-
+-
+-
+- List of devices to use for current operation. Devices can be comma-separated list of device-mapper multipath devices (eg. /dev/mapper/3600508b400105df70000e00000ac0000 or /dev/mapper/mpath1). Each device must support SCSI-3 persistent reservations.
++
++
++
++ Fencing Action
+
+
+
+
+ Key to use for the current operation. This key should be unique to a node and have to be written in /etc/multipath.conf. 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).
+
+-
+-
+-
+- Fencing Action
++
++
++
++ List of devices to use for current operation. Devices can be comma-separated list of device-mapper multipath devices (eg. /dev/mapper/3600508b400105df70000e00000ac0000 or /dev/mapper/mpath1). Each device must support SCSI-3 persistent reservations.
+
+
+
+@@ -39,44 +39,42 @@
+
+ Display help and exit
+
+-
+-
+-
+- Wait X seconds before fencing is started
+-
+-
+-
+-
+- Wait X seconds for cmd prompt after issuing command
+-
+-
+-
+-
+- Path to directory where fence agent can store information
+-
+-
+-
+-
+- Test X seconds for status change after ON/OFF
+-
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
++
++
++
++ Test X seconds for status change after ON/OFF
++
++
++
++
++ Wait X seconds before fencing is started
++
+
+
+-
+ Path to mpathpersist binary
+
++
++
++
++ Wait X seconds for cmd prompt after issuing command
++
++
++
++ Path to directory where fence agent can store information
++
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_netio.xml b/tests/data/metadata/fence_netio.xml
+--- a/tests/data/metadata/fence_netio.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_netio.xml 2017-03-03 11:18:38.466893309 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -75,32 +75,32 @@
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_ovh.xml b/tests/data/metadata/fence_ovh.xml
+--- a/tests/data/metadata/fence_ovh.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_ovh.xml 2017-03-03 11:18:37.202905552 +0100
+@@ -60,32 +60,32 @@
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_pve.xml b/tests/data/metadata/fence_pve.xml
+--- a/tests/data/metadata/fence_pve.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_pve.xml 2017-03-03 11:18:39.114887033 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -80,32 +80,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_raritan.xml b/tests/data/metadata/fence_raritan.xml
+--- a/tests/data/metadata/fence_raritan.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_raritan.xml 2017-03-03 11:18:38.728890771 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -75,32 +75,32 @@
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_rhevm.xml b/tests/data/metadata/fence_rhevm.xml
+--- a/tests/data/metadata/fence_rhevm.xml 2017-03-03 10:46:36.343404157 +0100
++++ b/tests/data/metadata/fence_rhevm.xml 2017-03-03 11:18:38.882889280 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -75,7 +75,6 @@
+
+
+
+-
+ The path of the API URL
+
+
+@@ -105,32 +104,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_rsa.xml b/tests/data/metadata/fence_rsa.xml
+--- a/tests/data/metadata/fence_rsa.xml 2017-03-03 10:46:36.299404584 +0100
++++ b/tests/data/metadata/fence_rsa.xml 2017-03-03 11:18:38.692891120 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -90,27 +90,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -120,7 +120,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_rsb.xml b/tests/data/metadata/fence_rsb.xml
+--- a/tests/data/metadata/fence_rsb.xml 2017-03-03 10:46:36.299404584 +0100
++++ b/tests/data/metadata/fence_rsb.xml 2017-03-03 11:18:39.069887468 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -90,27 +90,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -120,7 +120,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_sanbox2.xml b/tests/data/metadata/fence_sanbox2.xml
+--- a/tests/data/metadata/fence_sanbox2.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_sanbox2.xml 2017-03-03 11:18:39.032887827 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -80,32 +80,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_sbd.xml b/tests/data/metadata/fence_sbd.xml
+--- a/tests/data/metadata/fence_sbd.xml 2017-03-03 10:46:36.346404128 +0100
++++ b/tests/data/metadata/fence_sbd.xml 2017-03-03 11:18:38.504892941 +0100
+@@ -3,11 +3,6 @@
+ fence_sbd is I/O Fencing agent which can be used in environments where sbd can be used (shared storage).
+
+
+-
+-
+-
+- Fencing action
+-
+
+
+
+@@ -19,12 +14,17 @@
+
+
+
+- Method to fence
++ Method to fence (onoff|cycle)
++
++
++
++
++ Fencing Action
+
+
+
+
+- Physical plug number on device, UUID or identification of machine
++ Physical plug number, name of virtual machine or UUID
+
+
+
+@@ -49,41 +49,40 @@
+
+
+
+- Separator for CSV created by 'list' operation
++ Separator for CSV created by operation list
+
+-
+-
+-
+- Wait X seconds before fencing is started
++
++
++
++ Wait X seconds for cmd prompt after issuing command
+
+-
+-
+-
+- Wait X seconds for cmd prompt after login
++
++
++
++ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+-
+-
+-
+- Wait X seconds after issuing ON/OFF
++
++
++
++ Wait X seconds before fencing is started
+
+
+
+-
+ Path to SBD binary
+
+-
+-
+-
+- Wait X seconds for cmd prompt after issuing command
++
++
++
++ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+@@ -96,6 +95,5 @@
+
+
+
+-
+
+
+diff -uNr a/tests/data/metadata/fence_scsi.xml b/tests/data/metadata/fence_scsi.xml
+--- a/tests/data/metadata/fence_scsi.xml 2017-03-03 10:46:36.332404264 +0100
++++ b/tests/data/metadata/fence_scsi.xml 2017-03-03 11:18:37.660901116 +0100
+@@ -56,52 +56,48 @@
+
+
+
+-
+ Path to vgs binary
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
+ Path to sg_persist binary
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
+ Path to sg_turs binary
+
+
+
+-
+ Path to corosync-cmapctl binary
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_virsh.xml b/tests/data/metadata/fence_virsh.xml
+--- a/tests/data/metadata/fence_virsh.xml 2017-03-03 10:46:36.323404351 +0100
++++ b/tests/data/metadata/fence_virsh.xml 2017-03-03 11:18:37.242905165 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -97,37 +97,37 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+-
+-
+-
+- Missing port returns OFF instead of failure
+-
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
++
++
++
++ Missing port returns OFF instead of failure
++
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_vmware_soap.xml b/tests/data/metadata/fence_vmware_soap.xml
+--- a/tests/data/metadata/fence_vmware_soap.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_vmware_soap.xml 2017-03-03 11:18:37.390903731 +0100
+@@ -7,7 +7,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -97,32 +97,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_wti.xml b/tests/data/metadata/fence_wti.xml
+--- a/tests/data/metadata/fence_wti.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_wti.xml 2017-03-03 11:18:38.312894801 +0100
+@@ -5,7 +5,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -95,32 +95,32 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_xenapi.xml b/tests/data/metadata/fence_xenapi.xml
+--- a/tests/data/metadata/fence_xenapi.xml 2017-03-03 10:46:36.294404632 +0100
++++ b/tests/data/metadata/fence_xenapi.xml 2017-03-03 11:18:37.706900670 +0100
+@@ -60,32 +60,32 @@
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
+diff -uNr a/tests/data/metadata/fence_zvmip.xml b/tests/data/metadata/fence_zvmip.xml
+--- a/tests/data/metadata/fence_zvmip.xml 2017-03-03 10:46:36.295404622 +0100
++++ b/tests/data/metadata/fence_zvmip.xml 2017-03-03 11:18:38.000897823 +0100
+@@ -19,7 +19,7 @@
+
+
+
+-
++
+ TCP/UDP port to use for connection with device
+
+
+@@ -97,27 +97,27 @@
+
+
+
+-
++
+ Wait X seconds after issuing ON/OFF
+
+
+
+-
++
+ Wait X seconds for cmd prompt after login
+
+
+
+-
++
+ Test X seconds for status change after ON/OFF
+
+
+
+-
++
+ Wait X seconds before fencing is started
+
+
+
+-
++
+ Wait X seconds for cmd prompt after issuing command
+
+
+@@ -127,7 +127,7 @@
+
+
+
+-
++
+ Count of attempts to retry power on
+
+
diff --git a/SOURCES/bz1377972-2-CI-dont-test-paths-in-metadata.patch b/SOURCES/bz1377972-2-CI-dont-test-paths-in-metadata.patch
new file mode 100644
index 0000000..6f3ce3f
--- /dev/null
+++ b/SOURCES/bz1377972-2-CI-dont-test-paths-in-metadata.patch
@@ -0,0 +1,88 @@
+diff -uNr a/tests/data/metadata/fence_rhevm.xml b/tests/data/metadata/fence_rhevm.xml
+--- a/tests/data/metadata/fence_rhevm.xml 2017-03-23 10:30:02.739217673 +0100
++++ b/tests/data/metadata/fence_rhevm.xml 2017-03-23 10:31:07.439253864 +0100
+@@ -18,7 +18,7 @@
+
+ SSL connection with verifying fence device's certificate
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -28,7 +28,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -38,12 +38,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -68,11 +68,36 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+ The path of the API URL
+@@ -87,7 +112,12 @@
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
diff --git a/SOURCES/bz1384073-fence_compute-fix-connectionerror-exception.patch b/SOURCES/bz1384073-fence_compute-fix-connectionerror-exception.patch
new file mode 100644
index 0000000..a1484dd
--- /dev/null
+++ b/SOURCES/bz1384073-fence_compute-fix-connectionerror-exception.patch
@@ -0,0 +1,22 @@
+From e7010cc1fe50866c54e98ba6775714445bdb8c80 Mon Sep 17 00:00:00 2001
+From: Oyvind Albrigtsen
+Date: Mon, 17 Oct 2016 12:45:00 +0200
+Subject: [PATCH] fence_compute: fix ConnectionError by using full module name
+
+---
+ fence/agents/compute/fence_compute.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fence/agents/compute/fence_compute.py b/fence/agents/compute/fence_compute.py
+index 0f05c12..ed51c25 100644
+--- a/fence/agents/compute/fence_compute.py
++++ b/fence/agents/compute/fence_compute.py
+@@ -45,7 +45,7 @@ def get_power_status(_, options):
+ else:
+ logging.debug("Unknown status detected from nova: " + service.state)
+ break
+- except ConnectionError as err:
++ except requests.exception.ConnectionError as err:
+ logging.warning("Nova connection failed: " + str(err))
+ return status
+
diff --git a/SOURCES/bz1387590-compute-fix-plug-domain-name-nova-force-down.patch b/SOURCES/bz1387590-compute-fix-plug-domain-name-nova-force-down.patch
index 26d1d0f..27e8e6f 100644
--- a/SOURCES/bz1387590-compute-fix-plug-domain-name-nova-force-down.patch
+++ b/SOURCES/bz1387590-compute-fix-plug-domain-name-nova-force-down.patch
@@ -1,4 +1,4 @@
---- a/fence/agents/compute/fence_compute.py 2016-11-10 22:45:09.824853109 +1100
+--- a/fence/agents/compute/fence_compute.py 2016-11-10 18:03:41.473498575 +1100
+++ b/fence/agents/compute/fence_compute.py 2016-11-10 12:45:28.766603941 +1100
@@ -45,7 +45,7 @@ def get_power_status(_, options):
else:
@@ -137,7 +137,7 @@
+ except Exception as e:
+ logging.warning("Nova connection failed. %s: %s" % (e.__class__.__name__, e))
+
-+ fail_usage("Couldn't obtain a supported connection to nova, tried: %s" % repr(versions))
++ logging.warning("Couldn't obtain a supported connection to nova, tried: %s\n" % repr(versions))
def define_new_opts():
all_opt["endpoint-type"] = {
diff --git a/SOURCES/bz1390915-monitor_port_as_ip.patch b/SOURCES/bz1390915-monitor_port_as_ip.patch
new file mode 100644
index 0000000..7d2585e
--- /dev/null
+++ b/SOURCES/bz1390915-monitor_port_as_ip.patch
@@ -0,0 +1,30 @@
+From a22d964c8a4d21fa3cca5f4b8e284319d77c4779 Mon Sep 17 00:00:00 2001
+From: Marek 'marx' Grac
+Date: Mon, 27 Jul 2015 11:02:31 +0200
+Subject: [PATCH] fencing: If --port-as-ip is used then monitor action should
+ be 'status', not 'list'
+
+Resolves: rhbz#1390915
+---
+ fence/agents/lib/fencing.py.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
+index 1cc1eb0..8fa81c7 100644
+--- a/fence/agents/lib/fencing.py.py
++++ b/fence/agents/lib/fencing.py.py
+@@ -940,8 +940,9 @@ def fence_action(tn, options, set_power_fn, get_power_fn, get_outlet_list=None,
+
+ ## Process options that manipulate fencing device
+ #####
+- if options["--action"] in ["list", "list-status"] or \
+- ((options["--action"] == "monitor") and 1 == options["device_opt"].count("port")):
++ if (options["--action"] in ["list", "list-status"]) or \
++ ((options["--action"] == "monitor") and 1 == options["device_opt"].count("port") and \
++ 0 == options["device_opt"].count("port_as_ip")):
+
+ if 0 == options["device_opt"].count("port"):
+ print "N/A"
+--
+2.4.11
+
diff --git a/SOURCES/bz1393962-fence_vmware_soap-ssl-insecure-suppress-warning.patch b/SOURCES/bz1393962-fence_vmware_soap-ssl-insecure-suppress-warning.patch
new file mode 100644
index 0000000..2d93a82
--- /dev/null
+++ b/SOURCES/bz1393962-fence_vmware_soap-ssl-insecure-suppress-warning.patch
@@ -0,0 +1,22 @@
+From 9a7be1c6f8deb73070b12baa2332cd26ef17d0cd Mon Sep 17 00:00:00 2001
+From: Isaac Freeman
+Date: Mon, 21 Nov 2016 11:30:05 -0500
+Subject: [PATCH] Suppress InsecureRequestWarning when ssl_insecure is given
+
+---
+ fence/agents/vmware_soap/fence_vmware_soap.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/fence/agents/vmware_soap/fence_vmware_soap.py b/fence/agents/vmware_soap/fence_vmware_soap.py
+index df84ae5..93f9658 100644
+--- a/fence/agents/vmware_soap/fence_vmware_soap.py
++++ b/fence/agents/vmware_soap/fence_vmware_soap.py
+@@ -42,6 +42,8 @@ def soap_login(options):
+
+ if options.has_key("--ssl") or options.has_key("--ssl-secure") or options.has_key("--ssl-insecure"):
+ if options.has_key("--ssl-insecure"):
++ from requests.packages.urllib3.exceptions import InsecureRequestWarning
++ requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
+ verify = False
+ else:
+ verify = True
diff --git a/SOURCES/bz1397889-monitor_port_as_ip.patch b/SOURCES/bz1397889-monitor_port_as_ip.patch
deleted file mode 100644
index 7d2585e..0000000
--- a/SOURCES/bz1397889-monitor_port_as_ip.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From a22d964c8a4d21fa3cca5f4b8e284319d77c4779 Mon Sep 17 00:00:00 2001
-From: Marek 'marx' Grac
-Date: Mon, 27 Jul 2015 11:02:31 +0200
-Subject: [PATCH] fencing: If --port-as-ip is used then monitor action should
- be 'status', not 'list'
-
-Resolves: rhbz#1390915
----
- fence/agents/lib/fencing.py.py | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
-index 1cc1eb0..8fa81c7 100644
---- a/fence/agents/lib/fencing.py.py
-+++ b/fence/agents/lib/fencing.py.py
-@@ -940,8 +940,9 @@ def fence_action(tn, options, set_power_fn, get_power_fn, get_outlet_list=None,
-
- ## Process options that manipulate fencing device
- #####
-- if options["--action"] in ["list", "list-status"] or \
-- ((options["--action"] == "monitor") and 1 == options["device_opt"].count("port")):
-+ if (options["--action"] in ["list", "list-status"]) or \
-+ ((options["--action"] == "monitor") and 1 == options["device_opt"].count("port") and \
-+ 0 == options["device_opt"].count("port_as_ip")):
-
- if 0 == options["device_opt"].count("port"):
- print "N/A"
---
-2.4.11
-
diff --git a/SOURCES/bz1403028-fencing-parameters_stdin.patch b/SOURCES/bz1403028-fencing-parameters_stdin.patch
new file mode 100644
index 0000000..7654637
--- /dev/null
+++ b/SOURCES/bz1403028-fencing-parameters_stdin.patch
@@ -0,0 +1,4932 @@
+From ba136b80c495bf867eb71afbf295f84f36132d46 Mon Sep 17 00:00:00 2001
+From: Marek 'marx' Grac
+Date: Wed, 22 Mar 2017 17:32:38 +0100
+Subject: [PATCH] fencing: Parameters from command-line can be used also on
+ STDIN
+
+Resolves: rhbz#1403028
+---
+ fence/agents/lib/fence2man.xsl | 6 +++
+ fence/agents/lib/fencing.py.py | 56 ++++++++++++++------
+ fence/agents/lib/metadata.rng | 3 +-
+ tests/data/metadata/fence_alom.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_amt.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_amt_ws.xml | 35 +++++++++++--
+ tests/data/metadata/fence_apc.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_apc_snmp.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_bladecenter.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_brocade.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_cisco_mds.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_cisco_ucs.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_compute.xml | 84 +++++++++++++++++++++++++-----
+ tests/data/metadata/fence_docker.xml | 21 ++++++--
+ tests/data/metadata/fence_drac.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_drac5.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_dummy.xml | 7 ++-
+ tests/data/metadata/fence_eaton_snmp.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_emerson.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_eps.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_hds_cb.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_hpblade.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_ibmblade.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_idrac.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_ifmib.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_ilo.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_ilo2.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_ilo3.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_ilo3_ssh.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_ilo4.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_ilo4_ssh.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_ilo_moonshot.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_ilo_mp.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_ilo_ssh.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_imm.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_intelmodular.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_ipdu.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_ipmilan.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_ldom.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_lpar.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_mpath.xml | 14 ++++-
+ tests/data/metadata/fence_netio.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_ovh.xml | 35 +++++++++++--
+ tests/data/metadata/fence_pve.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_raritan.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_rhevm.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_rsa.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_rsb.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_sanbox2.xml | 49 ++++++++++++++---
+ tests/data/metadata/fence_sbd.xml | 14 ++++-
+ tests/data/metadata/fence_scsi.xml | 13 ++++-
+ tests/data/metadata/fence_virsh.xml | 63 ++++++++++++++++++----
+ tests/data/metadata/fence_vmware_soap.xml | 42 ++++++++++++---
+ tests/data/metadata/fence_wti.xml | 56 +++++++++++++++++---
+ tests/data/metadata/fence_xenapi.xml | 35 +++++++++++--
+ tests/data/metadata/fence_zvmip.xml | 42 ++++++++++++---
+ 56 files changed, 2140 insertions(+), 367 deletions(-)
+
+diff --git a/fence/agents/lib/fence2man.xsl b/fence/agents/lib/fence2man.xsl
+index b31d33e..06fb7ab 100644
+--- a/fence/agents/lib/fence2man.xsl
++++ b/fence/agents/lib/fence2man.xsl
+@@ -2,6 +2,7 @@
+
+
+
++
+ .TP
+ .B
+ .B
+@@ -9,6 +10,11 @@
+
+ This parameter is always required.
+ (Default Value: )
++
++ Obsoletes:
++
++
++
+
+
+
+diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
+index 3646d60..399dbf2 100644
+--- a/fence/agents/lib/fencing.py.py
++++ b/fence/agents/lib/fencing.py.py
+@@ -521,7 +521,12 @@ 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 = [(key, all_opt[key]) for key in list(set(avail_opt)) if "longopt" in all_opt[key]]
++ # Find keys that are going to replace inconsistent names
++ mapping = dict([(opt["longopt"].replace("-", "_"), key) for (key, opt) in sorted_list if (key != opt["longopt"].replace("-", "_"))])
++ new_options = [(key, all_opt[mapping[key]]) for key in mapping]
++ sorted_list.extend(new_options)
++
+ sorted_list.sort(lambda x, y: cmp(x[1]["order"], y[1]["order"]))
+
+ print ""
+@@ -534,22 +539,32 @@ def metadata(avail_opt, options, docs):
+ if docs.has_key("vendorurl"):
+ print "" + docs["vendorurl"] + ""
+ print ""
+- for option, _ in sorted_list:
+- if all_opt[option].has_key("shortdesc"):
+- print "\t"
++
++ for (key, opt) in sorted_list:
++ info = ""
++ if key in all_opt:
++ if key != all_opt[key].get('longopt', key).replace("-", "_"):
++ info = "deprecated=\"1\""
++ else:
++ info = "obsoletes=\"%s\"" % (mapping.get(key))
++
++ if opt.has_key("shortdesc"):
++ if info != "":
++ info = " " + info
++ print "\t"
+
+ default = ""
+- if all_opt[option].has_key("default"):
+- default = str(all_opt[option]["default"])
+- elif options.has_key("--" + all_opt[option]["longopt"]) and all_opt[option]["getopt"].endswith(":"):
+- if options["--" + all_opt[option]["longopt"]]:
++ if opt.has_key("default"):
++ default = str(opt["default"])
++ elif options.has_key("--" + opt["longopt"]) and opt["getopt"].endswith(":"):
++ if options["--" + opt["longopt"]]:
+ try:
+- default = options["--" + all_opt[option]["longopt"]]
++ default = options["--" + opt["longopt"]]
+ except TypeError:
+ ## @todo/@note: Currently there is no clean way how to handle lists
+ ## we can create a string from it but we can't set it on command line
+- default = str(options["--" + all_opt[option]["longopt"]])
+- elif options.has_key("--" + all_opt[option]["longopt"]):
++ default = str(options["--" + opt["longopt"]])
++ elif options.has_key("--" + opt["longopt"]):
+ default = "true"
+
+ if default:
+@@ -560,7 +575,7 @@ def metadata(avail_opt, options, docs):
+ default = default.replace("'", "'")
+ default = "default=\"" + default + "\" "
+
+- mixed = all_opt[option]["help"]
++ mixed = opt["help"]
+ ## split it between option and help text
+ res = re.compile(r"^(.*?--\S+)\s+", re.IGNORECASE | re.S).search(mixed)
+ if None != res:
+@@ -568,18 +583,18 @@ def metadata(avail_opt, options, docs):
+ mixed = mixed.replace("<", "<").replace(">", ">")
+ print "\t\t"
+
+- if all_opt[option].has_key("choices"):
++ if opt.has_key("choices"):
+ print "\t\t"
+- for choice in all_opt[option]["choices"]:
++ for choice in opt["choices"]:
+ print "\t\t\t" % (choice)
+ print "\t\t"
+- elif all_opt[option]["getopt"].count(":") > 0:
+- t = all_opt[option].get("type", "string")
++ elif opt["getopt"].count(":") > 0:
++ t = opt.get("type", "string")
+ print("\t\t")
+ else:
+ print "\t\t"
+
+- print "\t\t" + all_opt[option]["shortdesc"] + ""
++ print "\t\t" + opt["shortdesc"] + ""
+ print "\t"
+ print ""
+ print ""
+@@ -678,14 +693,21 @@ def process_input(avail_opt):
+ else:
+ opt = {}
+ name = ""
++
++ mapping_longopt_names = dict([(all_opt[o].get("longopt"), o) for o in avail_opt])
++
+ for line in sys.stdin.readlines():
+ line = line.strip()
+ if (line.startswith("#")) or (len(line) == 0):
+ continue
+
+ (name, value) = (line + "=").split("=", 1)
++ name = name.replace("-", "_");
+ value = value[:-1]
+
++ if name in mapping_longopt_names:
++ name = mapping_longopt_names[name]
++
+ if avail_opt.count(name) == 0 and name in ["nodename"]:
+ continue
+ elif avail_opt.count(name) == 0:
+diff --git a/fence/agents/lib/metadata.rng b/fence/agents/lib/metadata.rng
+index 2185cbf..e0cd441 100644
+--- a/fence/agents/lib/metadata.rng
++++ b/fence/agents/lib/metadata.rng
+@@ -19,7 +19,8 @@
+
+
+
+-
++
++
+
+
+
+diff --git a/tests/data/metadata/fence_alom.xml b/tests/data/metadata/fence_alom.xml
+index f266e84..bcad280 100644
+--- a/tests/data/metadata/fence_alom.xml
++++ b/tests/data/metadata/fence_alom.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -63,17 +63,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml
+index 6c0dacb..5fad57f 100644
+--- a/tests/data/metadata/fence_amt.xml
++++ b/tests/data/metadata/fence_amt.xml
+@@ -8,7 +8,7 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -18,7 +18,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -36,12 +36,12 @@
+
+ Method to fence (onoff|cycle)
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -62,12 +62,37 @@
+
+ Fencing Action
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+@@ -121,7 +146,12 @@
+
+ Count of attempts to retry power on
+
+-
++
++
++
++ Use sudo (without password) when calling 3rd party sotfware.
++
++
+
+
+ Use sudo (without password) when calling 3rd party sotfware.
+diff --git a/tests/data/metadata/fence_apc.xml b/tests/data/metadata/fence_apc.xml
+index bd99eb2..eeb830c 100644
+--- a/tests/data/metadata/fence_apc.xml
++++ b/tests/data/metadata/fence_apc.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -68,17 +68,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_apc_snmp.xml b/tests/data/metadata/fence_apc_snmp.xml
+index d7f6e1b..9bf7322 100644
+--- a/tests/data/metadata/fence_apc_snmp.xml
++++ b/tests/data/metadata/fence_apc_snmp.xml
+@@ -30,7 +30,7 @@
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -40,7 +40,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -68,7 +68,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -82,7 +82,7 @@
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -92,17 +92,47 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_bladecenter.xml b/tests/data/metadata/fence_bladecenter.xml
+index 70c76b7..26f2d00 100644
+--- a/tests/data/metadata/fence_bladecenter.xml
++++ b/tests/data/metadata/fence_bladecenter.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -63,17 +63,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_brocade.xml b/tests/data/metadata/fence_brocade.xml
+index fd0c399..38d2ac1 100644
+--- a/tests/data/metadata/fence_brocade.xml
++++ b/tests/data/metadata/fence_brocade.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -63,17 +63,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_cisco_mds.xml b/tests/data/metadata/fence_cisco_mds.xml
+index 305ac51..8a18ecb 100644
+--- a/tests/data/metadata/fence_cisco_mds.xml
++++ b/tests/data/metadata/fence_cisco_mds.xml
+@@ -30,7 +30,7 @@
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -40,7 +40,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -68,7 +68,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -82,7 +82,7 @@
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -92,17 +92,47 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_cisco_ucs.xml b/tests/data/metadata/fence_cisco_ucs.xml
+index 34b280a..b2ab55d 100644
+--- a/tests/data/metadata/fence_cisco_ucs.xml
++++ b/tests/data/metadata/fence_cisco_ucs.xml
+@@ -23,7 +23,7 @@
+
+ SSL connection with verifying fence device's certificate
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -33,7 +33,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -68,17 +68,47 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_compute.xml b/tests/data/metadata/fence_compute.xml
+index d90f167..0da03af 100644
+--- a/tests/data/metadata/fence_compute.xml
++++ b/tests/data/metadata/fence_compute.xml
+@@ -3,37 +3,37 @@
+ Used to tell Nova that compute nodes are down and to reschedule flagged instances
+
+
+-
++
+
+
+ Region Name
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Keystone Admin Auth URL
+
+-
++
+
+
+ Login password or passphrase
+
+-
++
+
+
+ Nova Endpoint type
+
+-
++
+
+
+ Keystone Admin Tenant
+@@ -43,11 +43,51 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Region Name
++
++
++
++
++ Keystone Admin Tenant
++
++
++
++
++ Login Name
++
++
++
++
++ Nova Endpoint type
++
++
++
++
++ Keystone Admin Auth URL
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+@@ -58,27 +98,47 @@
+
+ DNS domain in which hosts live
+
+-
++
+
+
+ Allow instances to be evacuated
+
+-
++
+
+
+ Disable functionality for dealing with shared storage
+
+-
++
++
++
++ Only record the target as needing evacuation
++
++
+
+
+ Only record the target as needing evacuation
+
++
++
++
++ Allow instances to be evacuated
++
++
++
++
++ Disable functionality for dealing with shared storage
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml
+index 4842fa3..a56bd39 100644
+--- a/tests/data/metadata/fence_docker.xml
++++ b/tests/data/metadata/fence_docker.xml
+@@ -13,7 +13,7 @@
+
+ SSL connection with verifying fence device's certificate
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -23,7 +23,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -56,6 +56,16 @@
+
+ Fencing Action
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ IP Address or Hostname
++
+
+
+
+@@ -76,7 +86,12 @@
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml
+index 18ca08c..00665a0 100644
+--- a/tests/data/metadata/fence_drac.xml
++++ b/tests/data/metadata/fence_drac.xml
+@@ -8,12 +8,12 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -23,7 +23,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -33,12 +33,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -48,17 +48,52 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_drac5.xml b/tests/data/metadata/fence_drac5.xml
+index 221c630..2990d7f 100644
+--- a/tests/data/metadata/fence_drac5.xml
++++ b/tests/data/metadata/fence_drac5.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -72,17 +72,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_dummy.xml b/tests/data/metadata/fence_dummy.xml
+index a7f4cb2..e54bc10 100644
+--- a/tests/data/metadata/fence_dummy.xml
++++ b/tests/data/metadata/fence_dummy.xml
+@@ -28,7 +28,12 @@
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_eaton_snmp.xml b/tests/data/metadata/fence_eaton_snmp.xml
+index 5a566a1..45eae2f 100644
+--- a/tests/data/metadata/fence_eaton_snmp.xml
++++ b/tests/data/metadata/fence_eaton_snmp.xml
+@@ -30,7 +30,7 @@
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -40,7 +40,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -68,7 +68,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -82,7 +82,7 @@
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -92,17 +92,47 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_emerson.xml b/tests/data/metadata/fence_emerson.xml
+index 5c7c08d..29dd4de 100644
+--- a/tests/data/metadata/fence_emerson.xml
++++ b/tests/data/metadata/fence_emerson.xml
+@@ -30,7 +30,7 @@
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -40,7 +40,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -68,7 +68,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -82,7 +82,7 @@
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -92,17 +92,47 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_eps.xml b/tests/data/metadata/fence_eps.xml
+index acfd5f8..916cff4 100644
+--- a/tests/data/metadata/fence_eps.xml
++++ b/tests/data/metadata/fence_eps.xml
+@@ -10,7 +10,7 @@ Agent basically works by connecting to hidden page and pass appropriate argument
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -20,7 +20,7 @@ Agent basically works by connecting to hidden page and pass appropriate argument
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -30,17 +30,17 @@ Agent basically works by connecting to hidden page and pass appropriate argument
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Name of hidden page
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -50,17 +50,52 @@ Agent basically works by connecting to hidden page and pass appropriate argument
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Name of hidden page
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_hds_cb.xml b/tests/data/metadata/fence_hds_cb.xml
+index 282a575..3addcde 100644
+--- a/tests/data/metadata/fence_hds_cb.xml
++++ b/tests/data/metadata/fence_hds_cb.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -63,17 +63,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_hpblade.xml b/tests/data/metadata/fence_hpblade.xml
+index f77d928..d822658 100644
+--- a/tests/data/metadata/fence_hpblade.xml
++++ b/tests/data/metadata/fence_hpblade.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -63,17 +63,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ibmblade.xml b/tests/data/metadata/fence_ibmblade.xml
+index 7b04732..0884401 100644
+--- a/tests/data/metadata/fence_ibmblade.xml
++++ b/tests/data/metadata/fence_ibmblade.xml
+@@ -30,7 +30,7 @@
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -40,7 +40,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -68,7 +68,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -82,7 +82,7 @@
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -92,17 +92,47 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
+index c1604a4..b768421 100644
+--- a/tests/data/metadata/fence_idrac.xml
++++ b/tests/data/metadata/fence_idrac.xml
+@@ -12,7 +12,7 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -22,12 +22,12 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Script to retrieve password
+@@ -45,7 +45,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Login password or passphrase
+@@ -94,17 +94,47 @@
+
+ Timeout (sec) for IPMI operation
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+@@ -158,7 +188,12 @@
+
+ Count of attempts to retry power on
+
+-
++
++
++
++ Use sudo (without password) when calling 3rd party sotfware.
++
++
+
+
+ Use sudo (without password) when calling 3rd party sotfware.
+diff --git a/tests/data/metadata/fence_ifmib.xml b/tests/data/metadata/fence_ifmib.xml
+index 8e347b5..56b3c24 100644
+--- a/tests/data/metadata/fence_ifmib.xml
++++ b/tests/data/metadata/fence_ifmib.xml
+@@ -32,7 +32,7 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -42,7 +42,7 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -70,7 +70,7 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -84,7 +84,7 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -94,17 +94,47 @@ It was written with managed ethernet switches in mind, in order to fence iSCSI S
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml
+index 93bcb59..5966a42 100644
+--- a/tests/data/metadata/fence_ilo.xml
++++ b/tests/data/metadata/fence_ilo.xml
+@@ -14,7 +14,7 @@
+
+ Disable TLS negotiation, force SSL 3.0
+
+-
++
+
+
+ Force ribcl version to use
+@@ -34,12 +34,12 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -49,7 +49,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -59,7 +59,7 @@
+
+ Disable TLS negotiaton, force TLS 1.0
+
+-
++
+
+
+ Login password or passphrase
+@@ -74,17 +74,52 @@
+
+ SSL connection without verifying fence device's certificate
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force ribcl version to use
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml
+index b607aea..c07f7a3 100644
+--- a/tests/data/metadata/fence_ilo2.xml
++++ b/tests/data/metadata/fence_ilo2.xml
+@@ -14,7 +14,7 @@
+
+ Disable TLS negotiation, force SSL 3.0
+
+-
++
+
+
+ Force ribcl version to use
+@@ -34,12 +34,12 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -49,7 +49,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -59,7 +59,7 @@
+
+ Disable TLS negotiaton, force TLS 1.0
+
+-
++
+
+
+ Login password or passphrase
+@@ -74,17 +74,52 @@
+
+ SSL connection without verifying fence device's certificate
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force ribcl version to use
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
+index 6623070..875d19e 100644
+--- a/tests/data/metadata/fence_ilo3.xml
++++ b/tests/data/metadata/fence_ilo3.xml
+@@ -12,7 +12,7 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -22,12 +22,12 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Script to retrieve password
+@@ -45,7 +45,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Login password or passphrase
+@@ -94,17 +94,47 @@
+
+ Timeout (sec) for IPMI operation
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+@@ -158,7 +188,12 @@
+
+ Count of attempts to retry power on
+
+-
++
++
++
++ Use sudo (without password) when calling 3rd party sotfware.
++
++
+
+
+ Use sudo (without password) when calling 3rd party sotfware.
+diff --git a/tests/data/metadata/fence_ilo3_ssh.xml b/tests/data/metadata/fence_ilo3_ssh.xml
+index 5c1eec4..ee43daa 100644
+--- a/tests/data/metadata/fence_ilo3_ssh.xml
++++ b/tests/data/metadata/fence_ilo3_ssh.xml
+@@ -10,22 +10,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -53,12 +53,12 @@
+
+ Method to fence (onoff|cycle)
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -73,17 +73,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
+index 4562c86..18ce056 100644
+--- a/tests/data/metadata/fence_ilo4.xml
++++ b/tests/data/metadata/fence_ilo4.xml
+@@ -12,7 +12,7 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -22,12 +22,12 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Script to retrieve password
+@@ -45,7 +45,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Login password or passphrase
+@@ -94,17 +94,47 @@
+
+ Timeout (sec) for IPMI operation
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+@@ -158,7 +188,12 @@
+
+ Count of attempts to retry power on
+
+-
++
++
++
++ Use sudo (without password) when calling 3rd party sotfware.
++
++
+
+
+ Use sudo (without password) when calling 3rd party sotfware.
+diff --git a/tests/data/metadata/fence_ilo4_ssh.xml b/tests/data/metadata/fence_ilo4_ssh.xml
+index 6c01add..9e37ebb 100644
+--- a/tests/data/metadata/fence_ilo4_ssh.xml
++++ b/tests/data/metadata/fence_ilo4_ssh.xml
+@@ -10,22 +10,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -53,12 +53,12 @@
+
+ Method to fence (onoff|cycle)
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -73,17 +73,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ilo_moonshot.xml b/tests/data/metadata/fence_ilo_moonshot.xml
+index 8a5bd21..a162daf 100644
+--- a/tests/data/metadata/fence_ilo_moonshot.xml
++++ b/tests/data/metadata/fence_ilo_moonshot.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -63,17 +63,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ilo_mp.xml b/tests/data/metadata/fence_ilo_mp.xml
+index d1cbf04..59205ce 100644
+--- a/tests/data/metadata/fence_ilo_mp.xml
++++ b/tests/data/metadata/fence_ilo_mp.xml
+@@ -8,22 +8,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -43,12 +43,12 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -63,17 +63,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ilo_ssh.xml b/tests/data/metadata/fence_ilo_ssh.xml
+index 0c62fba..4489f01 100644
+--- a/tests/data/metadata/fence_ilo_ssh.xml
++++ b/tests/data/metadata/fence_ilo_ssh.xml
+@@ -10,22 +10,22 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+
+-
++
+
+
+ SSH connection
+
+-
++
+
+
+ Force Python regex for command prompt
+@@ -53,12 +53,12 @@
+
+ Method to fence (onoff|cycle)
+
+-
++
+
+
+ Script to retrieve password
+
+-
++
+
+
+ Login password or passphrase
+@@ -73,17 +73,57 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ SSH connection
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
++
++
++
++ Force Python regex for command prompt
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
+index 7966384..0b1a3f7 100644
+--- a/tests/data/metadata/fence_imm.xml
++++ b/tests/data/metadata/fence_imm.xml
+@@ -12,7 +12,7 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -22,12 +22,12 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Script to retrieve password
+@@ -45,7 +45,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Login password or passphrase
+@@ -94,17 +94,47 @@
+
+ Timeout (sec) for IPMI operation
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+@@ -158,7 +188,12 @@
+
+ Count of attempts to retry power on
+
+-
++
++
++
++ Use sudo (without password) when calling 3rd party sotfware.
++
++
+
+
+ Use sudo (without password) when calling 3rd party sotfware.
+diff --git a/tests/data/metadata/fence_intelmodular.xml b/tests/data/metadata/fence_intelmodular.xml
+index 5d7b7ed..5cb1759 100644
+--- a/tests/data/metadata/fence_intelmodular.xml
++++ b/tests/data/metadata/fence_intelmodular.xml
+@@ -32,7 +32,7 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -42,7 +42,7 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -70,7 +70,7 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -84,7 +84,7 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -94,17 +94,47 @@ Note: Since firmware update version 2.7, SNMP v2 write support is removed, and r
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ipdu.xml b/tests/data/metadata/fence_ipdu.xml
+index 5c613bf..0f4797a 100644
+--- a/tests/data/metadata/fence_ipdu.xml
++++ b/tests/data/metadata/fence_ipdu.xml
+@@ -30,7 +30,7 @@
+
+ Set privacy protocol (DES|AES)
+
+-
++
+
+
+ Physical plug number, name of virtual machine or UUID
+@@ -40,7 +40,7 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+@@ -68,7 +68,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Script to retrieve password
+@@ -82,7 +82,7 @@
+
+ Set security level (noAuthNoPriv|authNoPriv|authPriv)
+
+-
++
+
+
+ Login password or passphrase
+@@ -92,17 +92,47 @@
+
+ Fencing Action
+
+-
++
+
+
+ Login Name
+
++
++
++
++ Physical plug number, name of virtual machine or UUID
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+diff --git a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
+index a8efcfa..25079dd 100644
+--- a/tests/data/metadata/fence_ipmilan.xml
++++ b/tests/data/metadata/fence_ipmilan.xml
+@@ -12,7 +12,7 @@
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP address or hostname of fencing device (together with --port-as-ip)
+@@ -22,12 +22,12 @@
+
+ Forces agent to use IPv6 addresses only
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+
+
+ Script to retrieve password
+@@ -45,7 +45,7 @@
+
+ Forces agent to use IPv4 addresses only
+
+-
++
+
+
+ Login password or passphrase
+@@ -94,17 +94,47 @@
+
+ Timeout (sec) for IPMI operation
+
+-
++
+
+
+ Login Name
+
++
++
++
++ IP address or hostname of fencing device (together with --port-as-ip)
++
++
++
++
++ Login Name
++
++
++
++
++ IP Address or Hostname
++
++
++
++
++ Login password or passphrase
++
++
++
++
++ Script to retrieve password
++
+
+
+
+ Verbose mode
+
+-
++
++
++
++ Write debug information to given file
++
++
+
+
+ Write debug information to given file
+@@ -158,7 +188,12 @@
+
+ Count of attempts to retry power on
+
+-
++
++
++
++ Use sudo (without password) when calling 3rd party sotfware.
++
++
+
+
+ Use sudo (without password) when calling 3rd party sotfware.
+diff --git a/tests/data/metadata/fence_ldom.xml b/tests/data/metadata/fence_ldom.xml
+index dc0147a..d697d0a 100644
+--- a/tests/data/metadata/fence_ldom.xml
++++ b/tests/data/metadata/fence_ldom.xml
+@@ -10,22 +10,22 @@ Very useful parameter is -c (or cmd_prompt in stdin mode). This must be set to s
+
+ TCP/UDP port to use for connection with device
+
+-
++
+
+
+ IP Address or Hostname
+
+-
++
+