[Debian-ha-commits] [fence-agents] 01/03: Imported Upstream version 4.0.21

myon at debian.org myon at debian.org
Sat Sep 12 18:11:22 UTC 2015


This is an automated email from the git hooks/post-receive script.

myon pushed a commit to branch master
in repository fence-agents.

commit 5c6169e07bc3a3f121e1e8a7675b9ab4dae7b2e5
Author: Christoph Berg <myon at debian.org>
Date:   Sat Sep 12 18:41:57 2015 +0200

    Imported Upstream version 4.0.21
---
 .tarball-version                                   |   2 +-
 .version                                           |   2 +-
 ChangeLog                                          | 159 +++++++++++++++++++++
 configure                                          |  23 +--
 configure.ac                                       |   1 +
 fence/agents/alom/Makefile.in                      |   4 +-
 fence/agents/amt/Makefile.in                       |   4 +-
 fence/agents/apc/Makefile.in                       |   4 +-
 fence/agents/apc_snmp/Makefile.in                  |   4 +-
 fence/agents/bladecenter/Makefile.in               |   4 +-
 fence/agents/brocade/Makefile.in                   |   4 +-
 fence/agents/cisco_mds/Makefile.in                 |   4 +-
 fence/agents/cisco_ucs/Makefile.in                 |   4 +-
 fence/agents/compute/Makefile.in                   |   4 +-
 fence/agents/docker/Makefile.in                    |   4 +-
 fence/agents/drac/Makefile.in                      |   4 +-
 fence/agents/drac5/Makefile.in                     |   4 +-
 fence/agents/dummy/Makefile.in                     |   4 +-
 fence/agents/dummy/fence_dummy.py                  |   5 +-
 fence/agents/eaton_snmp/Makefile.in                |   4 +-
 fence/agents/emerson/Makefile.in                   |   4 +-
 fence/agents/eps/Makefile.in                       |   4 +-
 fence/agents/hds_cb/Makefile.in                    |   4 +-
 fence/agents/hpblade/Makefile.in                   |   4 +-
 fence/agents/ibmblade/Makefile.in                  |   4 +-
 fence/agents/ifmib/Makefile.in                     |   4 +-
 fence/agents/ilo/Makefile.in                       |   4 +-
 fence/agents/ilo/fence_ilo.py                      |  17 +++
 fence/agents/ilo_moonshot/Makefile.in              |   4 +-
 fence/agents/ilo_mp/Makefile.in                    |   4 +-
 fence/agents/ilo_ssh/Makefile.in                   |   4 +-
 fence/agents/intelmodular/Makefile.in              |   4 +-
 fence/agents/ipdu/Makefile.in                      |   4 +-
 fence/agents/ipmilan/Makefile.in                   |   4 +-
 fence/agents/ldom/Makefile.in                      |   4 +-
 fence/agents/lib/fence2man.xsl                     |   2 +
 fence/agents/lib/fencing.py.py                     |  67 ++++++---
 fence/agents/lpar/Makefile.in                      |   4 +-
 fence/agents/mpath/Makefile.in                     |   4 +-
 fence/agents/mpath/fence_mpath.py                  |  12 +-
 fence/agents/netio/Makefile.in                     |   4 +-
 fence/agents/ovh/Makefile.in                       |   4 +-
 fence/agents/pve/Makefile.in                       |   4 +-
 fence/agents/pve/fence_pve.py                      |   5 +-
 fence/agents/raritan/Makefile.in                   |   4 +-
 fence/agents/rcd_serial/Makefile.am                |  20 +++
 fence/agents/{xenapi => rcd_serial}/Makefile.in    |  18 +--
 fence/agents/rcd_serial/fence_rcd_serial.py        | 106 ++++++++++++++
 fence/agents/rhevm/Makefile.in                     |   4 +-
 fence/agents/rsa/Makefile.in                       |   4 +-
 fence/agents/rsb/Makefile.in                       |   4 +-
 fence/agents/sanbox2/Makefile.in                   |   4 +-
 fence/agents/scsi/Makefile.in                      |   4 +-
 fence/agents/scsi/fence_scsi.py                    |  26 +++-
 fence/agents/virsh/Makefile.in                     |   4 +-
 fence/agents/virsh/fence_virsh.py                  |   6 +-
 fence/agents/vmware_soap/Makefile.in               |   4 +-
 fence/agents/wti/Makefile.in                       |   4 +-
 fence/agents/xenapi/Makefile.in                    |   4 +-
 fence/agents/zvm/Makefile.in                       |   4 +-
 make/agentpycheck.mk                               |   4 +-
 tests/data/metadata/fence_alom.xml                 |   4 +-
 tests/data/metadata/fence_alom.xml.orig            | 126 ----------------
 tests/data/metadata/fence_amt.xml                  |   4 +-
 tests/data/metadata/fence_amt.xml.orig             | 130 -----------------
 tests/data/metadata/fence_drac.xml                 |   4 +-
 tests/data/metadata/fence_drac.xml.orig            | 111 --------------
 tests/data/metadata/fence_dummy.xml                |  10 --
 tests/data/metadata/fence_dummy.xml.rej            |  23 ---
 tests/data/metadata/fence_idrac.xml                |   4 +-
 tests/data/metadata/fence_idrac.xml.orig           | 157 --------------------
 tests/data/metadata/fence_ilo.xml                  |   4 +-
 tests/data/metadata/fence_ilo.xml.orig             | 137 ------------------
 tests/data/metadata/fence_ilo2.xml                 |   4 +-
 tests/data/metadata/fence_ilo2.xml.orig            | 137 ------------------
 tests/data/metadata/fence_ilo3.xml                 |   4 +-
 tests/data/metadata/fence_ilo3.xml.orig            | 157 --------------------
 tests/data/metadata/fence_ilo3_ssh.xml             |   4 +-
 tests/data/metadata/fence_ilo3_ssh.xml.orig        | 136 ------------------
 tests/data/metadata/fence_ilo4.xml                 |   4 +-
 tests/data/metadata/fence_ilo4.xml.orig            | 157 --------------------
 tests/data/metadata/fence_ilo4_ssh.xml             |   4 +-
 tests/data/metadata/fence_ilo4_ssh.xml.orig        | 136 ------------------
 tests/data/metadata/fence_ilo_mp.xml               |   4 +-
 tests/data/metadata/fence_ilo_mp.xml.orig          | 126 ----------------
 tests/data/metadata/fence_ilo_ssh.xml              |   4 +-
 tests/data/metadata/fence_ilo_ssh.xml.orig         | 136 ------------------
 tests/data/metadata/fence_imm.xml                  |   4 +-
 tests/data/metadata/fence_imm.xml.orig             | 157 --------------------
 tests/data/metadata/fence_ipmilan.xml              |   4 +-
 tests/data/metadata/fence_ipmilan.xml.orig         | 157 --------------------
 tests/data/metadata/fence_mpath.xml                |  12 +-
 tests/data/metadata/fence_mpath.xml.orig           |  96 -------------
 .../{fence_dummy.xml.orig => fence_rcd_serial.xml} |  76 +++++-----
 tests/data/metadata/fence_rsa.xml                  |   4 +-
 tests/data/metadata/fence_rsa.xml.orig             | 126 ----------------
 tests/data/metadata/fence_rsb.xml                  |   4 +-
 tests/data/metadata/fence_rsb.xml.orig             | 126 ----------------
 tests/data/metadata/fence_virsh.xml                |   7 +-
 99 files changed, 578 insertions(+), 2573 deletions(-)

