Hello community,

here is the log from the commit of package fence-agents for openSUSE:Factory 
checked in at 2015-08-12 15:13:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fence-agents (Old)
 and      /work/SRC/openSUSE:Factory/.fence-agents.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fence-agents"

Changes:
--------
--- /work/SRC/openSUSE:Factory/fence-agents/fence-agents.changes        
2015-07-03 00:03:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fence-agents.new/fence-agents.changes   
2015-08-12 15:13:50.000000000 +0200
@@ -1,0 +2,18 @@
+Tue Aug 11 12:49:58 UTC 2015 - kgronl...@suse.com
+
+- Update to 4.0.20:
+  * In some cases password string was expected twice what lead to 'Unable 
+    to login'
+  * New fence agent fence_rcd_serial for DYI fence device (look at 
+    https://smcleod.net/rcd-stonith/ ; thanks to Sam McLeod)
+  * Fence_pve should default to SSL (thanks to Thomas Lamprecht)
+  * Fixes nroff error for fence_virsh (thanks to Adrian Vondendriesch)
+  * Improve monitoring for fence_scsi
+  * Fixes for devices which do not have port and obtaining status is not 
+    possible
+  * fence_ipmilan no longer print password to debug info
+  * Possibility to do force-ON even if device is already ON
+  * Possibility to declare that device does not have ON or OFF (usually 
+    only reboot works)
+
+-------------------------------------------------------------------

Old:
----
  fence-agents-4.0.19.tar.xz

New:
----
  fence-agents-4.0.20.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fence-agents.spec ++++++
--- /var/tmp/diff_new_pack.QLZOhB/_old  2015-08-12 15:13:50.000000000 +0200
+++ /var/tmp/diff_new_pack.QLZOhB/_new  2015-08-12 15:13:50.000000000 +0200
@@ -22,7 +22,7 @@
 Summary:        Fence Agents for Pacemaker from RHCS
 License:        GPL-2.0 and LGPL-2.1
 Group:          Productivity/Clustering/HA
-Version:        4.0.19
+Version:        4.0.20
 Release:        0
 Url:            https://github.com/ClusterLabs/fence-agents
 Source0:        %{name}-%{version}.tar.xz

++++++ fence-agents-4.0.19.tar.xz -> fence-agents-4.0.20.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fence-agents-4.0.19/configure.ac 
new/fence-agents-4.0.20/configure.ac
--- old/fence-agents-4.0.19/configure.ac        2015-07-01 12:51:18.000000000 
+0200
+++ new/fence-agents-4.0.20/configure.ac        2015-08-11 10:08:45.000000000 
+0200
@@ -303,6 +303,7 @@
                 fence/agents/ovh/Makefile
                 fence/agents/pve/Makefile
                 fence/agents/raritan/Makefile
+                fence/agents/rcd_serial/Makefile
                 fence/agents/rhevm/Makefile
                 fence/agents/rsa/Makefile
                 fence/agents/rsb/Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/fence/agents/dummy/fence_dummy.py 
new/fence-agents-4.0.20/fence/agents/dummy/fence_dummy.py
--- old/fence-agents-4.0.19/fence/agents/dummy/fence_dummy.py   2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/fence/agents/dummy/fence_dummy.py   2015-08-11 
10:08:45.000000000 +0200
@@ -115,6 +115,7 @@
        if (pinput.has_key("--type") and pinput["--type"] == "file") or 
(pinput.has_key("--type") == False):
                # hack to have fence agents that require ports 'fail' and one 
that do not 'file'
                device_opt.remove("port")
+               device_opt.remove("separator")
 
        options = check_input(device_opt, process_input(device_opt))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fence-agents-4.0.19/fence/agents/lib/fencing.py.py 
new/fence-agents-4.0.20/fence/agents/lib/fencing.py.py
--- old/fence-agents-4.0.19/fence/agents/lib/fencing.py.py      2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/fence/agents/lib/fencing.py.py      2015-08-11 
10:08:45.000000000 +0200
@@ -77,6 +77,10 @@
                "getopt" : "",
                "help" : "",
                "order" : 1},
+       "force_on" : {
+               "getopt" : "",
+               "help" : "",
+               "order" : 1},
        "action" : {
                "getopt" : "o:",
                "longopt" : "action",
@@ -124,6 +128,14 @@
                "getopt" : "",
                "help" : "",
                "order" : 1},
+       "no_on" : {
+               "getopt" : "",
+               "help" : "",
+               "order" : 1},
+       "no_off" : {
+               "getopt" : "",
+               "help" : "",
+               "order" : 1},
        "telnet" : {
                "getopt" : "",
                "help" : "",
@@ -476,7 +488,9 @@
                if DEPENDENCY_OPT.has_key(opt):
                        added_opt.extend([y for y in DEPENDENCY_OPT[opt] if 
options.count(y) == 0])
 
-       if not "port" in (options + added_opt) and not "nodename" in (options + 
added_opt):
+       if not "port" in (options + added_opt) and \
+                       not "nodename" in (options + added_opt) and \
+                       "ipaddr" in (options + added_opt):
                added_opt.append("port_as_ip")
                all_opt["port"]["help"] = "-n, --plug=[ip]                IP 
address or hostname of fencing device " \
                        "(together with --port-as-ip)"
@@ -571,9 +585,8 @@
 
        if "on" in available_actions:
                available_actions.remove("on")
-
-       on_target = ' on_target="1"' if avail_opt.count("on_target") else ''
-       print "\t<action name=\"on\"%s automatic=\"%d\"/>" % (on_target, 
avail_opt.count("fabric_fencing"))
+               on_target = ' on_target="1"' if avail_opt.count("on_target") 
else ''
+               print "\t<action name=\"on\"%s automatic=\"%d\"/>" % 
(on_target, avail_opt.count("fabric_fencing"))
 
        for action in available_actions:
                print "\t<action name=\"%s\" />" % (action)
@@ -749,7 +762,8 @@
                ## Process options that manipulate fencing device
                #####
                if (options["--action"] in ["list", "list-status"]) or \
-                       ((options["--action"] == "monitor") and 1 == 
options["device_opt"].count("port")):
+                       ((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"
@@ -768,9 +782,9 @@
                                ## keys can be numbers (port numbers) or 
strings (names of VM, UUID)
                                for outlet_id in outlets.keys():
                                        (alias, status) = outlets[outlet_id]
-                                       status = status.upper()
-                                       if not status in ["ON", "OFF"]:
+                                       if status is None or (not 
status.upper() in ["ON", "OFF"]):
                                                status = "UNKNOWN"
+                                               status = status.upper()
 
                                        if options["--action"] == "list":
                                                print outlet_id + 
options["--separator"] + alias
@@ -779,14 +793,20 @@
 
                        return
 
-               status = get_multi_power_fn(connection, options, get_power_fn)
+               if options["--action"] == "monitor" and not "port" in 
options["device_opt"] and "no_status" in options["device_opt"]:
+                       # Unable to do standard monitoring because 'status' 
action is not available
+                       return 0
 
-               if status != "on" and status != "off":
-                       fail(EC_STATUS)
+               status = None
+               if not "no_status" in options["device_opt"]:
+                       status = get_multi_power_fn(connection, options, 
get_power_fn)
+                       if status != "on" and status != "off":
+                               fail(EC_STATUS)
 
                if options["--action"] == status:
-                       print "Success: Already %s" % (status.upper())
-                       return 0
+                       if not (status == "on" and "force_on" in 
options["device_opt"]):
+                               print "Success: Already %s" % (status.upper())
+                               return 0
 
                if options["--action"] == "on":
                        if set_multi_power_fn(connection, options, 
set_power_fn, get_power_fn, 1 + int(options["--retry-on"])):
@@ -887,7 +907,11 @@
        if timeout is not None:
                timeout = float(timeout)
 
-       logging.info("Executing: %s\n", command)
+       # For IPMI password occurs on command line, it should not be part of 
debug info
+       log_command = command
+       if "ipmitool" in log_command:
+               log_command = re.sub("-P (.+?) -p", "-P [set] -p", log_command)
+       logging.info("Executing: %s\n", log_command)
 
        try:
                process = subprocess.Popen(shlex.split(command), 
stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env)
@@ -1030,7 +1054,7 @@
                options["eol"] = "\n"
                conn.send_eol(options["--username"])
                conn.log_expect(re_pass, int(options["--login-timeout"]))
-       elif re_pass.search(screen) != None:
+       elif re_pass.search(screen) == None:
                conn.log_expect(re_pass, int(options["--shell-timeout"]))
 
        try:
@@ -1107,6 +1131,10 @@
        else:
                all_opt["login"]["required"] = "0"
 
+       if device_opt.count("port_as_ip"):
+               all_opt["ipaddr"]["required"] = "0"
+               all_opt["port"]["required"] = "0"
+
        (available_actions, default_value) = _get_available_actions(device_opt)
        all_opt["action"]["default"] = default_value
 
@@ -1175,9 +1203,6 @@
        device_opt = options["device_opt"]
        valid_input = True
 
-       if "port_as_ip" in device_opt and not "--port-as-ip" in options and 
"--plug" in options:
-               fail_usage("Parser error: option -n/--plug is not recognized")
-
        if not options.has_key("--username") and \
                        device_opt.count("login") and 
(device_opt.count("no_login") == 0):
                valid_input = False
@@ -1291,6 +1316,10 @@
                        if "--" + value.get("longopt", "") == arg_name or "-" + 
value.get("getopt", "").rstrip(":") == arg_name][0]
                long_opts["--" + filtered_opts[all_key]["longopt"]] = 
dict(entered_opt)[arg_name]
 
+       # This test is specific because it does not apply to input on stdin
+       if "port_as_ip" in avail_opt and not "--port-as-ip" in long_opts and 
"--plug" in long_opts:
+               fail_usage("Parser error: option -n/--plug is not recognized")
+
        return long_opts
 
 # for ["John", "Mary", "Eli"] returns "John, Mary and Eli"
@@ -1347,6 +1376,10 @@
                default_value = "off"
        if device_opt.count("no_status"):
                available_actions.remove("status")
+       if device_opt.count("no_on"):
+               available_actions.remove("on")
+       if device_opt.count("no_off"):
+               available_actions.remove("off")
        if not device_opt.count("separator"):
                available_actions.remove("list")
                available_actions.remove("list-status")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fence-agents-4.0.19/fence/agents/pve/fence_pve.py 
new/fence-agents-4.0.20/fence/agents/pve/fence_pve.py
--- old/fence-agents-4.0.19/fence/agents/pve/fence_pve.py       2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/fence/agents/pve/fence_pve.py       2015-08-11 
10:08:45.000000000 +0200
@@ -106,11 +106,10 @@
                conn.setopt(pycurl.POSTFIELDS, urllib.urlencode(post))
        conn.setopt(pycurl.WRITEFUNCTION, output_buffer.write)
        conn.setopt(pycurl.TIMEOUT, int(options["--shell-timeout"]))
-       if opt.has_key("--ssl") or opt.has_key("--ssl-secure"):
+       if options.has_key("--ssl") or options.has_key("--ssl-secure"):
                conn.setopt(pycurl.SSL_VERIFYPEER, 1)
                conn.setopt(pycurl.SSL_VERIFYHOST, 2)
-
-       if opt.has_key("--ssl-insecure"):
+       else:
                conn.setopt(pycurl.SSL_VERIFYPEER, 0)
                conn.setopt(pycurl.SSL_VERIFYHOST, 0)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/fence/agents/rcd_serial/Makefile.am 
new/fence-agents-4.0.20/fence/agents/rcd_serial/Makefile.am
--- old/fence-agents-4.0.19/fence/agents/rcd_serial/Makefile.am 1970-01-01 
01:00:00.000000000 +0100
+++ new/fence-agents-4.0.20/fence/agents/rcd_serial/Makefile.am 2015-08-11 
10:08:45.000000000 +0200
@@ -0,0 +1,20 @@
+MAINTAINERCLEANFILES   = Makefile.in
+
+TARGET                 = fence_rcd_serial
+
+SRC                    = $(TARGET).py
+
+EXTRA_DIST             = $(SRC) 
+
+sbin_SCRIPTS           = $(TARGET)
+
+man_MANS               = $(TARGET).8
+
+FENCE_TEST_ARGS         = 
+
+fence_rcd_serial_check: $(TARGET)
+
+include $(top_srcdir)/make/fencebuild.mk
+include $(top_srcdir)/make/fenceman.mk
+include $(top_srcdir)/make/agentpycheck.mk
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/fence/agents/rcd_serial/fence_rcd_serial.py 
new/fence-agents-4.0.20/fence/agents/rcd_serial/fence_rcd_serial.py
--- old/fence-agents-4.0.19/fence/agents/rcd_serial/fence_rcd_serial.py 
1970-01-01 01:00:00.000000000 +0100
+++ new/fence-agents-4.0.20/fence/agents/rcd_serial/fence_rcd_serial.py 
2015-08-11 10:08:45.000000000 +0200
@@ -0,0 +1,106 @@
+#!/usr/bin/python -tt
+
+# Copyright 2015 Infoxchange, Danielle Madeley, Sam McLeod-Jones
+
+# Controls an RCD serial device
+# Ported from stonith/rcd_serial.c
+
+# The Following Agent Has Been Tested On:
+# CentOS Linux release 7.1.1503
+
+# Resource example:
+# primitive stonith_node_1 ocf:rcd_serial_py params port="/dev/ttyS0" 
time=1000 hostlist=stonith_node_1 stonith-timeout=5s
+
+import sys
+import atexit
+import os
+import struct
+import logging
+import time
+from fcntl import ioctl
+from termios import TIOCMBIC, TIOCMBIS, TIOCM_RTS, TIOCM_DTR
+from time import sleep
+
+sys.path.append("@FENCEAGENTSLIBDIR@")
+from fencing import *
+
+#BEGIN_VERSION_GENERATION
+RELEASE_VERSION="rcd_serial (serial reset) fence agent"
+REDHAT_COPYRIGHT=""
+BUILD_DATE="22 Jul 2015"
+#END_VERSION_GENERATION
+
+
+class RCDSerial(object):
+       """Control class for serial device"""
+
+       def __init__(self, port='/dev/ttyS0'):
+               self.fd = fd = os.open(port, os.O_RDONLY | os.O_NDELAY)
+               logging.debug("Opened %s on fd %i", port, fd)
+               ioctl(fd, TIOCMBIC, struct.pack('I', TIOCM_RTS | TIOCM_DTR))
+
+       def close(self):
+               """Close the serial device"""
+               logging.debug("Closing serial device")
+               ret = os.close(self.fd)
+
+               return ret
+
+       def toggle_pin(self, pin=TIOCM_DTR, time=1000):
+               """Toggle the pin high for the time specified"""
+
+               logging.debug("Set pin high")
+               ioctl(self.fd, TIOCMBIS, struct.pack('I', pin))
+
+               sleep(float(time) / 1000.)
+
+               logging.debug("Set pin low")
+               ioctl(self.fd, TIOCMBIC, struct.pack('I', pin))
+
+def reboot_device(conn, options):
+       conn.toggle_pin(time=options["--power-wait"])
+       return True
+
+def main():
+       device_opt = ["serial_port", "no_status", "no_password", "no_login", 
"method", "no_on", "no_off"]
+
+       atexit.register(atexit_handler)
+
+       all_opt["serial_port"] = {
+               "getopt" : ":",
+               "longopt" : "serial-port",
+               "help":"--serial-port=[port]           Port of the serial 
device (e.g. /dev/ttyS0)",
+               "required" : "1",
+               "shortdesc" : "Port of the serial device",
+               "default" : "/dev/ttyS0",
+               "order": 1
+       }
+
+       all_opt["method"]["default"] = "cycle"
+       all_opt["power_wait"]["default"] = "2"
+
+       options = check_input(device_opt, process_input(device_opt))
+
+       docs = {}
+       docs["shortdesc"] = "rcd_serial fence agent"
+       docs["longdesc"] = "fence_rcd_serial operates a serial cable that 
toggles a \
+reset of an opposing server using the reset switch on its motherboard. The \
+cable itself is simple with no power, network or moving parts. An example of \
+the cable is available here: https://smcleod.net/rcd-stonith/ and the circuit \
+design is available in the fence-agents src as SVG"
+       docs["vendorurl"] = "http://www.scl.co.uk/rcd_serial/";
+       show_docs(options, docs)
+
+       if options["--action"] in ["off", "reboot"]:
+               time.sleep(int(options["--delay"]))
+
+       ## Operate the fencing device
+       conn = RCDSerial(port=options["--serial-port"])
+       result = fence_action(conn, options, None, None, 
reboot_cycle_fn=reboot_device)
+       conn.close()
+
+       sys.exit(result)
+
+if __name__ == "__main__":
+       main()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/fence/agents/rcd_serial/rcd_serial_cable_diagram.svg 
new/fence-agents-4.0.20/fence/agents/rcd_serial/rcd_serial_cable_diagram.svg
--- 
old/fence-agents-4.0.19/fence/agents/rcd_serial/rcd_serial_cable_diagram.svg    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/fence-agents-4.0.20/fence/agents/rcd_serial/rcd_serial_cable_diagram.svg    
    2015-08-11 10:08:45.000000000 +0200
@@ -0,0 +1,276 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd";>
+<svg viewBox="24 24 1460 442" preserveAspectRatio="xMinYMin meet" 
version="1.1" xmlns="http://www.w3.org/2000/svg";>
+<g class="Diode">
+<line x1="320" y1="128" x2="342" y2="128" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="361" y1="128" x2="384" y2="128" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polygon fill="#000000" stroke="none" points="342,115 342,141 361,128 " />
+<polygon stroke="#000000" stroke-width="2" fill="none" points="342,115 342,141 
361,128 " />
+<line x1="361" y1="115" x2="361" y2="141" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<text x="322" y="103" font-family="sans-serif">1N4148</text>
+</g>
+<g class="Diode">
+<line x1="320" y1="288" x2="342" y2="288" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="361" y1="288" x2="384" y2="288" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polygon fill="#000000" stroke="none" points="342,275 342,301 361,288 " />
+<polygon stroke="#000000" stroke-width="2" fill="none" points="342,275 342,301 
361,288 " />
+<line x1="361" y1="275" x2="361" y2="301" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<text x="317" y="263" font-family="sans-serif">1N4148.</text>
+</g>
+<g class="Resistor">
+<line x1="448" y1="128" x2="464" y2="128" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="496" y1="128" x2="512" y2="128" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="464,128 466.6667,120 469.3333,128 472,136 
474.6667,128 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="474.6667,128 477.3333,120 480,128 
482.6667,136 485.3333,128 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="485.3333,128 488,120 490.6667,128 
493.3333,136 496,128 " />
+<text x="465" y="113" font-family="sans-serif">10k</text>
+</g>
+<g class="Resistor">
+<line x1="448" y1="288" x2="464" y2="288" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="496" y1="288" x2="512" y2="288" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="464,288 466.6667,280 469.3333,288 472,296 
474.6667,288 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="474.6667,288 477.3333,280 480,288 
482.6667,296 485.3333,288 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="485.3333,288 488,280 490.6667,288 
493.3333,296 496,288 " />
+<text x="465" y="273" font-family="sans-serif">10k</text>
+</g>
+<g class="Resistor">
+<line x1="576" y1="384" x2="576" y2="368" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="576" y1="336" x2="576" y2="320" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="576,368 568,365.3333 576,362.6667 584,360 
576,357.3333 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="576,357.3333 568,354.6667 576,352 
584,349.3333 576,346.6667 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="576,346.6667 568,344 576,341.3333 
584,338.6667 576,336 " />
+<text x="591" y="357" font-family="sans-serif">20k</text>
+</g>
+<g class="Resistor">
+<line x1="672" y1="224" x2="672" y2="208" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="672" y1="176" x2="672" y2="160" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="672,208 664,205.3333 672,202.6667 680,200 
672,197.3333 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="672,197.3333 664,194.6667 672,192 
680,189.3333 672,186.6667 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="672,186.6667 664,184 672,181.3333 
680,178.6667 672,176 " />
+<text x="687" y="197" font-family="sans-serif">120</text>
+</g>
+<g class="Wire">
+<line x1="448" y1="128" x2="384" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="Wire">
+<line x1="448" y1="288" x2="384" y2="288" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="Wire">
+<line x1="512" y1="288" x2="576" y2="288" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="576" cy="288" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="576" y1="288" x2="608" y2="288" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="576" cy="288" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="512" y1="128" x2="672" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="672" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="672" y1="128" x2="672" y2="160" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="672" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="672" y1="256" x2="672" y2="224" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="Wire">
+<line x1="672" y1="416" x2="576" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="672" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+<ellipse cx="576" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="320" y1="128" x2="288" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="Wire">
+<line x1="288" y1="288" x2="320" y2="288" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="Resistor">
+<line x1="800" y1="320" x2="800" y2="304" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="800" y1="272" x2="800" y2="256" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="800,304 792,301.3333 800,298.6667 808,296 
800,293.3333 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="800,293.3333 792,290.6667 800,288 
808,285.3333 800,282.6667 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="800,282.6667 792,280 800,277.3333 
808,274.6667 800,272 " />
+<text x="815" y="293" font-family="sans-serif">100k</text>
+</g>
+<g class="Capacitor">
+<line x1="896" y1="320" x2="896" y2="292" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="884" y1="292" x2="908" y2="292" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="896" y1="256" x2="896" y2="284" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<path d="M 907.313708566442 279.313708431527 A 16 16 0 0 1 884.686291748284 
279.313708746254" stroke="#000000" stroke-width="3" fill="none" />
+<text x="918" y="293" font-family="sans-serif">100uF</text>
+</g>
+<g class="Wire">
+<line x1="800" y1="256" x2="800" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="800" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="896" y1="256" x2="896" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="896" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="896" y1="128" x2="800" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="896" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+<ellipse cx="800" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="896" y1="416" x2="800" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="896" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+<ellipse cx="800" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="LED">
+<line x1="992" y1="160" x2="992" y2="182" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="992" y1="201" x2="992" y2="224" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polygon fill="#FFFFFF" stroke="none" points="1005,182 979,182 992,201 " />
+<polygon stroke="#000000" stroke-width="2" fill="none" points="1005,182 
979,182 992,201 " />
+<line x1="1005" y1="201" x2="979" y2="201" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<text x="1013" y="197" font-family="sans-serif">Red LED</text>
+<line x1="1003" y1="192" x2="1007" y2="195" stroke="#000000" stroke-width="2" 
stroke-linecap="round" fill="none" />
+<line x1="1006" y1="188" x2="1010" y2="191" stroke="#000000" stroke-width="2" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="LED">
+<line x1="992" y1="288" x2="992" y2="310" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="992" y1="329" x2="992" y2="352" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polygon fill="#FFFFFF" stroke="none" points="1005,310 979,310 992,329 " />
+<polygon stroke="#000000" stroke-width="2" fill="none" points="1005,310 
979,310 992,329 " />
+<line x1="1005" y1="329" x2="979" y2="329" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="1003" y1="320" x2="1007" y2="323" stroke="#000000" stroke-width="2" 
stroke-linecap="round" fill="none" />
+<line x1="1006" y1="316" x2="1010" y2="319" stroke="#000000" stroke-width="2" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="BJT Transistor (NPN)">
+<line x1="1088" y1="288" x2="1060" y2="308" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="1088" y1="352" x2="1060" y2="332" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polygon fill="#000000" stroke="none" points="1088,352 1080,336 1070,349 " />
+<line x1="1024" y1="320" x2="1056" y2="320" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polygon fill="#000000" stroke="none" points="1056,294 1062,294 1062,346 
1056,346 " />
+<text x="1087" y="325" font-family="sans-serif">PS2501 Optocoupler</text>
+<ellipse cx="1024" cy="320" rx="4" ry="4" stroke="#000000" stroke-width="1" 
fill="none" />
+</g>
+<g class="Wire">
+<line x1="992" y1="288" x2="992" y2="224" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<text x="1007" y="261" font-family="sans-serif">1</text>
+</g>
+<g class="Port">
+<polygon fill="#FFFFFF" stroke="none" points="1184,256 1192,246 1248,246 
1248,266 1192,266 " />
+<polygon stroke="#000000" stroke-width="1" fill="none" points="1184,256 
1192,246 1248,246 1248,266 1192,266 " />
+<text x="1211" y="261" font-family="sans-serif">1</text>
+<text x="1256" y="261" font-family="sans-serif">RWL</text>
+</g>
+<g class="Port">
+<polygon fill="#FFFFFF" stroke="none" points="1184,384 1192,374 1248,374 
1248,394 1192,394 " />
+<polygon stroke="#000000" stroke-width="1" fill="none" points="1184,384 
1192,374 1248,374 1248,394 1192,394 " />
+<text x="1211" y="389" font-family="sans-serif">2</text>
+<text x="1256" y="389" font-family="sans-serif">RWG</text>
+</g>
+<g class="Port">
+<polygon fill="#FFFFFF" stroke="none" points="288,128 280,138 224,138 224,118 
280,118 " />
+<polygon stroke="#000000" stroke-width="1" fill="none" points="288,128 280,138 
224,138 224,118 280,118 " />
+<text x="251" y="133" font-family="sans-serif">7</text>
+<text x="186" y="133" font-family="sans-serif">RTS</text>
+</g>
+<g class="Port">
+<polygon fill="#FFFFFF" stroke="none" points="288,288 280,298 224,298 224,278 
280,278 " />
+<polygon stroke="#000000" stroke-width="1" fill="none" points="288,288 280,298 
224,298 224,278 280,278 " />
+<text x="251" y="293" font-family="sans-serif">4</text>
+<text x="186" y="293" font-family="sans-serif">DTR</text>
+</g>
+<g class="Port">
+<polygon fill="#FFFFFF" stroke="none" points="288,416 280,426 224,426 224,406 
280,406 " />
+<polygon stroke="#000000" stroke-width="1" fill="none" points="288,416 280,426 
224,426 224,406 280,406 " />
+<text x="251" y="421" font-family="sans-serif">5</text>
+<text x="196" y="421" font-family="sans-serif">SG</text>
+</g>
+<g class="Wire">
+<line x1="576" y1="416" x2="288" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="576" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="896" y1="416" x2="992" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="896" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="896" y1="128" x2="992" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="896" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="992" y1="160" x2="992" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+</g>
+<g class="Wire">
+<line x1="1088" y1="256" x2="1184" y2="256" stroke="#000000" 
stroke-width="1.5" stroke-linecap="round" fill="none" />
+<text x="1131" y="241" font-family="sans-serif">4</text>
+</g>
+<g class="Wire">
+<line x1="1088" y1="384" x2="1184" y2="384" stroke="#000000" 
stroke-width="1.5" stroke-linecap="round" fill="none" />
+<text x="1131" y="369" font-family="sans-serif">3</text>
+</g>
+<g class="RS232 Serial Connector">
+<rect x="56" y="248" width="106" height="62" fill="#FFFFFF" stroke="none" />
+<rect x="56" y="248" width="106" height="62" rx="5" ry="5" stroke="#000000" 
stroke-width="2" fill="none" />
+<text x="84" y="266" font-family="sans-serif">RS232</text>
+<text x="79" y="284" font-family="sans-serif">Serial</text>
+<text x="64" y="302" font-family="sans-serif">Connector</text>
+</g>
+<g class="Motherboard Reset Pins">
+<rect x="1304" y="280" width="126" height="62" fill="#FFFFFF" stroke="none" />
+<rect x="1304" y="280" width="126" height="62" rx="5" ry="5" stroke="#000000" 
stroke-width="2" fill="none" />
+<text x="1312" y="298" font-family="sans-serif">Motherboard</text>
+<text x="1342" y="316" font-family="sans-serif">Reset</text>
+<text x="1347" y="334" font-family="sans-serif">Pins</text>
+</g>
+<g class="n-MOSFET">
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="640,312 672,312 672,320 " />
+<polyline stroke="#000000" stroke-linecap="round" stroke-linejoin="round" 
stroke-width="3" fill="none" points="640,264 672,264 672,256 " />
+<line x1="640" y1="312" x2="640" y2="288" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="640" y1="288" x2="640" y2="264" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="640" y1="312" x2="640" y2="320" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="640" y1="264" x2="640" y2="256" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<polygon fill="#000000" stroke="none" points="672,312 656,304 656,320 " />
+<line x1="608" y1="288" x2="630" y2="288" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<line x1="630" y1="264" x2="630" y2="312" stroke="#000000" stroke-width="3" 
stroke-linecap="round" fill="none" />
+<text x="679" y="293" font-family="sans-serif">6512A-ND1</text>
+</g>
+<g class="Wire">
+<line x1="672" y1="128" x2="800" y2="128" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="672" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+<ellipse cx="800" cy="128" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="672" y1="416" x2="800" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="672" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+<ellipse cx="800" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="576" y1="288" x2="576" y2="320" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="576" cy="288" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="576" y1="384" x2="576" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="576" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="992" y1="352" x2="992" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<text x="1007" y="389" font-family="sans-serif">2</text>
+</g>
+<g class="Wire">
+<line x1="672" y1="320" x2="672" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="672" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="896" y1="320" x2="896" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="896" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Wire">
+<line x1="800" y1="320" x2="800" y2="416" stroke="#000000" stroke-width="1.5" 
stroke-linecap="round" fill="none" />
+<ellipse cx="800" cy="416" rx="4" ry="4" fill="#000000" stroke="none" />
+</g>
+<g class="Delayed Serial Cable For STONITH">
+<rect x="536" y="56" width="336" height="26" fill="#FFFFFF" stroke="none" />
+<text x="544" y="74" font-family="sans-serif">Delayed Serial Cable For 
STONITH</text>
+</g>
+<g class="Wire">
+<line x1="1088" y1="256" x2="1088" y2="288" stroke="#000000" 
stroke-width="1.5" stroke-linecap="round" fill="none" />
+</g>
+<g class="Wire">
+<line x1="1088" y1="384" x2="1088" y2="352" stroke="#000000" 
stroke-width="1.5" stroke-linecap="round" fill="none" />
+</g>
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fence-agents-4.0.19/fence/agents/scsi/fence_scsi.py 
new/fence-agents-4.0.20/fence/agents/scsi/fence_scsi.py
--- old/fence-agents-4.0.19/fence/agents/scsi/fence_scsi.py     2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/fence/agents/scsi/fence_scsi.py     2015-08-11 
10:08:45.000000000 +0200
@@ -88,6 +88,7 @@
 
 # check if host is ready to execute actions
 def do_action_monitor(options):
+       # Check if required binaries are installed
        if bool(run_cmd(options, options["--sg_persist-path"] + " -V")["err"]):
                logging.error("Unable to run " + options["--sg_persist-path"])
                return 1
@@ -98,6 +99,11 @@
                        bool(run_cmd(options,   options["--vgs-path"] + " 
--version")["err"])):
                logging.error("Unable to run " + options["--vgs-path"])
                return 1
+
+       # Keys have to be present in order to fence/unfence
+       get_key()
+       dev_read()
+
        return 0
 
 
@@ -396,7 +402,7 @@
 
        device_opt = ["no_login", "no_password", "devices", "nodename", "key",\
        "aptpl", "fabric_fencing", "on_target", "corosync-cmap_path",\
-       "sg_persist_path", "sg_turs_path", "logfile", "vgs_path"]
+       "sg_persist_path", "sg_turs_path", "logfile", "vgs_path", "force_on"]
 
        define_new_opts()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/fence/agents/virsh/fence_virsh.py 
new/fence-agents-4.0.20/fence/agents/virsh/fence_virsh.py
--- old/fence-agents-4.0.19/fence/agents/virsh/fence_virsh.py   2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/fence/agents/virsh/fence_virsh.py   2015-08-11 
10:08:45.000000000 +0200
@@ -74,7 +74,7 @@
 
        all_opt["secure"]["default"] = "1"
        all_opt["cmd_prompt"]["default"] = [r"\[EXPECT\]#\ "]
-       all_opt["ssh_options"]["default"] = "-t '/bin/bash -c \"" + 
r"PS1=\[EXPECT\]#\  " + "/bin/bash --noprofile --norc\"'"
+       all_opt["ssh_options"]["default"] = "-t '/bin/bash -c \"" + 
r"PS1=\\[EXPECT\\]#\  " + "/bin/bash --noprofile --norc\"'"
 
        options = check_input(device_opt, process_input(device_opt))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_alom.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_alom.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_alom.xml  2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_alom.xml  2015-08-11 
10:08:45.000000000 +0200
@@ -28,7 +28,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -53,7 +53,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_amt.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_amt.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_amt.xml   2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_amt.xml   2015-08-11 
10:08:45.000000000 +0200
@@ -29,7 +29,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -57,7 +57,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_drac.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_drac.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_drac.xml  2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_drac.xml  2015-08-11 
10:08:45.000000000 +0200
@@ -23,7 +23,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -48,7 +48,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_dummy.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_dummy.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_dummy.xml 2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_dummy.xml 2015-08-11 
10:08:45.000000000 +0200
@@ -8,11 +8,6 @@
                <content type="string" default="reboot"  />
                <shortdesc lang="en">Fencing action</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
-               <getopt mixed="-n, --plug=[ip]" />
-               <content type="string"  />
-               <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
-       </parameter>
        <parameter name="random_sleep_range" unique="0" required="0">
                <getopt mixed="--random_sleep_range=[seconds]" />
                <content type="string"  />
@@ -58,11 +53,6 @@
                <content type="string" default="5"  />
                <shortdesc lang="en">Wait X seconds for cmd prompt after 
login</shortdesc>
        </parameter>
-       <parameter name="port_as_ip" unique="0" required="0">
-               <getopt mixed="--port-as-ip" />
-               <content type="boolean"  />
-               <shortdesc lang="en">Make "port/plug" to be an alias to IP 
address</shortdesc>
-       </parameter>
        <parameter name="power_timeout" unique="0" required="0">
                <getopt mixed="--power-timeout=[seconds]" />
                <content type="string" default="20"  />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_idrac.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_idrac.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_idrac.xml 2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_idrac.xml 2015-08-11 
10:08:45.000000000 +0200
@@ -36,7 +36,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -74,7 +74,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo.xml   2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo.xml   2015-08-11 
10:08:45.000000000 +0200
@@ -19,7 +19,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -49,7 +49,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo2.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo2.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo2.xml  2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo2.xml  2015-08-11 
10:08:45.000000000 +0200
@@ -19,7 +19,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -49,7 +49,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo3.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo3.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo3.xml  2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo3.xml  2015-08-11 
10:08:45.000000000 +0200
@@ -36,7 +36,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -74,7 +74,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo3_ssh.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo3_ssh.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo3_ssh.xml      
2015-07-01 12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo3_ssh.xml      
2015-08-11 10:08:45.000000000 +0200
@@ -30,7 +30,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -63,7 +63,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo4.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo4.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo4.xml  2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo4.xml  2015-08-11 
10:08:45.000000000 +0200
@@ -36,7 +36,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -74,7 +74,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo4_ssh.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo4_ssh.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo4_ssh.xml      
2015-07-01 12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo4_ssh.xml      
2015-08-11 10:08:45.000000000 +0200
@@ -30,7 +30,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -63,7 +63,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo_mp.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo_mp.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo_mp.xml        
2015-07-01 12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo_mp.xml        
2015-08-11 10:08:45.000000000 +0200
@@ -28,7 +28,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -53,7 +53,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ilo_ssh.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ilo_ssh.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ilo_ssh.xml       
2015-07-01 12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ilo_ssh.xml       
2015-08-11 10:08:45.000000000 +0200
@@ -30,7 +30,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -63,7 +63,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_imm.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_imm.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_imm.xml   2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_imm.xml   2015-08-11 
10:08:45.000000000 +0200
@@ -36,7 +36,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -74,7 +74,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_ipmilan.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_ipmilan.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_ipmilan.xml       
2015-07-01 12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_ipmilan.xml       
2015-08-11 10:08:45.000000000 +0200
@@ -36,7 +36,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -74,7 +74,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_mpath.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_mpath.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_mpath.xml 2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_mpath.xml 2015-08-11 
10:08:45.000000000 +0200
@@ -19,11 +19,6 @@
                <content type="string"  />
                <shortdesc lang="en">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).</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
-               <getopt mixed="-n, --plug=[ip]" />
-               <content type="string"  />
-               <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
-       </parameter>
        <parameter name="verbose" unique="0" required="0">
                <getopt mixed="-v, --verbose" />
                <content type="boolean"  />
@@ -59,11 +54,6 @@
                <content type="string" default="/usr/sbin/mpathpersist"  />
                <shortdesc lang="en">Path to mpathpersist binary</shortdesc>
        </parameter>
-       <parameter name="port_as_ip" unique="0" required="0">
-               <getopt mixed="--port-as-ip" />
-               <content type="boolean"  />
-               <shortdesc lang="en">Make "port/plug" to be an alias to IP 
address</shortdesc>
-       </parameter>
        <parameter name="power_timeout" unique="0" required="0">
                <getopt mixed="--power-timeout=[seconds]" />
                <content type="string" default="20"  />
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_rcd_serial.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_rcd_serial.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_rcd_serial.xml    
1970-01-01 01:00:00.000000000 +0100
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_rcd_serial.xml    
2015-08-11 10:08:45.000000000 +0200
@@ -0,0 +1,81 @@
+<?xml version="1.0" ?>
+<resource-agent name="fence_rcd_serial" shortdesc="rcd_serial fence agent" >
+<longdesc>fence_rcd_serial operates a serial cable that toggles a reset of an 
opposing server using the reset switch on its motherboard. The cable itself is 
simple with no power, network or moving parts. An example of the cable is 
available here: https://smcleod.net/rcd-stonith/ and the circuit design is 
available in the fence-agents src as SVG</longdesc>
+<vendor-url>http://www.scl.co.uk/rcd_serial/</vendor-url>
+<parameters>
+       <parameter name="action" unique="0" required="1">
+               <getopt mixed="-o, --action=[action]" />
+               <content type="string" default="reboot"  />
+               <shortdesc lang="en">Fencing action</shortdesc>
+       </parameter>
+       <parameter name="method" unique="0" required="0">
+               <getopt mixed="-m, --method=[method]" />
+               <content type="select" default="cycle"  >
+                       <option value="onoff" />
+                       <option value="cycle" />
+               </content>
+               <shortdesc lang="en">Method to fence</shortdesc>
+       </parameter>
+       <parameter name="serial_port" unique="0" required="1">
+               <getopt mixed="--serial-port=[port]" />
+               <content type="string" default="/dev/ttyS0"  />
+               <shortdesc lang="en">Port of the serial device</shortdesc>
+       </parameter>
+       <parameter name="verbose" unique="0" required="0">
+               <getopt mixed="-v, --verbose" />
+               <content type="boolean"  />
+               <shortdesc lang="en">Verbose mode</shortdesc>
+       </parameter>
+       <parameter name="debug" unique="0" required="0">
+               <getopt mixed="-D, --debug-file=[debugfile]" />
+               <content type="string"  />
+               <shortdesc lang="en">Write debug information to given 
file</shortdesc>
+       </parameter>
+       <parameter name="version" unique="0" required="0">
+               <getopt mixed="-V, --version" />
+               <content type="boolean"  />
+               <shortdesc lang="en">Display version information and 
exit</shortdesc>
+       </parameter>
+       <parameter name="help" unique="0" required="0">
+               <getopt mixed="-h, --help" />
+               <content type="boolean"  />
+               <shortdesc lang="en">Display help and exit</shortdesc>
+       </parameter>
+       <parameter name="delay" unique="0" required="0">
+               <getopt mixed="--delay=[seconds]" />
+               <content type="string" default="0"  />
+               <shortdesc lang="en">Wait X seconds before fencing is 
started</shortdesc>
+       </parameter>
+       <parameter name="login_timeout" unique="0" required="0">
+               <getopt mixed="--login-timeout=[seconds]" />
+               <content type="string" default="5"  />
+               <shortdesc lang="en">Wait X seconds for cmd prompt after 
login</shortdesc>
+       </parameter>
+       <parameter name="power_timeout" unique="0" required="0">
+               <getopt mixed="--power-timeout=[seconds]" />
+               <content type="string" default="20"  />
+               <shortdesc lang="en">Test X seconds for status change after 
ON/OFF</shortdesc>
+       </parameter>
+       <parameter name="power_wait" unique="0" required="0">
+               <getopt mixed="--power-wait=[seconds]" />
+               <content type="string" default="2"  />
+               <shortdesc lang="en">Wait X seconds after issuing 
ON/OFF</shortdesc>
+       </parameter>
+       <parameter name="shell_timeout" unique="0" required="0">
+               <getopt mixed="--shell-timeout=[seconds]" />
+               <content type="string" default="3"  />
+               <shortdesc lang="en">Wait X seconds for cmd prompt after 
issuing command</shortdesc>
+       </parameter>
+       <parameter name="retry_on" unique="0" required="0">
+               <getopt mixed="--retry-on=[attempts]" />
+               <content type="string" default="1"  />
+               <shortdesc lang="en">Count of attempts to retry power 
on</shortdesc>
+       </parameter>
+</parameters>
+<actions>
+       <action name="reboot" />
+       <action name="monitor" />
+       <action name="metadata" />
+       <action name="validate-all" />
+</actions>
+</resource-agent>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_rsa.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_rsa.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_rsa.xml   2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_rsa.xml   2015-08-11 
10:08:45.000000000 +0200
@@ -28,7 +28,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -53,7 +53,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_rsb.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_rsb.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_rsb.xml   2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_rsb.xml   2015-08-11 
10:08:45.000000000 +0200
@@ -28,7 +28,7 @@
                <content type="boolean"  />
                <shortdesc lang="en">Forces agent to use IPv6 addresses 
only</shortdesc>
        </parameter>
-       <parameter name="ipaddr" unique="0" required="1">
+       <parameter name="ipaddr" unique="0" required="0">
                <getopt mixed="-a, --ip=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing 
device</shortdesc>
@@ -53,7 +53,7 @@
                <content type="string"  />
                <shortdesc lang="en">Script to run to retrieve 
password</shortdesc>
        </parameter>
-       <parameter name="port" unique="0" required="1">
+       <parameter name="port" unique="0" required="0">
                <getopt mixed="-n, --plug=[ip]" />
                <content type="string"  />
                <shortdesc lang="en">IP address or hostname of fencing device 
(together with --port-as-ip)</shortdesc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fence-agents-4.0.19/tests/data/metadata/fence_virsh.xml 
new/fence-agents-4.0.20/tests/data/metadata/fence_virsh.xml
--- old/fence-agents-4.0.19/tests/data/metadata/fence_virsh.xml 2015-07-01 
12:51:18.000000000 +0200
+++ new/fence-agents-4.0.20/tests/data/metadata/fence_virsh.xml 2015-08-11 
10:08:45.000000000 +0200
@@ -67,7 +67,7 @@
        </parameter>
        <parameter name="ssh_options" unique="0" required="0">
                <getopt mixed="--ssh-options=[options]" />
-               <content type="string" default="-t &apos;/bin/bash -c 
&quot;PS1=\[EXPECT\]#\  /bin/bash --noprofile --norc&quot;&apos;"  />
+               <content type="string" default="-t &apos;/bin/bash -c 
&quot;PS1=\\[EXPECT\\]#\  /bin/bash --noprofile --norc&quot;&apos;"  />
                <shortdesc lang="en">SSH options to use</shortdesc>
        </parameter>
        <parameter name="verbose" unique="0" required="0">


Reply via email to