diff --git a/.tarball-version b/.tarball-version
index 805226c..249b676 100644
--- a/.tarball-version
+++ b/.tarball-version
@@ -1 +1 @@
-4.0.19
+4.0.21
diff --git a/.version b/.version
index 805226c..249b676 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-4.0.19
+4.0.21
diff --git a/ChangeLog b/ChangeLog
index 66640b2..634d2bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,162 @@
+2015-08-26  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_ilo: If gnutls can not open connection than --tls1.0 is tried in second attempt
+	Resolves: rhbz#1256902
+
+2015-08-19  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_virsh: Fix --missing-as-off
+	Patch 0aacfcf209c473ab4c1fff4de653a673b92484de was pushed unintentionally before tests were done.
+
+	testing: Start using Travis CI
+
+	fence_virsh: Add --missing-as-off option
+	Resolves: rhbz#1254821
+
+2015-08-17  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	testing: Improve tests for --delay
+	(and fix fence_dummy that was broken)
+
+	fence_mpath: Update XML metadata to match changes in --devices
+
+	fence_mpath: --devices is required argument
+	In the fence_scsi this argument is not required because it can be automatically determined.
+	This is not yet valid for fence_mpath.
+
+	fence_scsi: Watchdog script should pass on a system that is not configured
+
+2015-08-13  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_mpath: Fix unfencing problems when /var/run/cluster is removed and monitor these files
+	This patch solves same problem as 2f1be046c0c880ec14caff2193b4daa18bcecab7 and 5b3c2b26e5dfa4784d44ac875c7780495bacdde8
+	for fence_scsi.
+
+2015-08-12  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fencing: Actions 'list-status' and 'validate-all' were not documented in manual pages
+
+2015-08-11  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fencing: Do NOT check if --plug is used together with --port-as-ip for stdin input
+	On STDIN input it should be ignored as other unknown parameters.
+
+2015-08-10  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fencing: Fence library should work correctly also when power state is None
+	Previously, valid states ON/OFF were accepted and all other values were mapped to UNKNOWN. But if value is None then
+	it is not possible to do state.upper() and fencing fails.
+
+	Resolves: rhbz#1251491
+
+2015-08-07  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #13 from GamerSource/united_fixes
+	Default to SSL to comply with pve and fix typo
+
+2015-08-07  Thomas Lamprecht  <t.lamprecht at proxmox.com>
+
+	Default to SSL to comply with pve and fix typo
+	SSL encrypted communication, so we set it as
+	default. As pve generates a self signed certificate we set
+	insecure ssl as default option. A unencrypted connection is rejected
+	by the PVE proxy so it isn't needed as an option.
+	Also a typo (opts instead of options) was corrected.
+
+2015-08-05  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fencing: update XML to conform --ip-as-port where both ip and port are optional
+	These values are used in pacemaker to determine if arguments are specified.
+
+	fence_rcd_serial: Add support for delay
+
+	fence_rcd_serial: Fix Makefile to contain proper test args
+
+	fence_dummy: Update XML metadata and fix its creation
+	fence_dummy is special because 'port' in device_opt is removed at the run-time
+	according to other option.
+
+	fence_rcd_serial: Add regression XML tests
+
+	fence_virsh: Update XML metadata to match df21ebbee6a328dcacdf60a65cf34e4742a73aa8
+
+	fencing: When --port-as-ip is used both IP and plug should not be required
+	Resolves: rhbz#1214522
+
+	fence_rcd_serial: Fix & in documentation
+
+2015-08-05  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #11 from sammcj/master
+	fence_rcd_serial: update description, makefile & add circuit diagram
+
+2015-07-28  Sam McLeod  <samm at infoxchange.net.au>
+
+	update description, makefile & add circuit diagram
+
+2015-07-27  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_rcd_serial: Add new fence-agent to build system
+
+2015-07-27  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #10 from sammcj/master
+	New / re-write of the rcd_serial fence agent
+
+2015-07-27  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fencing: Password was awaited twice in some cases when connecting via telnet
+	Regression by commit 364de00cdd7619ad65f5eabdab2d8499d448045d
+
+	fencing: If --port-as-ip is used then monitor action should be 'status', not 'list'
+
+2015-07-23  Sam McLeod  <samm at infoxchange.net.au>
+
+	update fence_rcd_serial.py from RH
+
+2015-07-22  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fencing: Add device_opt for no_on, no_off
+	Useful for devices that can't do ON/OFF. Usually they can do reboot only
+
+	fencing: reboot_fn should work also with no_status
+
+	fencing: Monitor action should pass with "no_status"
+	If fence device does not have multiple ports then 'status' action is doing during
+	'monitor' action. If device has 'no_status' option then it is not possible to do
+	the 'status' but monitor should not fail as this is expected.
+
+	fencing: Do not add --port-as-ip when --ip is not present
+
+2015-07-22  Sam McLeod  <samm at infoxchange.net.au>
+
+	Add fence_rcd_serial
+
+2015-07-16  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_scsi: Monitor action checks also existence of files with SCSI keys
+
+	fencing: Add option that forces ON even if machine is already ON
+	This feature is required for fence_scsi when we have to do unfencing after reboot even
+	if node was not fenced at all. Keys for SCSI are stored in /var/run/cluster and so they
+	have to re-created.
+
+2015-07-12  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #9 from disco-stu/master
+	fence_virsh: escape "EXPECT" string.
+
+2015-07-11  Adrian Vondendriesch  <adrian.vondendriesch at credativ.de>
+
+	fence_virsh: escape "EXPECT" string.
+	Escape EXPECT string to prevent nroff error "warning: can't find special
+	character `EXPECT\'`"
+
+2015-07-10  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_ipmilan: Do not print password to debug info
+	Resolves: rhbz#1241648
+
 2015-07-01  Marek 'marx' Grac  <mgrac at redhat.com>
 
 	tests: Update XML metadata for changed agents
diff --git a/configure b/configure
index 5081f83..37ecaa2 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for fence-agents 4.0.19.
+# Generated by GNU Autoconf 2.69 for fence-agents 4.0.21.
 #
 # Report bugs to <linux-cluster at redhat.com>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='fence-agents'
 PACKAGE_TARNAME='fence-agents'
-PACKAGE_VERSION='4.0.19'
-PACKAGE_STRING='fence-agents 4.0.19'
+PACKAGE_VERSION='4.0.21'
+PACKAGE_STRING='fence-agents 4.0.21'
 PACKAGE_BUGREPORT='linux-cluster at redhat.com'
 PACKAGE_URL=''
 
@@ -1351,7 +1351,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures fence-agents 4.0.19 to adapt to many kinds of systems.
+\`configure' configures fence-agents 4.0.21 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1421,7 +1421,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of fence-agents 4.0.19:";;
+     short | recursive ) echo "Configuration of fence-agents 4.0.21:";;
    esac
   cat <<\_ACEOF
 
@@ -1538,7 +1538,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-fence-agents configure 4.0.19
+fence-agents configure 4.0.21
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2136,7 +2136,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by fence-agents $as_me 4.0.19, which was
+It was created by fence-agents $as_me 4.0.21, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3000,7 +3000,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='fence-agents'
- VERSION='4.0.19'
+ VERSION='4.0.21'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -17635,7 +17635,7 @@ CPPFLAGS="-I\$(top_builddir)/make -I\$(top_srcdir)/make -I. $ENV_CPPFLAGS"
 LDFLAGS="$ENV_LDFLAGS"
 
 
-ac_config_files="$ac_config_files Makefile fence/Makefile fence/agents/Makefile fence/agents/alom/Makefile fence/agents/apc/Makefile fence/agents/apc_snmp/Makefile fence/agents/amt/Makefile fence/agents/bladecenter/Makefile fence/agents/brocade/Makefile fence/agents/cisco_mds/Makefile fence/agents/cisco_ucs/Makefile fence/agents/compute/Makefile fence/agents/docker/Makefile fence/agents/drac/Makefile fence/agents/drac5/Makefile fence/agents/dummy/Makefile fence/agents/eaton_snmp/Makefile [...]
+ac_config_files="$ac_config_files Makefile fence/Makefile fence/agents/Makefile fence/agents/alom/Makefile fence/agents/apc/Makefile fence/agents/apc_snmp/Makefile fence/agents/amt/Makefile fence/agents/bladecenter/Makefile fence/agents/brocade/Makefile fence/agents/cisco_mds/Makefile fence/agents/cisco_ucs/Makefile fence/agents/compute/Makefile fence/agents/docker/Makefile fence/agents/drac/Makefile fence/agents/drac5/Makefile fence/agents/dummy/Makefile fence/agents/eaton_snmp/Makefile [...]
 
 
 cat >confcache <<\_ACEOF
@@ -18180,7 +18180,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by fence-agents $as_me 4.0.19, which was
+This file was extended by fence-agents $as_me 4.0.21, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18246,7 +18246,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-fence-agents config.status 4.0.19
+fence-agents config.status 4.0.21
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -18792,6 +18792,7 @@ do
     "fence/agents/ovh/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/ovh/Makefile" ;;
     "fence/agents/pve/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/pve/Makefile" ;;
     "fence/agents/raritan/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/raritan/Makefile" ;;
+    "fence/agents/rcd_serial/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/rcd_serial/Makefile" ;;
     "fence/agents/rhevm/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/rhevm/Makefile" ;;
     "fence/agents/rsa/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/rsa/Makefile" ;;
     "fence/agents/rsb/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/rsb/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 42e8ffc..b54e71c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -303,6 +303,7 @@ AC_CONFIG_FILES([Makefile
 		 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 --git a/fence/agents/alom/Makefile.in b/fence/agents/alom/Makefile.in
index 11a793d..2a85a97 100644
--- a/fence/agents/alom/Makefile.in
+++ b/fence/agents/alom/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/amt/Makefile.in b/fence/agents/amt/Makefile.in
index 363a147..a95332f 100644
--- a/fence/agents/amt/Makefile.in
+++ b/fence/agents/amt/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/apc/Makefile.in b/fence/agents/apc/Makefile.in
index 9e7961c..007c2fe 100644
--- a/fence/agents/apc/Makefile.in
+++ b/fence/agents/apc/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/apc_snmp/Makefile.in b/fence/agents/apc_snmp/Makefile.in
index ceb6fea..eaa3566 100644
--- a/fence/agents/apc_snmp/Makefile.in
+++ b/fence/agents/apc_snmp/Makefile.in
@@ -644,9 +644,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/bladecenter/Makefile.in b/fence/agents/bladecenter/Makefile.in
index 34442a3..86b9d33 100644
--- a/fence/agents/bladecenter/Makefile.in
+++ b/fence/agents/bladecenter/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/brocade/Makefile.in b/fence/agents/brocade/Makefile.in
index 3dd2a63..0e64945 100644
--- a/fence/agents/brocade/Makefile.in
+++ b/fence/agents/brocade/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/cisco_mds/Makefile.in b/fence/agents/cisco_mds/Makefile.in
index 738abb4..fc733d3 100644
--- a/fence/agents/cisco_mds/Makefile.in
+++ b/fence/agents/cisco_mds/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/cisco_ucs/Makefile.in b/fence/agents/cisco_ucs/Makefile.in
index 06e1c44..87822c2 100644
--- a/fence/agents/cisco_ucs/Makefile.in
+++ b/fence/agents/cisco_ucs/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/compute/Makefile.in b/fence/agents/compute/Makefile.in
index 98dd8de..6adf11a 100644
--- a/fence/agents/compute/Makefile.in
+++ b/fence/agents/compute/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/docker/Makefile.in b/fence/agents/docker/Makefile.in
index ce3665c..b614b93 100644
--- a/fence/agents/docker/Makefile.in
+++ b/fence/agents/docker/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/drac/Makefile.in b/fence/agents/drac/Makefile.in
index 27b1704..c2862e9 100644
--- a/fence/agents/drac/Makefile.in
+++ b/fence/agents/drac/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/drac5/Makefile.in b/fence/agents/drac5/Makefile.in
index aaf2af6..21e35be 100644
--- a/fence/agents/drac5/Makefile.in
+++ b/fence/agents/drac5/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/dummy/Makefile.in b/fence/agents/dummy/Makefile.in
index aa6efc8..d81a035 100644
--- a/fence/agents/dummy/Makefile.in
+++ b/fence/agents/dummy/Makefile.in
@@ -639,9 +639,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/dummy/fence_dummy.py b/fence/agents/dummy/fence_dummy.py
index 7f95b8f..932009e 100644
--- a/fence/agents/dummy/fence_dummy.py
+++ b/fence/agents/dummy/fence_dummy.py
@@ -6,7 +6,7 @@ import time
 import atexit
 sys.path.append("@FENCEAGENTSLIBDIR@")
 from fencing import *
-from fencing import fail_usage
+from fencing import fail_usage, run_delay
 
 #BEGIN_VERSION_GENERATION
 RELEASE_VERSION="New Dummy Agent - test release on steroids"
@@ -115,6 +115,7 @@ def main():
 	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))
 
@@ -124,6 +125,8 @@ def main():
 	docs["vendorurl"] = "http://www.example.com"
 	show_docs(options, docs)
 
+	run_delay(options)
+
 	# random sleep for testing
 	if options.has_key("--random_sleep_range"):
 		val = int(options["--random_sleep_range"])
diff --git a/fence/agents/eaton_snmp/Makefile.in b/fence/agents/eaton_snmp/Makefile.in
index 7c0f398..af82304 100644
--- a/fence/agents/eaton_snmp/Makefile.in
+++ b/fence/agents/eaton_snmp/Makefile.in
@@ -642,9 +642,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/emerson/Makefile.in b/fence/agents/emerson/Makefile.in
index c7f8c7f..cb79bc7 100644
--- a/fence/agents/emerson/Makefile.in
+++ b/fence/agents/emerson/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/eps/Makefile.in b/fence/agents/eps/Makefile.in
index 9d2b54f..1167d7e 100644
--- a/fence/agents/eps/Makefile.in
+++ b/fence/agents/eps/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/hds_cb/Makefile.in b/fence/agents/hds_cb/Makefile.in
index 404cb5a..29eb16a 100644
--- a/fence/agents/hds_cb/Makefile.in
+++ b/fence/agents/hds_cb/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/hpblade/Makefile.in b/fence/agents/hpblade/Makefile.in
index 67b950f..161e045 100644
--- a/fence/agents/hpblade/Makefile.in
+++ b/fence/agents/hpblade/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ibmblade/Makefile.in b/fence/agents/ibmblade/Makefile.in
index b44bf50..7bcd468 100644
--- a/fence/agents/ibmblade/Makefile.in
+++ b/fence/agents/ibmblade/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ifmib/Makefile.in b/fence/agents/ifmib/Makefile.in
index a3a66c8..d925e48 100644
--- a/fence/agents/ifmib/Makefile.in
+++ b/fence/agents/ifmib/Makefile.in
@@ -642,9 +642,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ilo/Makefile.in b/fence/agents/ilo/Makefile.in
index e29a680..d63fffd 100644
--- a/fence/agents/ilo/Makefile.in
+++ b/fence/agents/ilo/Makefile.in
@@ -644,9 +644,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ilo/fence_ilo.py b/fence/agents/ilo/fence_ilo.py
index 692f317..43f9c4c 100644
--- a/fence/agents/ilo/fence_ilo.py
+++ b/fence/agents/ilo/fence_ilo.py
@@ -95,6 +95,23 @@ the iLO card through an XML stream."
 	try:
 		conn.send("<?xml version=\"1.0\"?>\r\n")
 		conn.log_expect(["</RIBCL>", "<END_RIBCL/>"], int(options["--login-timeout"]))
+	except pexpect.TIMEOUT:
+		fail(EC_LOGIN_DENIED)
+	except pexpect.EOF:
+		if "--tls1.0" in options:
+			fail(EC_LOGIN_DENIED)
+		options["--tls1.0"] = "1"
+		conn.close()
+		conn = fence_login(options)
+		try:
+			conn.send("<?xml version=\"1.0\"?>\r\n")
+			conn.log_expect(["</RIBCL>", "<END_RIBCL/>"], int(options["--login-timeout"]))
+		except pexpect.TIMEOUT:
+			fail(EC_LOGIN_DENIED)
+		except pexpect.EOF:
+			fail(EC_LOGIN_DENIED)
+
+	try:
 		version = re.compile("<RIBCL VERSION=\"(.*?)\"", re.IGNORECASE).search(conn.before).group(1)
 		if not options.has_key("--ribcl-version"):
 			options["--ribcl-version"] = float(version)
diff --git a/fence/agents/ilo_moonshot/Makefile.in b/fence/agents/ilo_moonshot/Makefile.in
index 8538fb5..3c628bd 100644
--- a/fence/agents/ilo_moonshot/Makefile.in
+++ b/fence/agents/ilo_moonshot/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ilo_mp/Makefile.in b/fence/agents/ilo_mp/Makefile.in
index 31403c5..88fee63 100644
--- a/fence/agents/ilo_mp/Makefile.in
+++ b/fence/agents/ilo_mp/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ilo_ssh/Makefile.in b/fence/agents/ilo_ssh/Makefile.in
index a64e9ee..1361f2f 100644
--- a/fence/agents/ilo_ssh/Makefile.in
+++ b/fence/agents/ilo_ssh/Makefile.in
@@ -644,9 +644,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/intelmodular/Makefile.in b/fence/agents/intelmodular/Makefile.in
index d163a8f..81e8760 100644
--- a/fence/agents/intelmodular/Makefile.in
+++ b/fence/agents/intelmodular/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ipdu/Makefile.in b/fence/agents/ipdu/Makefile.in
index e7d3565..a2c0bee 100644
--- a/fence/agents/ipdu/Makefile.in
+++ b/fence/agents/ipdu/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ipmilan/Makefile.in b/fence/agents/ipmilan/Makefile.in
index 4c9bfaf..61918c9 100644
--- a/fence/agents/ipmilan/Makefile.in
+++ b/fence/agents/ipmilan/Makefile.in
@@ -644,9 +644,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ldom/Makefile.in b/fence/agents/ldom/Makefile.in
index f407632..f76b067 100644
--- a/fence/agents/ldom/Makefile.in
+++ b/fence/agents/ldom/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/lib/fence2man.xsl b/fence/agents/lib/fence2man.xsl
index 97786ea..fd923f5 100644
--- a/fence/agents/lib/fence2man.xsl
+++ b/fence/agents/lib/fence2man.xsl
@@ -33,7 +33,9 @@
 <xsl:when test="@name = 'monitor'">Check the health of fence device</xsl:when>
 <xsl:when test="@name = 'metadata'">Display the XML metadata describing this resource.</xsl:when>
 <xsl:when test="@name = 'list'">List available plugs with aliases/virtual machines if there is support for more then one device. Returns N/A otherwise.</xsl:when>
+<xsl:when test="@name = 'list-status'">List available plugs with aliases/virtual machines and their power state if it can be obtained without additional commands.</xsl:when>
 <xsl:when test="@name = 'status'">This returns the status of the plug/virtual machine.</xsl:when>
+<xsl:when test="@name = 'validate-all'">Validate if all required parameters are entered.</xsl:when>
 <!-- Ehhh -->
 <xsl:otherwise> The operational behavior of this is not known.</xsl:otherwise>
 </xsl:choose>
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
index d95308b..b8d3d11 100644
--- a/fence/agents/lib/fencing.py.py
+++ b/fence/agents/lib/fencing.py.py
@@ -77,6 +77,10 @@ all_opt = {
 		"getopt" : "",
 		"help" : "",
 		"order" : 1},
+	"force_on" : {
+		"getopt" : "",
+		"help" : "",
+		"order" : 1},
 	"action" : {
 		"getopt" : "o:",
 		"longopt" : "action",
@@ -124,6 +128,14 @@ all_opt = {
 		"getopt" : "",
 		"help" : "",
 		"order" : 1},
+	"no_on" : {
+		"getopt" : "",
+		"help" : "",
+		"order" : 1},
+	"no_off" : {
+		"getopt" : "",
+		"help" : "",
+		"order" : 1},
 	"telnet" : {
 		"getopt" : "",
 		"help" : "",
@@ -476,7 +488,9 @@ def _add_dependency_options(options):
 		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 @@ def metadata(avail_opt, docs):
 
 	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 @@ def fence_action(connection, options, set_power_fn, get_power_fn, get_outlet_lis
 		## 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 @@ def fence_action(connection, options, set_power_fn, get_power_fn, get_outlet_lis
 				## 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 @@ def fence_action(connection, options, set_power_fn, get_power_fn, get_outlet_lis
 
 			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 @@ def run_command(options, command, timeout=None, env=None):
 	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 @@ def _login_telnet(options, re_login_string):
 		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 @@ def _update_metadata(options):
 	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 @@ def _validate_input(options, stop = True):
 	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 @@ def _parse_input_cmdline(avail_opt):
 			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 @@ def _get_available_actions(device_opt):
 		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 --git a/fence/agents/lpar/Makefile.in b/fence/agents/lpar/Makefile.in
index 3832c6d..a5b49df 100644
--- a/fence/agents/lpar/Makefile.in
+++ b/fence/agents/lpar/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/mpath/Makefile.in b/fence/agents/mpath/Makefile.in
index 06a0ad5..aef4547 100644
--- a/fence/agents/mpath/Makefile.in
+++ b/fence/agents/mpath/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/mpath/fence_mpath.py b/fence/agents/mpath/fence_mpath.py
index 94c3163..f990d7e 100644
--- a/fence/agents/mpath/fence_mpath.py
+++ b/fence/agents/mpath/fence_mpath.py
@@ -26,6 +26,10 @@ def get_status(conn, options):
 		else:
 			logging.debug("No registration for key "\
 				+ options["--key"] + " on device " + dev + "\n")
+
+	if options["--action"] == "monitor":
+		dev_read(options)
+
 	return status
 
 
@@ -133,8 +137,8 @@ def get_registration_keys(options, dev):
 def dev_write(options, dev):
 	file_path = options["--store-path"] + "/mpath.devices"
 
-	if not os.path.isdir(os.path.dirname(options["--store-path"])):
-		os.makedirs(os.path.dirname(options["--store-path"]))
+	if not os.path.isdir(options["--store-path"]):
+		os.makedirs(options["--store-path"])
 
 	try:
 		store_fh = open(file_path, "a+")
@@ -163,7 +167,7 @@ def define_new_opts():
 		"getopt" : "d:",
 		"longopt" : "devices",
 		"help" : "-d, --devices=[devices]        List of devices to use for current operation",
-		"required" : "0",
+		"required" : "1",
 		"shortdesc" : "List of devices to use for current operation. Devices can \
 be comma-separated list of device-mapper multipath devices (eg. /dev/dm-3). \
 Each device must support SCSI-3 persistent reservations.",
@@ -203,7 +207,7 @@ def main():
 	atexit.register(atexit_handler)
 
 	device_opt = ["no_login", "no_password", "devices", "key", "sudo", \
-	        "fabric_fencing", "on_target", "store_path", "mpathpersist_path"]
+	        "fabric_fencing", "on_target", "store_path", "mpathpersist_path", "force_on"]
 
 	define_new_opts()
 
diff --git a/fence/agents/netio/Makefile.in b/fence/agents/netio/Makefile.in
index 4b62d77..30635b3 100644
--- a/fence/agents/netio/Makefile.in
+++ b/fence/agents/netio/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/ovh/Makefile.in b/fence/agents/ovh/Makefile.in
index 22b924b..15652cd 100644
--- a/fence/agents/ovh/Makefile.in
+++ b/fence/agents/ovh/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/pve/Makefile.in b/fence/agents/pve/Makefile.in
index 525340b..a11d38e 100644
--- a/fence/agents/pve/Makefile.in
+++ b/fence/agents/pve/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/pve/fence_pve.py b/fence/agents/pve/fence_pve.py
old mode 100644
new mode 100755
index bb59a9b..39d0e86
--- a/fence/agents/pve/fence_pve.py
+++ b/fence/agents/pve/fence_pve.py
@@ -106,11 +106,10 @@ def send_cmd(options, cmd, post=None):
 		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 --git a/fence/agents/raritan/Makefile.in b/fence/agents/raritan/Makefile.in
index e7df695..84a453a 100644
--- a/fence/agents/raritan/Makefile.in
+++ b/fence/agents/raritan/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/rcd_serial/Makefile.am b/fence/agents/rcd_serial/Makefile.am
new file mode 100644
index 0000000..c1a1c79
--- /dev/null
+++ b/fence/agents/rcd_serial/Makefile.am
@@ -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 --git a/fence/agents/xenapi/Makefile.in b/fence/agents/rcd_serial/Makefile.in
similarity index 98%
copy from fence/agents/xenapi/Makefile.in
copy to fence/agents/rcd_serial/Makefile.in
index 8417fcb..16b584f 100644
--- a/fence/agents/xenapi/Makefile.in
+++ b/fence/agents/rcd_serial/Makefile.in
@@ -82,7 +82,7 @@ DIST_COMMON = $(top_srcdir)/make/fencebuild.mk \
 	$(top_srcdir)/make/fenceman.mk \
 	$(top_srcdir)/make/agentpycheck.mk $(srcdir)/Makefile.in \
 	$(srcdir)/Makefile.am
-subdir = fence/agents/xenapi
+subdir = fence/agents/rcd_serial
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -291,12 +291,12 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = Makefile.in
-TARGET = fence_xenapi
+TARGET = fence_rcd_serial
 SRC = $(TARGET).py
-EXTRA_DIST = $(SRC)
+EXTRA_DIST = $(SRC) 
 sbin_SCRIPTS = $(TARGET)
 man_MANS = $(TARGET).8
-FENCE_TEST_ARGS = -l test -p test -n 1 --session-url http://test
+FENCE_TEST_ARGS = 
 DATADIR := $(abs_top_srcdir)/tests/data/metadata
 AWK_VAL = 'BEGIN {store=-1} /name=\"store_path\"/ {store=2} {if (store!=0) {print}; store--}'
 all: all-am
@@ -311,9 +311,9 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/xenapi/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/rcd_serial/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu fence/agents/xenapi/Makefile
+	  $(AUTOMAKE) --gnu fence/agents/rcd_serial/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -574,6 +574,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+
+fence_rcd_serial_check: $(TARGET)
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -640,9 +642,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/rcd_serial/fence_rcd_serial.py b/fence/agents/rcd_serial/fence_rcd_serial.py
new file mode 100644
index 0000000..104efb9
--- /dev/null
+++ b/fence/agents/rcd_serial/fence_rcd_serial.py
@@ -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 --git a/fence/agents/rhevm/Makefile.in b/fence/agents/rhevm/Makefile.in
index 232b6f9..8677e7c 100644
--- a/fence/agents/rhevm/Makefile.in
+++ b/fence/agents/rhevm/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/rsa/Makefile.in b/fence/agents/rsa/Makefile.in
index 41a6668..644af2d 100644
--- a/fence/agents/rsa/Makefile.in
+++ b/fence/agents/rsa/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/rsb/Makefile.in b/fence/agents/rsb/Makefile.in
index 8b0de38..7367621 100644
--- a/fence/agents/rsb/Makefile.in
+++ b/fence/agents/rsb/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/sanbox2/Makefile.in b/fence/agents/sanbox2/Makefile.in
index 557802b..1d79181 100644
--- a/fence/agents/sanbox2/Makefile.in
+++ b/fence/agents/sanbox2/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/scsi/Makefile.in b/fence/agents/scsi/Makefile.in
index b9c2874..6d21e00 100644
--- a/fence/agents/scsi/Makefile.in
+++ b/fence/agents/scsi/Makefile.in
@@ -682,9 +682,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/scsi/fence_scsi.py b/fence/agents/scsi/fence_scsi.py
index 63b98a0..3bbe7c7 100644
--- a/fence/agents/scsi/fence_scsi.py
+++ b/fence/agents/scsi/fence_scsi.py
@@ -88,6 +88,7 @@ def set_status(conn, options):
 
 # 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 @@ def do_action_monitor(options):
 			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
 
 
@@ -199,12 +205,15 @@ def set_key(options):
 
 
 # read node key from file
-def get_key():
+def get_key(fail=True):
 	file_path = STORE_PATH + ".key"
 	try:
 		f = open(file_path, "r")
 	except IOError:
-		fail_usage("Failed: Cannot open file \""+ file_path + "\"")
+		if fail:
+			fail_usage("Failed: Cannot open file \""+ file_path + "\"")
+		else:
+			return None
 	return f.readline().strip().lower()
 
 
@@ -222,12 +231,15 @@ def dev_write(dev, options):
 	f.close()
 
 
-def dev_read():
+def dev_read(fail=True):
 	file_path = STORE_PATH + ".dev"
 	try:
 		f = open(file_path, "r")
 	except IOError:
-		fail_usage("Failed: Cannot open file \"" + file_path + "\"")
+		if fail:
+			fail_usage("Failed: Cannot open file \"" + file_path + "\"")
+		else:
+			return None
 	# get not empty lines from file
 	devs = [line.strip() for line in f if line.strip()]
 	f.close()
@@ -372,11 +384,11 @@ def scsi_check():
 	options["--power-timeout"] = "5"
 	if scsi_check_get_verbose():
 		logging.getLogger().setLevel(logging.DEBUG)
-	devs = dev_read()
+	devs = dev_read(fail=False)
 	if not devs:
 		logging.error("No devices found")
 		return 0
-	key = get_key()
+	key = get_key(fail=False)
 	if not key:
 		logging.error("Key not found")
 		return 0
@@ -396,7 +408,7 @@ def main():
 
 	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 --git a/fence/agents/virsh/Makefile.in b/fence/agents/virsh/Makefile.in
index 36ce50c..d10f2a2 100644
--- a/fence/agents/virsh/Makefile.in
+++ b/fence/agents/virsh/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/virsh/fence_virsh.py b/fence/agents/virsh/fence_virsh.py
index d3dd8fc..643f31f 100644
--- a/fence/agents/virsh/fence_virsh.py
+++ b/fence/agents/virsh/fence_virsh.py
@@ -54,6 +54,8 @@ def get_power_status(conn, options):
 	for line in conn.before.splitlines():
 		if line.strip() in ["running", "blocked", "idle", "no state", "paused"]:
 			return "on"
+		if "error: failed to get domain" in line.strip() and options.has_key("--missing-as-off"):
+			return "off"
 		if "error:" in line.strip():
 			fail_usage("Failed: You have to enter existing name/UUID of virtual machine!")
 
@@ -68,13 +70,13 @@ def set_power_status(conn, options):
 	time.sleep(int(options["--power-wait"]))
 
 def main():
-	device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", "port", "sudo"]
+	device_opt = ["ipaddr", "login", "passwd", "cmd_prompt", "secure", "port", "sudo", "missing_as_off"]
 
 	atexit.register(atexit_handler)
 
 	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 --git a/fence/agents/vmware_soap/Makefile.in b/fence/agents/vmware_soap/Makefile.in
index 3c35d3e..db16ef4 100644
--- a/fence/agents/vmware_soap/Makefile.in
+++ b/fence/agents/vmware_soap/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/wti/Makefile.in b/fence/agents/wti/Makefile.in
index ebba7df..e0e0835 100644
--- a/fence/agents/wti/Makefile.in
+++ b/fence/agents/wti/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/xenapi/Makefile.in b/fence/agents/xenapi/Makefile.in
index 8417fcb..9b81cc7 100644
--- a/fence/agents/xenapi/Makefile.in
+++ b/fence/agents/xenapi/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/fence/agents/zvm/Makefile.in b/fence/agents/zvm/Makefile.in
index 2740b12..4ab4662 100644
--- a/fence/agents/zvm/Makefile.in
+++ b/fence/agents/zvm/Makefile.in
@@ -640,9 +640,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/make/agentpycheck.mk b/make/agentpycheck.mk
index 9803b1d..45dcefb 100644
--- a/make/agentpycheck.mk
+++ b/make/agentpycheck.mk
@@ -19,9 +19,9 @@ delay-check.%: %
 	$(eval INPUT=$(subst delay-check.,,$@))
 	test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
 	python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\
-	sed 's/\.//' | tail -n 1` -ge 1000 || \
+	sed 's/\.//' | tail -n 1` -ge 1000 || ( \
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \
-	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --
+	python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false )
 
 rng-check.%: %
 	PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \
diff --git a/tests/data/metadata/fence_alom.xml b/tests/data/metadata/fence_alom.xml
index bdb7582..2a69464 100644
--- a/tests/data/metadata/fence_alom.xml
+++ b/tests/data/metadata/fence_alom.xml
@@ -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 --git a/tests/data/metadata/fence_alom.xml.orig b/tests/data/metadata/fence_alom.xml.orig
deleted file mode 100644
index 6bdefb7..0000000
--- a/tests/data/metadata/fence_alom.xml.orig
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_alom" shortdesc="Fence agent for Sun ALOM" >
-<longdesc>fence_alom is an I/O Fencing agent which can be used with ALOM connected machines.</longdesc>
-<vendor-url>http://www.sun.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="22"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="secure" unique="0" required="0">
-		<getopt mixed="-x, --ssh" />
-		<content type="boolean" default="1"  />
-		<shortdesc lang="en">SSH connection</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['sc\\>\\ ']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="identity_file" unique="0" required="0">
-		<getopt mixed="-k, --identity-file=[filename]" />
-		<content type="string"  />
-		<shortdesc lang="en">Identity file for ssh</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssh_options" unique="0" required="0">
-		<getopt mixed="--ssh-options=[options]" />
-		<content type="string"  />
-		<shortdesc lang="en">SSH options to use</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="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="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="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_amt.xml b/tests/data/metadata/fence_amt.xml
index f0b64c4..8844fcc 100644
--- a/tests/data/metadata/fence_amt.xml
+++ b/tests/data/metadata/fence_amt.xml
@@ -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 --git a/tests/data/metadata/fence_amt.xml.orig b/tests/data/metadata/fence_amt.xml.orig
deleted file mode 100644
index b967b68..0000000
--- a/tests/data/metadata/fence_amt.xml.orig
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_amt" shortdesc="Fence agent for AMT" >
-<longdesc>fence_amt is an I/O Fencing agent which can be used with Intel AMT. This agent calls support software amttool(http://www.kraxel.org/cgit/amtterm/).</longdesc>
-<vendor-url>http://www.intel.com/</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="23"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="boot_option" unique="0" required="0">
-		<getopt mixed="-b, --boot-option=[option]" />
-		<content type="select"  >
-			<option value="pxe" />
-			<option value="hd" />
-			<option value="hdsafe" />
-			<option value="cd" />
-			<option value="diag" />
-		</content>
-		<shortdesc lang="en">Change the default boot behavior of the machine.</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="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="shell_timeout" unique="0" required="0">
-		<getopt mixed="--shell-timeout=[seconds]" />
-		<content type="string" default="3"  />
-		<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
-	</parameter>
-	<parameter name="amttool_path" unique="0" required="0">
-		<getopt mixed="--amttool-path=[path]" />
-		<content type="string" default="/usr/bin/amttool"  />
-		<shortdesc lang="en">Path to amttool binary</shortdesc>
-	</parameter>
-	<parameter name="retry_on" unique="0" required="0">
-		<getopt mixed="--retry-on=[attempts]" />
-		<content type="string" default="1"  />
-		<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
-	</parameter>
-	<parameter name="sudo" unique="0" required="0">
-		<getopt mixed="--use-sudo" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_drac.xml b/tests/data/metadata/fence_drac.xml
index a53223a..4228724 100644
--- a/tests/data/metadata/fence_drac.xml
+++ b/tests/data/metadata/fence_drac.xml
@@ -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 --git a/tests/data/metadata/fence_drac.xml.orig b/tests/data/metadata/fence_drac.xml.orig
deleted file mode 100644
index d2871c5..0000000
--- a/tests/data/metadata/fence_drac.xml.orig
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_drac" shortdesc="I/O Fencing agent for Dell DRAC IV" >
-<longdesc>fence_drac is an I/O Fencing agent which can be used with the Dell Remote Access Card (DRAC). This card provides remote access to controlling power to a server. It logs into the DRAC through the telnet interface of the card. By default, the telnet interface is not enabled. To enable the interface, you will need to use the racadm command in the racser-devel rpm available from Dell.  To enable telnet on the DRAC: [root]# racadm config -g cfgSerial -o cfgSerialTelnetEnable 1 [root [...]
-<vendor-url>http://www.dell.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="23"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['\\[username\\]# ']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<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="power_timeout" unique="0" required="0">
-		<getopt mixed="--power-timeout=[seconds]" />
-		<content type="string" default="20"  />
-		<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="shell_timeout" unique="0" required="0">
-		<getopt mixed="--shell-timeout=[seconds]" />
-		<content type="string" default="3"  />
-		<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
-	</parameter>
-	<parameter name="delay" unique="0" required="0">
-		<getopt mixed="--delay=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
-	</parameter>
-	<parameter name="login_timeout" unique="0" required="0">
-		<getopt mixed="--login-timeout=[seconds]" />
-		<content type="string" default="5"  />
-		<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
-	</parameter>
-	<parameter name="retry_on" unique="0" required="0">
-		<getopt mixed="--retry-on=[attempts]" />
-		<content type="string" default="1"  />
-		<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_dummy.xml b/tests/data/metadata/fence_dummy.xml
index eab98f0..c84481b 100644
--- a/tests/data/metadata/fence_dummy.xml
+++ b/tests/data/metadata/fence_dummy.xml
@@ -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 --git a/tests/data/metadata/fence_dummy.xml.rej b/tests/data/metadata/fence_dummy.xml.rej
deleted file mode 100644
index 8dae239..0000000
--- a/tests/data/metadata/fence_dummy.xml.rej
+++ /dev/null
@@ -1,23 +0,0 @@
---- tests/data/metadata/fence_dummy.xml
-+++ tests/data/metadata/fence_dummy.xml
-@@ -48,11 +53,6 @@
- 		<content type="boolean"  />
- 		<shortdesc lang="en">Display help and exit</shortdesc>
- 	</parameter>
--	<parameter name="separator" unique="0" required="0">
--		<getopt mixed="-C, --separator=[char]" />
--		<content type="string" default=","  />
--		<shortdesc lang="en">Separator for CSV created by 'list' operation</shortdesc>
--	</parameter>
- 	<parameter name="delay" unique="0" required="0">
- 		<getopt mixed="--delay=[seconds]" />
- 		<content type="string" default="0"  />
-@@ -94,8 +99,6 @@
- 	<action name="off" />
- 	<action name="reboot" />
- 	<action name="status" />
--	<action name="list" />
--	<action name="list-status" />
- 	<action name="monitor" />
- 	<action name="metadata" />
- 	<action name="validate-all" />
diff --git a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
index 70bdba0..1af865b 100644
--- a/tests/data/metadata/fence_idrac.xml
+++ b/tests/data/metadata/fence_idrac.xml
@@ -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 --git a/tests/data/metadata/fence_idrac.xml.orig b/tests/data/metadata/fence_idrac.xml.orig
deleted file mode 100644
index dcb3235..0000000
--- a/tests/data/metadata/fence_idrac.xml.orig
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_idrac" shortdesc="Fence agent for IPMI" >
-<symlink name="fence_ilo3" shortdesc="Fence agent for HP iLO3"/>
-<symlink name="fence_ilo4" shortdesc="Fence agent for HP iLO4"/>
-<symlink name="fence_imm" shortdesc="Fence agent for IBM Integrated Management Module"/>
-<symlink name="fence_idrac" shortdesc="Fence agent for Dell iDRAC"/>
-<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
-<vendor-url></vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="623"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="lanplus" unique="0" required="0">
-		<getopt mixed="-P, --lanplus" />
-		<content type="boolean" default="0"  />
-		<shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
-	</parameter>
-	<parameter name="auth" unique="0" required="0">
-		<getopt mixed="-A, --auth=[auth]" />
-		<content type="select"  >
-			<option value="md5" />
-			<option value="password" />
-			<option value="none" />
-		</content>
-		<shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
-	</parameter>
-	<parameter name="cipher" unique="0" required="0">
-		<getopt mixed="-C, --cipher=[cipher]" />
-		<content type="string"  />
-		<shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
-	</parameter>
-	<parameter name="privlvl" unique="0" required="0">
-		<getopt mixed="-L, --privlvl=[level]" />
-		<content type="select" default="administrator"  >
-			<option value="callback" />
-			<option value="user" />
-			<option value="operator" />
-			<option value="administrator" />
-		</content>
-		<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="0">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="delay" unique="0" required="0">
-		<getopt mixed="--delay=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
-	</parameter>
-	<parameter name="ipmitool_path" unique="0" required="0">
-		<getopt mixed="--ipmitool-path=[path]" />
-		<content type="string" default="/usr/bin/ipmitool"  />
-		<shortdesc lang="en">Path to ipmitool binary</shortdesc>
-	</parameter>
-	<parameter name="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>
-	<parameter name="sudo" unique="0" required="0">
-		<getopt mixed="--use-sudo" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo.xml b/tests/data/metadata/fence_ilo.xml
index 8fde6ca..cf080f8 100644
--- a/tests/data/metadata/fence_ilo.xml
+++ b/tests/data/metadata/fence_ilo.xml
@@ -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 --git a/tests/data/metadata/fence_ilo.xml.orig b/tests/data/metadata/fence_ilo.xml.orig
deleted file mode 100644
index ae7fe9c..0000000
--- a/tests/data/metadata/fence_ilo.xml.orig
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo" shortdesc="Fence agent for HP iLO" >
-<symlink name="fence_ilo2" shortdesc="Fence agent for HP iLO2"/>
-<longdesc>fence_ilo is an I/O Fencing agent used for HP servers with the Integrated Light Out (iLO) PCI card.The agent opens an SSL connection to the iLO card. Once the SSL connection is established, the agent is able to communicate with the iLO card through an XML stream.</longdesc>
-<vendor-url>http://www.hp.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="443"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="notls" unique="0" required="0">
-		<getopt mixed="-t, --notls" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Disable TLS negotiation, force SSL 3.0</shortdesc>
-	</parameter>
-	<parameter name="ribcl" unique="0" required="0">
-		<getopt mixed="-r, --ribcl-version=[version]" />
-		<content type="string"  />
-		<shortdesc lang="en">Force ribcl version to use</shortdesc>
-	</parameter>
-	<parameter name="ssl_secure" unique="0" required="0">
-		<getopt mixed="--ssl-secure" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="tls1.0" unique="0" required="0">
-		<getopt mixed="--tls1.0" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Disable TLS negotiaton, force TLS 1.0</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssl" unique="0" required="0">
-		<getopt mixed="-z, --ssl" />
-		<content type="boolean" default="1"  />
-		<shortdesc lang="en">SSL connection</shortdesc>
-	</parameter>
-	<parameter name="ssl_insecure" unique="0" required="0">
-		<getopt mixed="--ssl-insecure" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="login_timeout" unique="0" required="0">
-		<getopt mixed="--login-timeout=[seconds]" />
-		<content type="string" default="10"  />
-		<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="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="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="3"  />
-		<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo2.xml b/tests/data/metadata/fence_ilo2.xml
index b926adb..411f164 100644
--- a/tests/data/metadata/fence_ilo2.xml
+++ b/tests/data/metadata/fence_ilo2.xml
@@ -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 --git a/tests/data/metadata/fence_ilo2.xml.orig b/tests/data/metadata/fence_ilo2.xml.orig
deleted file mode 100644
index 19a31a1..0000000
--- a/tests/data/metadata/fence_ilo2.xml.orig
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo2" shortdesc="Fence agent for HP iLO" >
-<symlink name="fence_ilo2" shortdesc="Fence agent for HP iLO2"/>
-<longdesc>fence_ilo is an I/O Fencing agent used for HP servers with the Integrated Light Out (iLO) PCI card.The agent opens an SSL connection to the iLO card. Once the SSL connection is established, the agent is able to communicate with the iLO card through an XML stream.</longdesc>
-<vendor-url>http://www.hp.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="443"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="notls" unique="0" required="0">
-		<getopt mixed="-t, --notls" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Disable TLS negotiation, force SSL 3.0</shortdesc>
-	</parameter>
-	<parameter name="ribcl" unique="0" required="0">
-		<getopt mixed="-r, --ribcl-version=[version]" />
-		<content type="string"  />
-		<shortdesc lang="en">Force ribcl version to use</shortdesc>
-	</parameter>
-	<parameter name="ssl_secure" unique="0" required="0">
-		<getopt mixed="--ssl-secure" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSL connection with verifying fence device's certificate</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="tls1.0" unique="0" required="0">
-		<getopt mixed="--tls1.0" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Disable TLS negotiaton, force TLS 1.0</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssl" unique="0" required="0">
-		<getopt mixed="-z, --ssl" />
-		<content type="boolean" default="1"  />
-		<shortdesc lang="en">SSL connection</shortdesc>
-	</parameter>
-	<parameter name="ssl_insecure" unique="0" required="0">
-		<getopt mixed="--ssl-insecure" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSL connection without verifying fence device's certificate</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="login_timeout" unique="0" required="0">
-		<getopt mixed="--login-timeout=[seconds]" />
-		<content type="string" default="10"  />
-		<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="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="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="3"  />
-		<shortdesc lang="en">Count of attempts to retry power on</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
index d19ee60..8950d39 100644
--- a/tests/data/metadata/fence_ilo3.xml
+++ b/tests/data/metadata/fence_ilo3.xml
@@ -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 --git a/tests/data/metadata/fence_ilo3.xml.orig b/tests/data/metadata/fence_ilo3.xml.orig
deleted file mode 100644
index e6a48bc..0000000
--- a/tests/data/metadata/fence_ilo3.xml.orig
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo3" shortdesc="Fence agent for IPMI" >
-<symlink name="fence_ilo3" shortdesc="Fence agent for HP iLO3"/>
-<symlink name="fence_ilo4" shortdesc="Fence agent for HP iLO4"/>
-<symlink name="fence_imm" shortdesc="Fence agent for IBM Integrated Management Module"/>
-<symlink name="fence_idrac" shortdesc="Fence agent for Dell iDRAC"/>
-<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
-<vendor-url></vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="623"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="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 (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="lanplus" unique="0" required="0">
-		<getopt mixed="-P, --lanplus" />
-		<content type="boolean" default="1"  />
-		<shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
-	</parameter>
-	<parameter name="auth" unique="0" required="0">
-		<getopt mixed="-A, --auth=[auth]" />
-		<content type="select"  >
-			<option value="md5" />
-			<option value="password" />
-			<option value="none" />
-		</content>
-		<shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
-	</parameter>
-	<parameter name="cipher" unique="0" required="0">
-		<getopt mixed="-C, --cipher=[cipher]" />
-		<content type="string"  />
-		<shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
-	</parameter>
-	<parameter name="privlvl" unique="0" required="0">
-		<getopt mixed="-L, --privlvl=[level]" />
-		<content type="select" default="administrator"  >
-			<option value="callback" />
-			<option value="user" />
-			<option value="operator" />
-			<option value="administrator" />
-		</content>
-		<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="0">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="4"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="delay" unique="0" required="0">
-		<getopt mixed="--delay=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
-	</parameter>
-	<parameter name="ipmitool_path" unique="0" required="0">
-		<getopt mixed="--ipmitool-path=[path]" />
-		<content type="string" default="/usr/bin/ipmitool"  />
-		<shortdesc lang="en">Path to ipmitool binary</shortdesc>
-	</parameter>
-	<parameter name="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>
-	<parameter name="sudo" unique="0" required="0">
-		<getopt mixed="--use-sudo" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo3_ssh.xml b/tests/data/metadata/fence_ilo3_ssh.xml
index 311c858..e2131a9 100644
--- a/tests/data/metadata/fence_ilo3_ssh.xml
+++ b/tests/data/metadata/fence_ilo3_ssh.xml
@@ -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 --git a/tests/data/metadata/fence_ilo3_ssh.xml.orig b/tests/data/metadata/fence_ilo3_ssh.xml.orig
deleted file mode 100644
index b3531b2..0000000
--- a/tests/data/metadata/fence_ilo3_ssh.xml.orig
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo3_ssh" shortdesc="Fence agent for HP iLO over SSH" >
-<symlink name="fence_ilo3_ssh" shortdesc="Fence agent for HP iLO3 over SSH"/>
-<symlink name="fence_ilo4_ssh" shortdesc="Fence agent for HP iLO4 over SSH"/>
-<longdesc>fence_ilo_ssh is a fence agent that connects to iLO device. It logs into device via ssh and reboot a specified outlet. </longdesc>
-<vendor-url>http://www.hp.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="23"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="secure" unique="0" required="0">
-		<getopt mixed="-x, --ssh" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSH connection</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['MP>', 'hpiLO->']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="identity_file" unique="0" required="0">
-		<getopt mixed="-k, --identity-file=[filename]" />
-		<content type="string"  />
-		<shortdesc lang="en">Identity file for ssh</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssh_options" unique="0" required="0">
-		<getopt mixed="--ssh-options=[options]" />
-		<content type="string"  />
-		<shortdesc lang="en">SSH options to use</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="5"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="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="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="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
index f817ad6..d4a2b87 100644
--- a/tests/data/metadata/fence_ilo4.xml
+++ b/tests/data/metadata/fence_ilo4.xml
@@ -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 --git a/tests/data/metadata/fence_ilo4.xml.orig b/tests/data/metadata/fence_ilo4.xml.orig
deleted file mode 100644
index e7b0d60..0000000
--- a/tests/data/metadata/fence_ilo4.xml.orig
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo4" shortdesc="Fence agent for IPMI" >
-<symlink name="fence_ilo3" shortdesc="Fence agent for HP iLO3"/>
-<symlink name="fence_ilo4" shortdesc="Fence agent for HP iLO4"/>
-<symlink name="fence_imm" shortdesc="Fence agent for IBM Integrated Management Module"/>
-<symlink name="fence_idrac" shortdesc="Fence agent for Dell iDRAC"/>
-<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
-<vendor-url></vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="623"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="lanplus" unique="0" required="0">
-		<getopt mixed="-P, --lanplus" />
-		<content type="boolean" default="1"  />
-		<shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
-	</parameter>
-	<parameter name="auth" unique="0" required="0">
-		<getopt mixed="-A, --auth=[auth]" />
-		<content type="select"  >
-			<option value="md5" />
-			<option value="password" />
-			<option value="none" />
-		</content>
-		<shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
-	</parameter>
-	<parameter name="cipher" unique="0" required="0">
-		<getopt mixed="-C, --cipher=[cipher]" />
-		<content type="string"  />
-		<shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
-	</parameter>
-	<parameter name="privlvl" unique="0" required="0">
-		<getopt mixed="-L, --privlvl=[level]" />
-		<content type="select" default="administrator"  >
-			<option value="callback" />
-			<option value="user" />
-			<option value="operator" />
-			<option value="administrator" />
-		</content>
-		<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="0">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="delay" unique="0" required="0">
-		<getopt mixed="--delay=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
-	</parameter>
-	<parameter name="ipmitool_path" unique="0" required="0">
-		<getopt mixed="--ipmitool-path=[path]" />
-		<content type="string" default="/usr/bin/ipmitool"  />
-		<shortdesc lang="en">Path to ipmitool binary</shortdesc>
-	</parameter>
-	<parameter name="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>
-	<parameter name="sudo" unique="0" required="0">
-		<getopt mixed="--use-sudo" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo4_ssh.xml b/tests/data/metadata/fence_ilo4_ssh.xml
index c607975..918b4c1 100644
--- a/tests/data/metadata/fence_ilo4_ssh.xml
+++ b/tests/data/metadata/fence_ilo4_ssh.xml
@@ -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 --git a/tests/data/metadata/fence_ilo4_ssh.xml.orig b/tests/data/metadata/fence_ilo4_ssh.xml.orig
deleted file mode 100644
index 2266ee1..0000000
--- a/tests/data/metadata/fence_ilo4_ssh.xml.orig
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo4_ssh" shortdesc="Fence agent for HP iLO over SSH" >
-<symlink name="fence_ilo3_ssh" shortdesc="Fence agent for HP iLO3 over SSH"/>
-<symlink name="fence_ilo4_ssh" shortdesc="Fence agent for HP iLO4 over SSH"/>
-<longdesc>fence_ilo_ssh is a fence agent that connects to iLO device. It logs into device via ssh and reboot a specified outlet. </longdesc>
-<vendor-url>http://www.hp.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="23"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="secure" unique="0" required="0">
-		<getopt mixed="-x, --ssh" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSH connection</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['MP>', 'hpiLO->']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="identity_file" unique="0" required="0">
-		<getopt mixed="-k, --identity-file=[filename]" />
-		<content type="string"  />
-		<shortdesc lang="en">Identity file for ssh</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssh_options" unique="0" required="0">
-		<getopt mixed="--ssh-options=[options]" />
-		<content type="string"  />
-		<shortdesc lang="en">SSH options to use</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="5"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="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="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="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo_mp.xml b/tests/data/metadata/fence_ilo_mp.xml
index 8d68dd9..a891d8a 100644
--- a/tests/data/metadata/fence_ilo_mp.xml
+++ b/tests/data/metadata/fence_ilo_mp.xml
@@ -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 --git a/tests/data/metadata/fence_ilo_mp.xml.orig b/tests/data/metadata/fence_ilo_mp.xml.orig
deleted file mode 100644
index 93503a0..0000000
--- a/tests/data/metadata/fence_ilo_mp.xml.orig
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo_mp" shortdesc="Fence agent for HP iLO MP" >
-<longdesc></longdesc>
-<vendor-url>http://www.hp.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="23"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="secure" unique="0" required="0">
-		<getopt mixed="-x, --ssh" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSH connection</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['MP>', 'hpiLO->']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="identity_file" unique="0" required="0">
-		<getopt mixed="-k, --identity-file=[filename]" />
-		<content type="string"  />
-		<shortdesc lang="en">Identity file for ssh</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssh_options" unique="0" required="0">
-		<getopt mixed="--ssh-options=[options]" />
-		<content type="string"  />
-		<shortdesc lang="en">SSH options to use</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="5"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="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="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="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ilo_ssh.xml b/tests/data/metadata/fence_ilo_ssh.xml
index 9e69a57..9c42203 100644
--- a/tests/data/metadata/fence_ilo_ssh.xml
+++ b/tests/data/metadata/fence_ilo_ssh.xml
@@ -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 --git a/tests/data/metadata/fence_ilo_ssh.xml.orig b/tests/data/metadata/fence_ilo_ssh.xml.orig
deleted file mode 100644
index a9bd1d3..0000000
--- a/tests/data/metadata/fence_ilo_ssh.xml.orig
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ilo_ssh" shortdesc="Fence agent for HP iLO over SSH" >
-<symlink name="fence_ilo3_ssh" shortdesc="Fence agent for HP iLO3 over SSH"/>
-<symlink name="fence_ilo4_ssh" shortdesc="Fence agent for HP iLO4 over SSH"/>
-<longdesc>fence_ilo_ssh is a fence agent that connects to iLO device. It logs into device via ssh and reboot a specified outlet. </longdesc>
-<vendor-url>http://www.hp.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="23"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="secure" unique="0" required="0">
-		<getopt mixed="-x, --ssh" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSH connection</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['MP>', 'hpiLO->']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="identity_file" unique="0" required="0">
-		<getopt mixed="-k, --identity-file=[filename]" />
-		<content type="string"  />
-		<shortdesc lang="en">Identity file for ssh</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssh_options" unique="0" required="0">
-		<getopt mixed="--ssh-options=[options]" />
-		<content type="string"  />
-		<shortdesc lang="en">SSH options to use</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="5"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="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="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="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
index acc5636..17b2670 100644
--- a/tests/data/metadata/fence_imm.xml
+++ b/tests/data/metadata/fence_imm.xml
@@ -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 --git a/tests/data/metadata/fence_imm.xml.orig b/tests/data/metadata/fence_imm.xml.orig
deleted file mode 100644
index 8fbdddd..0000000
--- a/tests/data/metadata/fence_imm.xml.orig
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_imm" shortdesc="Fence agent for IPMI" >
-<symlink name="fence_ilo3" shortdesc="Fence agent for HP iLO3"/>
-<symlink name="fence_ilo4" shortdesc="Fence agent for HP iLO4"/>
-<symlink name="fence_imm" shortdesc="Fence agent for IBM Integrated Management Module"/>
-<symlink name="fence_idrac" shortdesc="Fence agent for Dell iDRAC"/>
-<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
-<vendor-url></vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="623"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="lanplus" unique="0" required="0">
-		<getopt mixed="-P, --lanplus" />
-		<content type="boolean" default="0"  />
-		<shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
-	</parameter>
-	<parameter name="auth" unique="0" required="0">
-		<getopt mixed="-A, --auth=[auth]" />
-		<content type="select"  >
-			<option value="md5" />
-			<option value="password" />
-			<option value="none" />
-		</content>
-		<shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
-	</parameter>
-	<parameter name="cipher" unique="0" required="0">
-		<getopt mixed="-C, --cipher=[cipher]" />
-		<content type="string"  />
-		<shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
-	</parameter>
-	<parameter name="privlvl" unique="0" required="0">
-		<getopt mixed="-L, --privlvl=[level]" />
-		<content type="select" default="administrator"  >
-			<option value="callback" />
-			<option value="user" />
-			<option value="operator" />
-			<option value="administrator" />
-		</content>
-		<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="0">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="delay" unique="0" required="0">
-		<getopt mixed="--delay=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
-	</parameter>
-	<parameter name="ipmitool_path" unique="0" required="0">
-		<getopt mixed="--ipmitool-path=[path]" />
-		<content type="string" default="/usr/bin/ipmitool"  />
-		<shortdesc lang="en">Path to ipmitool binary</shortdesc>
-	</parameter>
-	<parameter name="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>
-	<parameter name="sudo" unique="0" required="0">
-		<getopt mixed="--use-sudo" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
index 5767f19..c9b4162 100644
--- a/tests/data/metadata/fence_ipmilan.xml
+++ b/tests/data/metadata/fence_ipmilan.xml
@@ -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 --git a/tests/data/metadata/fence_ipmilan.xml.orig b/tests/data/metadata/fence_ipmilan.xml.orig
deleted file mode 100644
index 199490c..0000000
--- a/tests/data/metadata/fence_ipmilan.xml.orig
+++ /dev/null
@@ -1,157 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_ipmilan" shortdesc="Fence agent for IPMI" >
-<symlink name="fence_ilo3" shortdesc="Fence agent for HP iLO3"/>
-<symlink name="fence_ilo4" shortdesc="Fence agent for HP iLO4"/>
-<symlink name="fence_imm" shortdesc="Fence agent for IBM Integrated Management Module"/>
-<symlink name="fence_idrac" shortdesc="Fence agent for Dell iDRAC"/>
-<longdesc>fence_ipmilan is an I/O Fencing agentwhich can be used with machines controlled by IPMI.This agent calls support software ipmitool (http://ipmitool.sf.net/).</longdesc>
-<vendor-url></vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="623"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="method" unique="0" required="0">
-		<getopt mixed="-m, --method=[method]" />
-		<content type="select" default="onoff"  >
-			<option value="onoff" />
-			<option value="cycle" />
-		</content>
-		<shortdesc lang="en">Method to fence (onoff|cycle)</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="lanplus" unique="0" required="0">
-		<getopt mixed="-P, --lanplus" />
-		<content type="boolean" default="0"  />
-		<shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
-	</parameter>
-	<parameter name="auth" unique="0" required="0">
-		<getopt mixed="-A, --auth=[auth]" />
-		<content type="select"  >
-			<option value="md5" />
-			<option value="password" />
-			<option value="none" />
-		</content>
-		<shortdesc lang="en">IPMI Lan Auth type.</shortdesc>
-	</parameter>
-	<parameter name="cipher" unique="0" required="0">
-		<getopt mixed="-C, --cipher=[cipher]" />
-		<content type="string"  />
-		<shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
-	</parameter>
-	<parameter name="privlvl" unique="0" required="0">
-		<getopt mixed="-L, --privlvl=[level]" />
-		<content type="select" default="administrator"  >
-			<option value="callback" />
-			<option value="user" />
-			<option value="operator" />
-			<option value="administrator" />
-		</content>
-		<shortdesc lang="en">Privilege level on IPMI device</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="0">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="delay" unique="0" required="0">
-		<getopt mixed="--delay=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
-	</parameter>
-	<parameter name="ipmitool_path" unique="0" required="0">
-		<getopt mixed="--ipmitool-path=[path]" />
-		<content type="string" default="/usr/bin/ipmitool"  />
-		<shortdesc lang="en">Path to ipmitool binary</shortdesc>
-	</parameter>
-	<parameter name="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>
-	<parameter name="sudo" unique="0" required="0">
-		<getopt mixed="--use-sudo" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_mpath.xml b/tests/data/metadata/fence_mpath.xml
index d6072d9..7891ea9 100644
--- a/tests/data/metadata/fence_mpath.xml
+++ b/tests/data/metadata/fence_mpath.xml
@@ -9,7 +9,7 @@ The fence_mpath agent works by having an unique key for each pair of node and de
 		<content type="string" default="off"  />
 		<shortdesc lang="en">Fencing action</shortdesc>
 	</parameter>
-	<parameter name="devices" unique="0" required="0">
+	<parameter name="devices" unique="0" required="1">
 		<getopt mixed="-d, --devices=[devices]" />
 		<content type="string"  />
 		<shortdesc lang="en">List of devices to use for current operation. Devices can be comma-separated list of device-mapper multipath devices (eg. /dev/dm-3). Each device must support SCSI-3 persistent reservations.</shortdesc>
@@ -19,11 +19,6 @@ The fence_mpath agent works by having an unique key for each pair of node and de
 		<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 @@ The fence_mpath agent works by having an unique key for each pair of node and de
 		<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 --git a/tests/data/metadata/fence_mpath.xml.orig b/tests/data/metadata/fence_mpath.xml.orig
deleted file mode 100644
index c62dd49..0000000
--- a/tests/data/metadata/fence_mpath.xml.orig
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_mpath" shortdesc="Fence agent for multipath persistent reservation" >
-<longdesc>fence_mpath is an I/O fencing agent that uses SCSI-3 persistent reservations to control access multipath devices. Underlying devices must support SCSI-3 persistent reservations (SPC-3 or greater) as well as the "preempt-and-abort" subcommand.
-The fence_mpath agent works by having an unique key for each pair of node and device that has to be set also 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 l [...]
-<vendor-url>https://www.sourceware.org/dm/</vendor-url>
-<parameters>
-	<parameter name="devices" unique="0" required="0">
-		<getopt mixed="-d, --devices=[devices]" />
-		<content type="string"  />
-		<shortdesc lang="en">List of devices to use for current operation. Devices can be comma-separated list of device-mapper multipath devices (eg. /dev/dm-3). Each device must support SCSI-3 persistent reservations.</shortdesc>
-	</parameter>
-	<parameter name="key" unique="0" required="1">
-		<getopt mixed="-k, --key=[key]" />
-		<content type="string"  />
-		<shortdesc lang="en">Key to use for the current operation. This key should be unique to a node 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="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="off"  />
-		<shortdesc lang="en">Fencing Action</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="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="store_path" unique="0" required="0">
-		<getopt mixed="--store-path=[path]" />
-		<content type="string" default="/var/run/cluster"  />
-		<shortdesc lang="en">Path to directory where fence agent can store information</shortdesc>
-	</parameter>
-	<parameter name="power_timeout" unique="0" required="0">
-		<getopt mixed="--power-timeout=[seconds]" />
-		<content type="string" default="20"  />
-		<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="mpathpersist_path" unique="0" required="0">
-		<getopt mixed="--mpathpersist-path=[path]" />
-		<content type="string" default="/usr/sbin/mpathpersist"  />
-		<shortdesc lang="en">Path to mpathpersist binary</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>
-	<parameter name="sudo" unique="0" required="0">
-		<getopt mixed="--use-sudo" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Use sudo (without password) when calling 3rd party sotfware.</shortdesc>
-	</parameter>
-</parameters>
-<actions>
-	<action name="on" on_target="1" automatic="1"/>
-	<action name="off" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_dummy.xml.orig b/tests/data/metadata/fence_rcd_serial.xml
similarity index 66%
rename from tests/data/metadata/fence_dummy.xml.orig
rename to tests/data/metadata/fence_rcd_serial.xml
index 61c964e..b5bbc5b 100644
--- a/tests/data/metadata/fence_dummy.xml.orig
+++ b/tests/data/metadata/fence_rcd_serial.xml
@@ -1,27 +1,25 @@
 <?xml version="1.0" ?>
-<resource-agent name="fence_dummy" shortdesc="Dummy fence agent" >
-<longdesc>fence_dummy</longdesc>
-<vendor-url>http://www.example.com</vendor-url>
+<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="status_file" unique="0" required="0">
-		<getopt mixed="--status-file=[file]" />
-		<content type="string" default="/tmp/fence_dummy.status"  />
-		<shortdesc lang="en">File with status</shortdesc>
-	</parameter>
-	<parameter name="random_sleep_range" unique="0" required="0">
-		<getopt mixed="--random_sleep_range=[seconds]" />
-		<content type="string"  />
-		<shortdesc lang="en">Issue a sleep between 1 and X seconds. Used for testing.</shortdesc>
-	</parameter>
-	<parameter name="type" unique="0" required="0">
-		<getopt mixed="--type=[type]" />
-		<content type="string" default="file"  />
-		<shortdesc lang="en">Type of the dummy fence agent</shortdesc>
-	</parameter>
 	<parameter name="action" unique="0" required="1">
 		<getopt mixed="-o, --action=[action]" />
 		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
+		<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" />
@@ -43,26 +41,6 @@
 		<content type="boolean"  />
 		<shortdesc lang="en">Display help and exit</shortdesc>
 	</parameter>
-	<parameter name="separator" unique="0" required="0">
-		<getopt mixed="-C, --separator=[char]" />
-		<content type="string" default=","  />
-		<shortdesc lang="en">Separator for CSV created by operation list</shortdesc>
-	</parameter>
-	<parameter name="shell_timeout" unique="0" required="0">
-		<getopt mixed="--shell-timeout=[seconds]" />
-		<content type="string" default="3"  />
-		<shortdesc lang="en">Wait X seconds for cmd prompt after issuing command</shortdesc>
-	</parameter>
-	<parameter name="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="power_timeout" unique="0" required="0">
-		<getopt mixed="--power-timeout=[seconds]" />
-		<content type="string" default="20"  />
-		<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
-	</parameter>
 	<parameter name="delay" unique="0" required="0">
 		<getopt mixed="--delay=[seconds]" />
 		<content type="string" default="0"  />
@@ -73,6 +51,21 @@
 		<content type="string" default="5"  />
 		<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
 	</parameter>
+	<parameter name="power_timeout" unique="0" required="0">
+		<getopt mixed="--power-timeout=[seconds]" />
+		<content type="string" default="20"  />
+		<shortdesc lang="en">Test X seconds for status change after ON/OFF</shortdesc>
+	</parameter>
+	<parameter name="power_wait" unique="0" required="0">
+		<getopt mixed="--power-wait=[seconds]" />
+		<content type="string" default="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"  />
@@ -80,12 +73,9 @@
 	</parameter>
 </parameters>
 <actions>
-	<action name="on" automatic="0"/>
-	<action name="off" />
 	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
 	<action name="monitor" />
 	<action name="metadata" />
+	<action name="validate-all" />
 </actions>
 </resource-agent>
diff --git a/tests/data/metadata/fence_rsa.xml b/tests/data/metadata/fence_rsa.xml
index 95b632a..bb1efa1 100644
--- a/tests/data/metadata/fence_rsa.xml
+++ b/tests/data/metadata/fence_rsa.xml
@@ -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 --git a/tests/data/metadata/fence_rsa.xml.orig b/tests/data/metadata/fence_rsa.xml.orig
deleted file mode 100644
index 749b21d..0000000
--- a/tests/data/metadata/fence_rsa.xml.orig
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_rsa" shortdesc="Fence agent for IBM RSA" >
-<longdesc>fence_rsa is an I/O Fencing agent which can be used with the IBM RSA II management interface. It logs into an RSA II device via telnet and reboots the associated machine. Lengthy telnet connections to the RSA II device should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
-<vendor-url>http://www.ibm.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="23"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="secure" unique="0" required="0">
-		<getopt mixed="-x, --ssh" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSH connection</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['>']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="identity_file" unique="0" required="0">
-		<getopt mixed="-k, --identity-file=[filename]" />
-		<content type="string"  />
-		<shortdesc lang="en">Identity file for ssh</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssh_options" unique="0" required="0">
-		<getopt mixed="--ssh-options=[options]" />
-		<content type="string" default="-F /dev/null"  />
-		<shortdesc lang="en">SSH options to use</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="login_timeout" unique="0" required="0">
-		<getopt mixed="--login-timeout=[seconds]" />
-		<content type="string" default="10"  />
-		<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="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="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="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_rsb.xml b/tests/data/metadata/fence_rsb.xml
index 766f821..4fc70bd 100644
--- a/tests/data/metadata/fence_rsb.xml
+++ b/tests/data/metadata/fence_rsb.xml
@@ -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 --git a/tests/data/metadata/fence_rsb.xml.orig b/tests/data/metadata/fence_rsb.xml.orig
deleted file mode 100644
index 56421fc..0000000
--- a/tests/data/metadata/fence_rsb.xml.orig
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" ?>
-<resource-agent name="fence_rsb" shortdesc="I/O Fencing agent for Fujitsu-Siemens RSB" >
-<longdesc>fence_rsb is an I/O Fencing agent which can be used with the Fujitsu-Siemens RSB management interface. It logs into device via telnet/ssh  and reboots a specified outlet. Lengthy telnet/ssh connections should be avoided while a GFS cluster is running because the connection will block any necessary fencing actions.</longdesc>
-<vendor-url>http://www.fujitsu.com</vendor-url>
-<parameters>
-	<parameter name="ipport" unique="0" required="0">
-		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="3172"  />
-		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
-	</parameter>
-	<parameter name="ipaddr" unique="0" required="1">
-		<getopt mixed="-a, --ip=[ip]" />
-		<content type="string"  />
-		<shortdesc lang="en">IP Address or Hostname</shortdesc>
-	</parameter>
-	<parameter name="secure" unique="0" required="0">
-		<getopt mixed="-x, --ssh" />
-		<content type="boolean"  />
-		<shortdesc lang="en">SSH connection</shortdesc>
-	</parameter>
-	<parameter name="cmd_prompt" unique="0" required="0">
-		<getopt mixed="-c, --command-prompt=[prompt]" />
-		<content type="string" default="['to quit:']"  />
-		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
-	</parameter>
-	<parameter name="inet6_only" unique="0" required="0">
-		<getopt mixed="-6, --inet6-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
-	</parameter>
-	<parameter name="identity_file" unique="0" required="0">
-		<getopt mixed="-k, --identity-file=[filename]" />
-		<content type="string"  />
-		<shortdesc lang="en">Identity file for ssh</shortdesc>
-	</parameter>
-	<parameter name="inet4_only" unique="0" required="0">
-		<getopt mixed="-4, --inet4-only" />
-		<content type="boolean"  />
-		<shortdesc lang="en">Forces agent to use IPv4 addresses only</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to retrieve password</shortdesc>
-	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="ssh_options" unique="0" required="0">
-		<getopt mixed="--ssh-options=[options]" />
-		<content type="string"  />
-		<shortdesc lang="en">SSH options to use</shortdesc>
-	</parameter>
-	<parameter name="action" unique="0" required="1">
-		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
-		<shortdesc lang="en">Fencing Action</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="1">
-		<getopt mixed="-l, --username=[name]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login Name</shortdesc>
-	</parameter>
-	<parameter name="verbose" unique="0" required="0">
-		<getopt mixed="-v, --verbose" />
-		<content type="boolean"  />
-		<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="power_wait" unique="0" required="0">
-		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
-		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
-	</parameter>
-	<parameter name="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="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="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="on" automatic="0"/>
-	<action name="off" />
-	<action name="reboot" />
-	<action name="status" />
-	<action name="list" />
-	<action name="monitor" />
-	<action name="metadata" />
-</actions>
-</resource-agent>
diff --git a/tests/data/metadata/fence_virsh.xml b/tests/data/metadata/fence_virsh.xml
index a6af451..d664fc4 100644
--- a/tests/data/metadata/fence_virsh.xml
+++ b/tests/data/metadata/fence_virsh.xml
@@ -67,7 +67,7 @@ By default, virsh needs root account to do properly work. So you must allow ssh
 	</parameter>
 	<parameter name="ssh_options" unique="0" required="0">
 		<getopt mixed="--ssh-options=[options]" />
-		<content type="string" default="-t '/bin/bash -c "PS1=\[EXPECT\]#\  /bin/bash --noprofile --norc"'"  />
+		<content type="string" default="-t '/bin/bash -c "PS1=\\[EXPECT\\]#\  /bin/bash --noprofile --norc"'"  />
 		<shortdesc lang="en">SSH options to use</shortdesc>
 	</parameter>
 	<parameter name="verbose" unique="0" required="0">
@@ -105,6 +105,11 @@ By default, virsh needs root account to do properly work. So you must allow ssh
 		<content type="string" default="5"  />
 		<shortdesc lang="en">Wait X seconds for cmd prompt after login</shortdesc>
 	</parameter>
+	<parameter name="missing_as_off" unique="0" required="0">
+		<getopt mixed="--missing-as-off" />
+		<content type="boolean"  />
+		<shortdesc lang="en">Missing port returns OFF instead of failure</shortdesc>
+	</parameter>
 	<parameter name="power_timeout" unique="0" required="0">
 		<getopt mixed="--power-timeout=[seconds]" />
 		<content type="string" default="20"  />

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-ha/fence-agents.git



More information about the Debian-HA-Commits mailing list