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

Christoph Berg myon at debian.org
Fri Feb 5 16:13:17 UTC 2016


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

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

commit eeb46184abfdd13aea5debbd59769fb5a10bc348
Author: Christoph Berg <christoph.berg at credativ.de>
Date:   Fri Feb 5 16:53:49 2016 +0100

    Imported Upstream version 4.0.22
---
 .tarball-version                                   |   2 +-
 .version                                           |   2 +-
 ChangeLog                                          | 262 ++++++
 Makefile.in                                        |  46 +-
 aclocal.m4                                         | 203 +++--
 compile                                            |   2 +-
 config.guess                                       |  15 +-
 config.sub                                         |  19 +-
 configure                                          | 363 ++++----
 configure.ac                                       |   3 +
 depcomp                                            |   2 +-
 doc/Makefile.in                                    |  25 +-
 fence/Makefile.in                                  |  23 +-
 fence/agents/Makefile.in                           |  23 +-
 fence/agents/alom/Makefile.in                      |  32 +-
 fence/agents/amt/Makefile.in                       |  32 +-
 fence/agents/amt/fence_amt.py                      |  12 +-
 fence/agents/apc/Makefile.in                       |  32 +-
 fence/agents/apc/fence_apc.py                      |   2 +-
 fence/agents/apc_snmp/Makefile.in                  |  32 +-
 fence/agents/bladecenter/Makefile.in               |  32 +-
 fence/agents/brocade/Makefile.in                   |  32 +-
 fence/agents/brocade/fence_brocade.py              |   2 +-
 fence/agents/cisco_mds/Makefile.in                 |  32 +-
 fence/agents/cisco_ucs/Makefile.in                 |  32 +-
 fence/agents/compute/Makefile.in                   |  32 +-
 fence/agents/compute/fence_compute.py              | 180 +++-
 fence/agents/docker/Makefile.in                    |  32 +-
 fence/agents/docker/fence_docker.py                |  16 +-
 fence/agents/drac/Makefile.in                      |  32 +-
 fence/agents/drac5/Makefile.in                     |  32 +-
 fence/agents/dummy/Makefile.in                     |  32 +-
 fence/agents/eaton_snmp/Makefile.in                |  32 +-
 fence/agents/emerson/Makefile.in                   |  32 +-
 fence/agents/eps/Makefile.in                       |  32 +-
 fence/agents/hds_cb/Makefile.in                    |  32 +-
 fence/agents/hpblade/Makefile.in                   |  32 +-
 fence/agents/ibmblade/Makefile.in                  |  32 +-
 fence/agents/ifmib/Makefile.in                     |  32 +-
 fence/agents/ilo/Makefile.in                       |  32 +-
 fence/agents/ilo_moonshot/Makefile.in              |  32 +-
 fence/agents/ilo_mp/Makefile.in                    |  32 +-
 fence/agents/ilo_ssh/Makefile.in                   |  32 +-
 fence/agents/intelmodular/Makefile.in              |  32 +-
 fence/agents/ipdu/Makefile.in                      |  32 +-
 fence/agents/ipmilan/Makefile.in                   |  32 +-
 fence/agents/ipmilan/fence_ipmilan.py              |  17 +-
 fence/agents/kdump/Makefile.in                     |  33 +-
 fence/agents/ldom/Makefile.in                      |  32 +-
 fence/agents/lib/Makefile.in                       |  28 +-
 fence/agents/lib/fence2man.xsl                     |   1 +
 fence/agents/lib/fencing.py.py                     |  12 +-
 fence/agents/lpar/Makefile.in                      |  32 +-
 fence/agents/manual/Makefile.in                    |  24 +-
 fence/agents/mpath/Makefile.in                     |  32 +-
 fence/agents/netio/Makefile.in                     |  32 +-
 fence/agents/ovh/Makefile.in                       |  32 +-
 fence/agents/pve/Makefile.in                       |  32 +-
 fence/agents/raritan/Makefile.in                   |  32 +-
 fence/agents/rcd_serial/Makefile.in                |  32 +-
 fence/agents/rhevm/Makefile.in                     |  32 +-
 fence/agents/rsa/Makefile.in                       |  32 +-
 fence/agents/rsb/Makefile.in                       |  32 +-
 fence/agents/sanbox2/Makefile.in                   |  32 +-
 fence/agents/{zvm => sbd}/Makefile.am              |   4 +-
 fence/agents/{amt => sbd}/Makefile.in              |  42 +-
 fence/agents/sbd/fence_sbd.py                      | 421 +++++++++
 fence/agents/scsi/Makefile.am                      |   7 +-
 fence/agents/scsi/Makefile.in                      |  39 +-
 fence/agents/scsi/fence_scsi.py                    |  13 +-
 fence/agents/{zvm => vbox}/Makefile.am             |   2 +-
 fence/agents/{ipdu => vbox}/Makefile.in            |  40 +-
 fence/agents/vbox/fence_vbox.py                    | 113 +++
 fence/agents/virsh/Makefile.in                     |  32 +-
 fence/agents/vmware/Makefile.in                    |  30 +-
 fence/agents/vmware_soap/Makefile.in               |  32 +-
 fence/agents/wti/Makefile.in                       |  32 +-
 fence/agents/xenapi/Makefile.in                    |  32 +-
 fence/agents/zvm/Makefile.am                       |  14 +-
 fence/agents/zvm/Makefile.in                       | 301 ++++++-
 fence/agents/zvm/fence_zvm.c                       | 943 +++++++++++++++++++++
 fence/agents/zvm/fence_zvm_man_page                |  87 ++
 install-sh                                         | 366 ++++----
 make/clusterautoconfig.h.in                        |   3 -
 make/fencebuild.mk                                 |   1 +
 missing                                            |   6 +-
 tests/data/metadata/fence_compute.xml              |  16 +-
 tests/data/metadata/fence_docker.xml               |   5 +
 tests/data/metadata/fence_idrac.xml                |   3 +-
 tests/data/metadata/fence_ilo3.xml                 |   1 +
 tests/data/metadata/fence_ilo4.xml                 |   3 +-
 tests/data/metadata/fence_imm.xml                  |   3 +-
 tests/data/metadata/fence_ipmilan.xml              |   3 +-
 .../metadata/{fence_compute.xml => fence_sbd.xml}  |  63 +-
 .../metadata/{fence_ilo4.xml => fence_vbox.xml}    | 100 +--
 95 files changed, 4211 insertions(+), 1111 deletions(-)

diff --git a/.tarball-version b/.tarball-version
index 249b676..094cee5 100644
--- a/.tarball-version
+++ b/.tarball-version
@@ -1 +1 @@
-4.0.21
+4.0.22
diff --git a/.version b/.version
index 249b676..094cee5 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-4.0.21
+4.0.22
diff --git a/ChangeLog b/ChangeLog
index 634d2bd..716bde1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,248 @@
+2016-01-06  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_zvmip: Fix makefile to work with dist* targets
+
+2016-01-05  Andrew Beekhof  <andrew at beekhof.net>
+
+	Merge pull request #33 from beekhof/master
+	Instance HA fixes/improvements
+
+2016-01-04  Andrew Beekhof  <andrew at beekhof.net>
+
+	fence_compute: Status wont work if the control plane is not yet up
+
+2015-12-16  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_scsi: Replace hard reboot with direct call to libc
+
+	fence_ipmilan: 'diag' action should not require setting --method=cycle
+	When action is 'diag', set --method to cycle automatically.
+
+2015-12-09  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_ipmilan: Fix typo in reboo_cycle
+
+2015-12-09  Andrew Beekhof  <andrew at beekhof.net>
+
+	fence_compute: Correctly find instances assigned to a named compute node
+
+	fence_compute: Logging improvements
+
+	fence_compute: Correctly find the UUID of instances to be evacuated
+
+	fence_compute: Fencing should fail if instances cannot be evacuated
+
+	fence_compute: Just pass the uuid to _server_evacuate
+
+	fence_compute: Record error codes from the Nova API
+
+	fence_compute: Simplify option passing to _host_evacuate()
+
+	fence_compute: Use the non-deprecated form for --update
+
+	fence_compute: Log exception details in debug mode
+
+	fence_compute: Make the instance filtering logic optional
+
+2015-12-08  Andrew Beekhof  <andrew at beekhof.net>
+
+	fence_compute: Update expected metadata
+
+	fence_compute: Update metadata
+
+	fence_compute: Support a present-but-disabled mode
+
+2015-12-03  Andrew Beekhof  <andrew at beekhof.net>
+
+	fence_compute: Do not default to evacuating all instances if none are flagged
+
+	fence_compute: Perform a real status operation in record-only mode
+
+	fence_compute: Advertise ourselves as a fabric device to prevent reboot operations
+
+	fence_compute: Match compute nodes as both FQDN and host names
+
+2015-12-02  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_ipmilan: Add action diag
+	Previous version of fence_ipmilan (C-based) contains also action 'diag'. This commit adds this action to new fence agent.
+
+	Resolves: rhbz#1286045
+
+2015-12-02  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #32 from kwaping/readme_update
+	README wording update
+
+2015-12-01  Ollie Ready  <kwaping at users.noreply.github.com>
+
+	README wording update
+
+2015-11-19  Fabio M. Di Nitto  <fdinitto at redhat.com>
+
+	Merge pull request #27 from aspiers/fix/evacute-typo
+	fix 'evacute' typo
+
+2015-11-18  Adam Spiers  <aspiers at suse.com>
+
+	fix 'evacute' typo
+	This requires the corresponding fix in NovaCompute and NovaEvacuate.
+
+2015-11-04  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fencing: Log when cmd-line argument is not used
+	Fencing library parse sys.argv[] but it is possible that not all of the arguments will be used. Left arguments are user's mistake but user has to know about it. Warning was added for these cases (usually multiple values for one paramater or parameter without leading --)
+
+2015-10-26  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_zvm: Manual page for fence_zvm
+	Normally, manual pages are generated directly from fence agent. In this case, we have manual page
+	still in a static file.
+
+	fence_zvm: Re-enable fence_zvm agent
+
+	fence_ipmilan: Revert default value for --power-wait to 2 seconds
+	Resolves: rhbz#273632
+
+2015-10-23  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #26 from johnruemker/brocade-fix_get_power_status_return
+	fence_brocade: Fix incorrect return when getting status for "on", "off"
+
+2015-10-22  John Ruemker  <jruemker at redhat.com>
+
+	fence_brocade: Fix incorrect return when getting status for "on", "off"
+
+2015-10-19  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #25 from sbauza/instance_selectivity
+	Allow to select which instances to evacuate
+
+2015-10-14  Sylvain Bauza  <sbauza at redhat.com>
+
+	Allow to select which instances to evacuate
+	In order to select which instances could be evacuated automatically,
+	the instance has to have either:
+	 - a flavor where one extra spec key is "evacuate" with "True" as value
+	 - an image where a metadata key is "evacuate" with "True" as value
+
+	In case one instance is neither having a flavor or an image like that,
+	the instance won't be evacuated.
+
+2015-10-12  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #24 from sbauza/mark_host_down
+	fence_compute: Set mark host down flag if possible
+
+2015-10-12  Sylvain Bauza  <sbauza at redhat.com>
+
+	Set mark host down flag if possible
+	Since Nova API version 2.11, there is now a new novaclient tool
+	that allows to bypass the servicegroup check and not wait for it
+	to catch the right host liveness. Using it as a first try and if
+	failing, fallbacking to the existing polling.
+
+2015-10-12  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #22 from krig/fence_vbox
+	fence_vbox: Add a fencing agent for VirtualBox
+
+2015-10-12  Kristoffer Grönlund  <krig at koru.se>
+
+	fence_vbox: Add a fencing agent for VirtualBox
+	Adds a fencing agent for virtual machines managed by VirtualBox.
+
+	Based on fence_virsh, tested with VirtualBox version 5.0.4 on
+	openSUSE 13.2.
+
+2015-09-30  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #21 from HideoYamauchi/master
+	Low:The error output when operator failed in the practice of the command.
+
+2015-09-30  Hideo Yamauchi  <renayama19661014 at ybb.ne.jp>
+
+	Low:The error output when operator failed in the practice of the command.
+	When setting of Docker is necessary, a message of Docker is displayed by
+	on commands.
+	However, fence_docker does not display it.
+	This patch displays a result when "Cannot parse json" error happened.
+
+2015-09-25  Marek 'marx' Grac  <mgrac at redhat.com>
+
+	fence_docker: Add option to set Docker Remote API
+
+	fence_scsi: Install fence_scsi_check_hardreboot
+
+2015-09-25  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #20 from johnruemker/scsi-check_hardreboot
+	fence_scsi: Offer hard-reboot option for fence_scsi_check script
+
+2015-09-24  Adrian Vondendriesch  <adrian.vondendriesch at credativ.de>
+
+	fence_sbd: Add a fencing agent for sbd
+	Add a STONITH agent for SDB (STORAGE BASED DEATH).
+
+
+	Add option --sbd-path & XML metadata
+
+	Remove magic numbers
+
+	--delay should work as expected
+
+	one more magic number
+
+	Use "method" from fencing library
+
+	fence_sdb: rename parameter --sbd-devices
+
+	Rename --sbd-devices to --devices. Other agents have identical parameters and
+	call them "--devices". So keep this parameter equal over the different fencing
+	agents.
+
+	fence_sbd: Update fence_sdb xml data.
+
+	Update fence_sbd xml meta data to catch up with the current state.
+
+2015-09-24  John Ruemker  <jruemker at redhat.com>
+
+	fence_scsi: Offer hard-reboot option for fence_scsi_check script
+	The existing implementation of fence_scsi_check returns an error if any
+	device is no longer registered properly, and this error return causes
+	watchdog to use its custom procedure to reboot the host.  This procedure
+	is prone to blocking, especially when GFS2 file systems are mounted or
+	multipath devices are configured to queue indefinitely, so having the
+	check be able to hard-reboot the host instead of returning a failure
+	gives a means for avoiding these blockages.
+
+2015-09-23  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #19 from johnruemker/scsi-reset_before_getkeys
+	fence_scsi: Reset device prior to all uses of sg_persist
+
+2015-09-22  John Ruemker  <jruemker at redhat.com>
+
+	fence_scsi: Reset device prior to all uses of sg_persist
+	Currently the agent will reset prior to several areas where it runs
+	sg_persist, to clear out any "Unit Attention" conditions that could
+	otherwise cause the sg_persist command to report failures.  However
+	several paths remain that could fail if a "Unit Attention" condition
+	exist, so we should reset before any use of sg_persist.
+
+2015-09-10  Marek 'marx' Grác  <mgrac at redhat.com>
+
+	fence_apc: Support for v6.x firmware
+	There are no changes in interface, so it is enough to accept new version number.
+
+	Login process over telnet has changed a bit and autodection of EOL did not work properly. Relevant part
+	of changed so it work correctly when after empty 'User Name', the device ask for it again.
+
+2015-09-07  marxsk  <mgrac at redhat.com>
+
+	Merge pull request #14 from mbaldessari/amt_fix
+	Fix AMT fence agent
+
 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
@@ -49,6 +294,23 @@
 
 	Resolves: rhbz#1251491
 
+2015-08-09  Michele Baldessari  <michele at acksyn.org>
+
+	Fix AMT fence agent
+	The 'amttool' command takes the AMT_PASSWORD environment variable.
+	When amttool prompts for a confirmation the variable is read only
+	by the left side of the pipe command:
+	- Broken:
+	$ AMT_PASSWORD='foobar' echo 'y' |  /usr/bin/amttool nuc2 powerdown
+	401 Unauthorized at /usr/bin/amttool line 129.
+	- Working:
+	$ AMT_PASSWORD='foobar' sh -c "(echo 'y' | /usr/bin/amttool nuc2 # powerdown)"
+	execute: powerdown
+	result: pt_status: success
+
+	A longer-term fix is to remove the amttool dependency and implement the
+	calls directly via the python-openwsman package
+
 2015-08-07  marxsk  <mgrac at redhat.com>
 
 	Merge pull request #13 from GamerSource/united_fixes
diff --git a/Makefile.in b/Makefile.in
index 9b57b0e..63cfa89 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,10 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = .
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(top_srcdir)/configure $(am__configure_deps) \
-	$(top_srcdir)/make/clusterautoconfig.h.in $(noinst_HEADERS) \
-	compile config.guess config.sub install-sh missing ltmain.sh
 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 \
@@ -91,6 +97,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(noinst_HEADERS) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -154,6 +162,9 @@ ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/clusterautoconfig.h.in compile config.guess \
+	config.sub install-sh ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -270,6 +281,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -374,7 +386,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -395,8 +406,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 make/clusterautoconfig.h: make/stamp-h1
-	@if test ! -f $@; then rm -f make/stamp-h1; else :; fi
-	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) make/stamp-h1; else :; fi
+	@test -f $@ || rm -f make/stamp-h1
+	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) make/stamp-h1
 
 make/stamp-h1: $(top_srcdir)/make/clusterautoconfig.h.in $(top_builddir)/config.status
 	@rm -f make/stamp-h1
@@ -606,10 +617,16 @@ dist-xz: distdir
 	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
+	@echo WARNING: "Support for distribution archives compressed with" \
+		       "legacy program 'compress' is deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__post_remove_distdir)
 
 dist-shar: distdir
+	@echo WARNING: "Support for shar distribution archives is" \
+	               "deprecated." >&2
+	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
 	$(am__post_remove_distdir)
 
@@ -644,16 +661,17 @@ distcheck: dist
 	esac
 	chmod -R a-w $(distdir)
 	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_inst
+	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
 	chmod a-w $(distdir)
 	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
 	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	  && $(am__cd) $(distdir)/_build/sub \
+	  && ../../configure \
 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	    --srcdir=../.. --prefix="$$dc_install_base" \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
 	  && $(MAKE) $(AM_MAKEFLAGS) check \
@@ -837,6 +855,8 @@ uninstall-am: uninstall-local
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am uninstall-local
 
+.PRECIOUS: Makefile
+
 
 install-exec-local:
 			$(INSTALL) -d $(DESTDIR)/$(LOGDIR)
diff --git a/aclocal.m4 b/aclocal.m4
index 252466f..541e23c 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.15 -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.15], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.15])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -103,15 +103,14 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 # configured tree to be moved without reconfiguration.
 
 AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 ])
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -142,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -333,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -409,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -418,6 +417,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
 
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
 # AM_INIT_AUTOMAKE([OPTIONS])
 # -----------------------------------------------
@@ -493,8 +498,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
@@ -526,6 +531,51 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+  fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
 ])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
@@ -534,7 +584,6 @@ dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
 
-
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
 # that is generated.  The stamp files are numbered to have different names.
@@ -556,7 +605,7 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -567,7 +616,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -577,7 +626,7 @@ if test x"${install_sh}" != xset; then
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2013 Free Software Foundation, Inc.
+# Copyright (C) 2003-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -598,7 +647,7 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -646,41 +695,9 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
-          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2013 Free Software Foundation, Inc.
+# Copyright (C) 1997-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -719,7 +736,7 @@ fi
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -748,9 +765,73 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+  [whether $CC understands -c and -o together],
+  [am_cv_prog_cc_c_o],
+  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -831,7 +912,7 @@ AC_CONFIG_COMMANDS_PRE(
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2013 Free Software Foundation, Inc.
+# Copyright (C) 2009-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -891,7 +972,7 @@ AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+# Copyright (C) 2001-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -919,7 +1000,7 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2013 Free Software Foundation, Inc.
+# Copyright (C) 2006-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -938,7 +1019,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2013 Free Software Foundation, Inc.
+# Copyright (C) 2004-2014 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/compile b/compile
index 531136b..a85b723 100755
--- a/compile
+++ b/compile
@@ -3,7 +3,7 @@
 
 scriptversion=2012-10-14.11; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/config.guess b/config.guess
index 1f5c50c..dbfb978 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-03-23'
+timestamp='2015-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,12 +24,12 @@ timestamp='2014-03-23'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner.
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
 #
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 
 
 me=`echo "$0" | sed -e 's,.*/,,'`
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -579,8 +579,9 @@ EOF
 	else
 		IBM_ARCH=powerpc
 	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
+	if [ -x /usr/bin/lslpp ] ; then
+		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
 	else
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
diff --git a/config.sub b/config.sub
index 66c5074..6467c95 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2015 Free Software Foundation, Inc.
 
-timestamp='2014-07-28'
+timestamp='2015-01-01'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@ timestamp='2014-07-28'
 # of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+# Please send patches to <config-patches at gnu.org>.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -260,7 +260,7 @@ case $basic_machine in
 	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
-	| fido | fr30 | frv \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
@@ -302,6 +302,7 @@ case $basic_machine in
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
+	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -312,6 +313,7 @@ case $basic_machine in
 	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+	| visium \
 	| we32k \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
@@ -326,6 +328,9 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
+	leon|leon[3-9])
+		basic_machine=sparc-$basic_machine
+		;;
 	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
@@ -436,6 +441,7 @@ case $basic_machine in
 	| ubicom32-* \
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
+	| visium-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -773,6 +779,9 @@ case $basic_machine in
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
+	leon-*|leon[3-9]-*)
+		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+		;;
 	m68knommu)
 		basic_machine=m68k-unknown
 		os=-linux
diff --git a/configure b/configure
index 37ecaa2..4cdf797 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.21.
+# Generated by GNU Autoconf 2.69 for fence-agents 4.0.22.
 #
 # 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.21'
-PACKAGE_STRING='fence-agents 4.0.21'
+PACKAGE_VERSION='4.0.22'
+PACKAGE_STRING='fence-agents 4.0.22'
 PACKAGE_BUGREPORT='linux-cluster at redhat.com'
 PACKAGE_URL=''
 
@@ -649,6 +649,7 @@ NOVA_PATH
 SNMPGET_PATH
 SNMPSET_PATH
 SNMPWALK_PATH
+SBD_PATH
 MPATH_PATH
 TELNET_PATH
 SSH_PATH
@@ -1351,7 +1352,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.21 to adapt to many kinds of systems.
+\`configure' configures fence-agents 4.0.22 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1421,7 +1422,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of fence-agents 4.0.21:";;
+     short | recursive ) echo "Configuration of fence-agents 4.0.22:";;
    esac
   cat <<\_ACEOF
 
@@ -1538,7 +1539,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-fence-agents configure 4.0.21
+fence-agents configure 4.0.22
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2136,7 +2137,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.21, which was
+It was created by fence-agents $as_me 4.0.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2485,7 +2486,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-am__api_version='1.13'
+am__api_version='1.15'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2686,8 +2687,8 @@ test "$program_suffix" != NONE &&
 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
 
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
 if test x"${MISSING+set}" != xset; then
   case $am_aux_dir in
@@ -2706,7 +2707,7 @@ else
 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
-if test x"${install_sh}" != xset; then
+if test x"${install_sh+set}" != xset; then
   case $am_aux_dir in
   *\ * | *\	*)
     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
@@ -3000,7 +3001,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='fence-agents'
- VERSION='4.0.21'
+ VERSION='4.0.22'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3034,8 +3035,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
 mkdir_p='$(MKDIR_P)'
 
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
+# We need awk for the "check" target (and possibly the TAP driver).  The
+# system "awk" is bad on some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
 # in the wild :-(  We should find a proper way to deprecate it ...
 AMTAR='$${TAR-tar}'
@@ -3051,6 +3052,48 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
 
 
 
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes.  So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+  cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present.  This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake at gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message.  This
+can help us improve future automake versions.
+
+END
+  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+    echo 'Configuration will proceed anyway, since you have set the' >&2
+    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+    echo >&2
+  else
+    cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+  fi
+fi
+
 
 
 case `pwd` in
@@ -4070,6 +4113,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -12211,6 +12313,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+  # Make sure it works both with $CC and with simple cc.
+  # Following AC_PROG_CC_C_O, we do the test twice because some
+  # compilers refuse to overwrite an existing .o file with -o,
+  # though they will create one.
+  am_cv_prog_cc_c_o=yes
+  for am_i in 1 2; do
+    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } \
+         && test -f conftest2.$ac_objext; then
+      : OK
+    else
+      am_cv_prog_cc_c_o=no
+      break
+    fi
+  done
+  rm -f core conftest*
+  unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
@@ -12339,131 +12500,6 @@ else
 fi
 
 
-if test "x$CC" != xcc; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
-		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-   test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-then
-  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
-  if test "x$CC" != xcc; then
-    # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.$ac_ext >&5'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-      rm -f conftest2.*
-      if { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } &&
-	 test -f conftest2.$ac_objext && { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; };
-      then
-	# cc works too.
-	:
-      else
-	# cc exists but doesn't like -o.
-	eval ac_cv_prog_cc_${ac_cc}_c_o=no
-      fi
-    fi
-  fi
-else
-  eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
-   # Losing compiler, so override with the script.
-   # FIXME: It is wrong to rewrite CC.
-   # But if we don't then we get into trouble of one sort or another.
-   # A longer-term fix would be to have automake use am__CC in this case,
-   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
-   CC="$am_aux_dir/compile $CC"
-fi
-
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
 $as_echo_n "checking whether ln -s works... " >&6; }
@@ -17318,6 +17354,47 @@ $as_echo "no" >&6; }
 fi
 
 
+# Extract the first word of "sbd", so it can be a program name with args.
+set dummy sbd; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_SBD_PATH+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $SBD_PATH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SBD_PATH="$SBD_PATH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_SBD_PATH="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_SBD_PATH" && ac_cv_path_SBD_PATH="/sbin/sbd"
+  ;;
+esac
+fi
+SBD_PATH=$ac_cv_path_SBD_PATH
+if test -n "$SBD_PATH"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SBD_PATH" >&5
+$as_echo "$SBD_PATH" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
 # Extract the first word of "sudo", so it can be a program name with args.
 set dummy sudo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -17635,7 +17712,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 +18257,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.21, which was
+This file was extended by fence-agents $as_me 4.0.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18246,7 +18323,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.21
+fence-agents config.status 4.0.22
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -18796,8 +18873,10 @@ do
     "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" ;;
+    "fence/agents/sbd/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/sbd/Makefile" ;;
     "fence/agents/sanbox2/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/sanbox2/Makefile" ;;
     "fence/agents/scsi/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/scsi/Makefile" ;;
+    "fence/agents/vbox/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/vbox/Makefile" ;;
     "fence/agents/virsh/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/virsh/Makefile" ;;
     "fence/agents/vmware/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/vmware/Makefile" ;;
     "fence/agents/vmware_soap/Makefile") CONFIG_FILES="$CONFIG_FILES fence/agents/vmware_soap/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index b54e71c..0a5eb36 100644
--- a/configure.ac
+++ b/configure.ac
@@ -170,6 +170,7 @@ AC_PATH_PROG([SUDO_PATH], [sudo], [/usr/bin/sudo])
 AC_PATH_PROG([SSH_PATH], [ssh], [/usr/bin/ssh])
 AC_PATH_PROG([TELNET_PATH], [telnet], [/usr/bin/telnet])
 AC_PATH_PROG([MPATH_PATH], [mpathpersist], [/usr/sbin/mpathpersist])
+AC_PATH_PROG([SBD_PATH], [sbd], [/sbin/sbd])
 AC_PATH_PROG([SUDO_PATH], [sudo], [/usr/bin/sudo])
 AC_PATH_PROG([SNMPWALK_PATH], [snmpwalk], [/usr/bin/snmpwalk])
 AC_PATH_PROG([SNMPSET_PATH], [snmpset], [/usr/bin/snmpset])
@@ -307,8 +308,10 @@ AC_CONFIG_FILES([Makefile
 		 fence/agents/rhevm/Makefile
 		 fence/agents/rsa/Makefile
 		 fence/agents/rsb/Makefile
+		 fence/agents/sbd/Makefile
 		 fence/agents/sanbox2/Makefile
 		 fence/agents/scsi/Makefile
+		 fence/agents/vbox/Makefile
 		 fence/agents/virsh/Makefile
 		 fence/agents/vmware/Makefile
 		 fence/agents/vmware_soap/Makefile
diff --git a/depcomp b/depcomp
index 4ebd5b3..fc98710 100755
--- a/depcomp
+++ b/depcomp
@@ -3,7 +3,7 @@
 
 scriptversion=2013-05-30.07; # UTC
 
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 8f64768..562e40e 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(dist_doc_DATA)
 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 \
@@ -89,6 +97,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_doc_DATA) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -142,6 +152,7 @@ am__uninstall_files_from_dir = { \
 am__installdirs = "$(DESTDIR)$(docdir)"
 DATA = $(dist_doc_DATA)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -217,6 +228,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -306,7 +318,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu doc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -507,6 +518,8 @@ uninstall-am: uninstall-dist_docDATA
 	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
 	uninstall-am uninstall-dist_docDATA
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/fence/Makefile.in b/fence/Makefile.in
index e6dcc57..4730b3e 100644
--- a/fence/Makefile.in
+++ b/fence/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = fence
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 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 \
@@ -87,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -146,6 +156,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -246,6 +257,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -331,7 +343,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -627,6 +638,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/fence/agents/Makefile.in b/fence/agents/Makefile.in
index 0aba870..48f16b4 100644
--- a/fence/agents/Makefile.in
+++ b/fence/agents/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
 
 @SET_MAKE@
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,7 +88,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = fence/agents
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
 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 \
@@ -87,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -146,6 +156,7 @@ am__define_uniq_tagged_files = \
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 am__relativize = \
   dir0=`pwd`; \
@@ -246,6 +257,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -331,7 +343,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -627,6 +638,8 @@ uninstall-am:
 	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
 	ps ps-am tags tags-am uninstall uninstall-am
 
+.PRECIOUS: Makefile
+
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/fence/agents/alom/Makefile.in b/fence/agents/alom/Makefile.in
index 2a85a97..3189235 100644
--- a/fence/agents/alom/Makefile.in
+++ b/fence/agents/alom/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/alom
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/alom/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/alom/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/amt/Makefile.in b/fence/agents/amt/Makefile.in
index a95332f..513301e 100644
--- a/fence/agents/amt/Makefile.in
+++ b/fence/agents/amt/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/amt
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/amt/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/amt/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/amt/fence_amt.py b/fence/agents/amt/fence_amt.py
index 98ec554..0283dc2 100644
--- a/fence/agents/amt/fence_amt.py
+++ b/fence/agents/amt/fence_amt.py
@@ -41,7 +41,17 @@ def amt_run_command(options, command, timeout=None):
 	x = x[1:] if x.startswith("'") else x
 	env["AMT_PASSWORD"] = x
 
-	return run_command(options, command, timeout, env)
+	# This is needed because setting the AMT_PASSWORD env
+	# variable only works when no pipe is involved. E.g.:
+	# - Broken:
+	# $ AMT_PASSWORD='foobar' echo 'y' |  /usr/bin/amttool nuc2 powerdown
+	# 401 Unauthorized at /usr/bin/amttool line 129.
+	# - Working:
+	# $ AMT_PASSWORD='foobar' sh -c "(echo 'y' | /usr/bin/amttool nuc2 powerdown)"
+	# execute: powerdown
+	# result: pt_status: success
+	newcommand = "sh -c \"(%s)\"" % command
+	return run_command(options, newcommand, timeout, env)
 
 def create_command(options, action):
 	cmd = options["--amttool-path"]
diff --git a/fence/agents/apc/Makefile.in b/fence/agents/apc/Makefile.in
index 007c2fe..151762d 100644
--- a/fence/agents/apc/Makefile.in
+++ b/fence/agents/apc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/apc
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/apc/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/apc/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/apc/fence_apc.py b/fence/agents/apc/fence_apc.py
index 3307e4e..c6dd106 100644
--- a/fence/agents/apc/fence_apc.py
+++ b/fence/agents/apc/fence_apc.py
@@ -247,7 +247,7 @@ will block any necessary fencing actions."
 	####
 	result = -1
 	firmware_version = re.compile(r'\s*v(\d)*\.').search(conn.before)
-	if (firmware_version != None) and (firmware_version.group(1) == "5"):
+	if (firmware_version != None) and (firmware_version.group(1) in [ "5", "6" ]):
 		result = fence_action(conn, options, set_power_status5, get_power_status5, get_power_status5)
 	else:
 		result = fence_action(conn, options, set_power_status, get_power_status, get_power_status)
diff --git a/fence/agents/apc_snmp/Makefile.in b/fence/agents/apc_snmp/Makefile.in
index eaa3566..edcc94f 100644
--- a/fence/agents/apc_snmp/Makefile.in
+++ b/fence/agents/apc_snmp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/make/fencebuild.mk \
-	$(top_srcdir)/make/fenceman.mk \
-	$(top_srcdir)/make/agentpycheck.mk $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am README
 subdir = fence/agents/apc_snmp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -318,7 +330,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/apc_snmp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/apc_snmp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -327,7 +338,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -578,6 +589,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -599,6 +612,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/bladecenter/Makefile.in b/fence/agents/bladecenter/Makefile.in
index 86b9d33..d64bc8c 100644
--- a/fence/agents/bladecenter/Makefile.in
+++ b/fence/agents/bladecenter/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/bladecenter
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/bladecenter/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/bladecenter/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/brocade/Makefile.in b/fence/agents/brocade/Makefile.in
index 0e64945..907c390 100644
--- a/fence/agents/brocade/Makefile.in
+++ b/fence/agents/brocade/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/brocade
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/brocade/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/brocade/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/brocade/fence_brocade.py b/fence/agents/brocade/fence_brocade.py
index e5a5063..5257bcc 100644
--- a/fence/agents/brocade/fence_brocade.py
+++ b/fence/agents/brocade/fence_brocade.py
@@ -36,7 +36,7 @@ def get_power_status(conn, options):
 			status = "off" if len(tokens) > 7 and tokens[7] == "Disabled" else "on"
 			outlets[tokens[0]] = ("", status)
 
-	if options["--action"] == "status":
+	if ["list", "monitor"].count(options["--action"]) == 0:
 		(_, status) = outlets[options["--plug"]]
 		return status
 	else:
diff --git a/fence/agents/cisco_mds/Makefile.in b/fence/agents/cisco_mds/Makefile.in
index fc733d3..f5dced5 100644
--- a/fence/agents/cisco_mds/Makefile.in
+++ b/fence/agents/cisco_mds/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/cisco_mds
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/cisco_mds/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/cisco_mds/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/cisco_ucs/Makefile.in b/fence/agents/cisco_ucs/Makefile.in
index 87822c2..4c9db5e 100644
--- a/fence/agents/cisco_ucs/Makefile.in
+++ b/fence/agents/cisco_ucs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/cisco_ucs
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/cisco_ucs/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/cisco_ucs/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/compute/Makefile.in b/fence/agents/compute/Makefile.in
index 6adf11a..711c1e5 100644
--- a/fence/agents/compute/Makefile.in
+++ b/fence/agents/compute/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/compute
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/compute/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/compute/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/compute/fence_compute.py b/fence/agents/compute/fence_compute.py
index 82d9c46..4538beb 100644
--- a/fence/agents/compute/fence_compute.py
+++ b/fence/agents/compute/fence_compute.py
@@ -19,6 +19,9 @@ REDHAT_COPYRIGHT="Copyright (C) Red Hat, Inc. 2004-2010 All rights reserved."
 override_status = ""
 nova = None
 
+EVACUABLE_TAG = "evacuable"
+TRUE_TAGS = ['true']
+
 def get_power_status(_, options):
 	global override_status
 
@@ -32,8 +35,8 @@ def get_power_status(_, options):
 	if nova:
 		try:
 			services = nova.services.list(host=options["--plug"])
-
 			for service in services:
+				logging.debug("Status of %s is %s" % (service.binary, service.state))
 				if service.binary == "nova-compute":
 					if service.state == "up":
 						status = "on"
@@ -49,31 +52,91 @@ def get_power_status(_, options):
 # NOTE(sbauza); We mimic the host-evacuate module since it's only a contrib
 # module which is not stable
 def _server_evacuate(server, on_shared_storage):
-	success = True
+	success = False
 	error_message = ""
 	try:
-		nova.servers.evacuate(server=server['uuid'], on_shared_storage=on_shared_storage)
+		logging.debug("Resurrecting instance: %s" % server)
+		(response, dictionary) = nova.servers.evacuate(server=server, on_shared_storage=on_shared_storage)
+
+		if response == None:
+			error_message = "No response while evacuating instance"
+		elif response.status_code == 200:
+			success = True
+			error_message = response.reason
+		else:
+			error_message = response.reason
+
 	except Exception as e:
-		success = False
 		error_message = "Error while evacuating instance: %s" % e
 
 	return {
-		"server_uuid": server['uuid'],
-		"evacuate_accepted": success,
-		"error_message": error_message,
+		"uuid": server,
+		"accepted": success,
+		"reason": error_message,
 		}
 
-def _host_evacuate(host, on_shared_storage):
-	hypervisors = nova.hypervisors.search(host, servers=True)
-	response = []
-	for hyper in hypervisors:
-		if hasattr(hyper, 'servers'):
-			for server in hyper.servers:
-				response.append(_server_evacuate(server, on_shared_storage))
+def _is_server_evacuable(server, evac_flavors, evac_images):
+    if server.flavor.get('id') in evac_flavors:
+        return True
+    if server.image.get('id') in evac_images:
+        return True
+    return False
+
+def _get_evacuable_flavors():
+    result = []
+    flavors = nova.flavors.list()
+    # Since the detailed view for all flavors doesn't provide the extra specs,
+    # we need to call each of the flavor to get them.
+    for flavor in flavors:
+        if flavor.get_keys().get(EVACUABLE_TAG).strip().lower() in TRUE_TAGS:
+            result.append(flavor.id)
+    return result
+
+def _get_evacuable_images():
+    result = []
+    images = nova.images.list(detailed=True)
+    for image in images:
+        if hasattr(image, 'metadata'):
+            if image.metadata.get(EVACUABLE_TAG).strip.lower() in TRUE_TAGS:
+                result.append(image.id)
+    return result
+
+def _host_evacuate(options):
+	result = True
+	servers = nova.servers.list(search_opts={'host': options["--plug"]})
+	if options["--instance-filtering"] == "False":
+		evacuables = servers
+	else:
+		flavors = _get_evacuable_flavors()
+		images = _get_evacuable_images()
+		# Identify all evacuable servers
+		evacuables = [server for server in servers
+			      if _is_server_evacuable(server, flavors, images)]
+
+	if options["--no-shared-storage"] != "False":
+		on_shared_storage = False
+	else:
+		on_shared_storage = True
+
+	for server in evacuables:
+		if hasattr(server, 'id'):
+			response = _server_evacuate(server.id, on_shared_storage)
+			if response["accepted"]:
+				logging.debug("Evacuated %s from %s: %s" %
+					      (response["uuid"], options["--plug"], response["reason"]))
+			else:
+				logging.error("Evacuation of %s on %s failed: %s" %
+					      (response["uuid"], options["--plug"], response["reason"]))
+				result = False
+		else:
+			logging.error("Could not evacuate instance: %s" % server.to_dict())
+			# Should a malformed instance result in a failed evacuation?
+			# result = False
+	return result
 
 def set_attrd_status(host, status, options):
 	logging.debug("Setting fencing status for %s to %s" % (host, status))
-	run_command(options, "attrd_updater -p -n evacute -Q -N %s -v %s" % (host, status))
+	run_command(options, "attrd_updater -p -n evacuate -Q -N %s -U %s" % (host, status))
 
 def set_power_status(_, options):
 	global override_status
@@ -86,28 +149,53 @@ def set_power_status(_, options):
 
 	if options["--action"] == "on":
 		if get_power_status(_, options) == "on":
+			# Forcing the service back up in case it was disabled
 			nova.services.enable(options["--plug"], 'nova-compute')
+			try:
+				# Forcing the host back up
+				nova.services.force_down(
+					options["--plug"], "nova-compute", force_down=False)
+			except Exception as e:
+				# In theory, if foce_down=False fails, that's for the exact
+				# same possible reasons that below with force_down=True
+				# eg. either an incompatible version or an old client.
+				# Since it's about forcing back to a default value, there is
+				# no real worries to just consider it's still okay even if the
+				# command failed
+				logging.info("Exception from attempt to force "
+					      "host back up via nova API: "
+					      "%s: %s" % (e.__class__.__name__, e))
 		else:
 			# Pretend we're 'on' so that the fencing library doesn't loop forever waiting for the node to boot
 			override_status = "on"
 		return
 
-	# need to wait for nova to update its internal status or we
-	# cannot call host-evacuate
-	while get_power_status(_, options) != "off":
-		# Loop forever if need be.
-		#
-		# Some callers (such as Pacemaker) will have a timer
-		# running and kill us if necessary
-		logging.debug("Waiting for nova to update it's internal state")
-		time.sleep(1)
-
-	if options["--no-shared-storage"] != "False":
-		on_shared_storage = False
-	else:
-		on_shared_storage = True
+	try:
+		nova.services.force_down(
+			options["--plug"], "nova-compute", force_down=True)
+	except Exception as e:
+		# Something went wrong when we tried to force the host down.
+		# That could come from either an incompatible API version
+		# eg. UnsupportedVersion or VersionNotFoundForAPIMethod
+		# or because novaclient is old and doesn't include force_down yet
+		# eg. AttributeError
+		# In that case, fallbacking to wait for Nova to catch the right state.
+
+		logging.error("Exception from attempt to force host down via nova API: "
+			      "%s: %s" % (e.__class__.__name__, e))
+		# need to wait for nova to update its internal status or we
+		# cannot call host-evacuate
+		while get_power_status(_, options) != "off":
+			# Loop forever if need be.
+			#
+			# Some callers (such as Pacemaker) will have a timer
+			# running and kill us if necessary
+			logging.debug("Waiting for nova to update it's internal state for %s" % options["--plug"])
+			time.sleep(1)
+
+	if not _host_evacuate(options):
+		sys.exit(1)
 
-	_host_evacuate(options["--plug"], on_shared_storage)
 	return
 
 def get_plugs_list(_, options):
@@ -117,9 +205,9 @@ def get_plugs_list(_, options):
 		hypervisors = nova.hypervisors.list()
 		for hypervisor in hypervisors:
 			longhost = hypervisor.hypervisor_hostname
-			if options["--action"] == "list" and options["--domain"] != "":
-				shorthost = longhost.replace("." + options["--domain"],
-                                                 "")
+			if options["--domain"] != "":
+				shorthost = longhost.replace("." + options["--domain"], "")
+				result[longhost] = ("", None)
 				result[shorthost] = ("", None)
 			else:
 				result[longhost] = ("", None)
@@ -164,7 +252,7 @@ def define_new_opts():
 		"order": 5,
 	}
 	all_opt["record-only"] = {
-		"getopt" : "",
+		"getopt" : "r:",
 		"longopt" : "record-only",
 		"help" : "--record-only                  Record the target as needing evacuation but as yet do not intiate it",
 		"required" : "0",
@@ -172,6 +260,15 @@ def define_new_opts():
 		"default" : "False",
 		"order": 5,
 	}
+	all_opt["instance-filtering"] = {
+		"getopt" : "",
+		"longopt" : "instance-filtering",
+		"help" : "--instance-filtering           Only evacuate instances create from images and flavors with evacuable=true",
+		"required" : "0",
+		"shortdesc" : "Only evacuate flagged instances",
+		"default" : "False",
+		"order": 5,
+	}
 	all_opt["no-shared-storage"] = {
 		"getopt" : "",
 		"longopt" : "no-shared-storage",
@@ -187,17 +284,17 @@ def main():
 	global nova
 	atexit.register(atexit_handler)
 
-	device_opt = ["login", "passwd", "tenant-name", "auth-url",
+	device_opt = ["login", "passwd", "tenant-name", "auth-url", "fabric_fencing", "on_target",
 		"no_login", "no_password", "port", "domain", "no-shared-storage", "endpoint-type",
-		"record-only"]
+		"record-only", "instance-filtering"]
 	define_new_opts()
 	all_opt["shell_timeout"]["default"] = "180"
 
 	options = check_input(device_opt, process_input(device_opt))
 
 	docs = {}
-	docs["shortdesc"] = "Fence agent for nova compute nodes"
-	docs["longdesc"] = "fence_nova_host is a Nova fencing notification agent"
+	docs["shortdesc"] = "Fence agent for the automatic resurrection of OpenStack compute instances"
+	docs["longdesc"] = "Used to tell Nova that compute nodes are down and to reschedule flagged instances"
 	docs["vendorurl"] = ""
 
 	show_docs(options, docs)
@@ -213,7 +310,10 @@ def main():
 	if options["--action"] != "list" and options["--domain"] != "" and options.has_key("--plug"):
 		options["--plug"] = options["--plug"] + "." + options["--domain"]
 
-	if options["--record-only"] != "False":
+	if options["--record-only"] in [ "2", "Disabled", "disabled" ]:
+		sys.exit(0)
+
+	elif options["--record-only"] in [ "1", "True", "true", "Yes", "yes"]:
 		if options["--action"] == "on":
 			set_attrd_status(options["--plug"], "no", options)
 			sys.exit(0)
@@ -222,7 +322,7 @@ def main():
 			set_attrd_status(options["--plug"], "yes", options)
 			sys.exit(0)
 
-		elif options["--action"] in ["status", "monitor"]:
+		elif options["--action"] in ["monitor", "status"]:
 			sys.exit(0)
 
 	# The first argument is the Nova client version
diff --git a/fence/agents/docker/Makefile.in b/fence/agents/docker/Makefile.in
index b614b93..1f435b5 100644
--- a/fence/agents/docker/Makefile.in
+++ b/fence/agents/docker/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/docker
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/docker/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/docker/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/docker/fence_docker.py b/fence/agents/docker/fence_docker.py
index 7363611..a27ecb1 100644
--- a/fence/agents/docker/fence_docker.py
+++ b/fence/agents/docker/fence_docker.py
@@ -49,7 +49,7 @@ def get_list(conn, options):
 
 
 def send_cmd(options, cmd, post = False):
-	url = "http%s://%s:%s/v1.11/%s" % ("s" if "--ssl" in options else "", options["--ip"], options["--ipport"], cmd)
+	url = "http%s://%s:%s/v%s/%s" % ("s" if "--ssl" in options else "", options["--ip"], options["--ipport"], options["--api-version"], cmd)
 	conn = pycurl.Curl()
 	output_buffer = StringIO.StringIO()
 	if logging.getLogger().getEffectiveLevel() < logging.WARNING:
@@ -88,6 +88,8 @@ specify: --tlscert, --tlskey and --tlscacert")
 	except pycurl.error:
 		logging.error("Connection failed")
 	except:
+		if result is not None:
+			logging.error(result)
 		logging.error("Cannot parse json")
 	return None
 
@@ -128,7 +130,17 @@ TLS authentication.  Required if --ssl option is used.",
 		"order": 2
 	}
 
-	device_opt = ["ipaddr", "no_password", "no_login", "port", "method", "web", "tlscert", "tlskey", "tlscacert", "ssl"]
+	all_opt["api_version"] = {
+		"getopt" : ":",
+		"longopt" : "api-version",
+		"help" : "--api-version                  "
+			"Version of Docker Remote API (default: 1.11)",
+		"required" : "0",
+		"order" : "2",
+		"default" : "1.11",
+	}
+
+	device_opt = ["ipaddr", "no_password", "no_login", "port", "method", "web", "tlscert", "tlskey", "tlscacert", "ssl", "api_version"]
 
 	options = check_input(device_opt, process_input(device_opt))
 
diff --git a/fence/agents/drac/Makefile.in b/fence/agents/drac/Makefile.in
index c2862e9..1eb5172 100644
--- a/fence/agents/drac/Makefile.in
+++ b/fence/agents/drac/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/drac
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/drac/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/drac/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/drac5/Makefile.in b/fence/agents/drac5/Makefile.in
index 21e35be..6373080 100644
--- a/fence/agents/drac5/Makefile.in
+++ b/fence/agents/drac5/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/drac5
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/drac5/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/drac5/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/dummy/Makefile.in b/fence/agents/dummy/Makefile.in
index d81a035..0b76f92 100644
--- a/fence/agents/dummy/Makefile.in
+++ b/fence/agents/dummy/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/dummy
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -313,7 +325,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/dummy/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/dummy/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -322,7 +333,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -573,6 +584,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -594,6 +607,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/eaton_snmp/Makefile.in b/fence/agents/eaton_snmp/Makefile.in
index af82304..181ac37 100644
--- a/fence/agents/eaton_snmp/Makefile.in
+++ b/fence/agents/eaton_snmp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/make/fencebuild.mk \
-	$(top_srcdir)/make/fenceman.mk \
-	$(top_srcdir)/make/agentpycheck.mk $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am README
 subdir = fence/agents/eaton_snmp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -316,7 +328,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/eaton_snmp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/eaton_snmp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -325,7 +336,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -576,6 +587,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -597,6 +610,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/emerson/Makefile.in b/fence/agents/emerson/Makefile.in
index cb79bc7..ad68b9a 100644
--- a/fence/agents/emerson/Makefile.in
+++ b/fence/agents/emerson/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/emerson
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/emerson/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/emerson/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/eps/Makefile.in b/fence/agents/eps/Makefile.in
index 1167d7e..971e087 100644
--- a/fence/agents/eps/Makefile.in
+++ b/fence/agents/eps/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/eps
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/eps/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/eps/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/hds_cb/Makefile.in b/fence/agents/hds_cb/Makefile.in
index 29eb16a..74da5dd 100644
--- a/fence/agents/hds_cb/Makefile.in
+++ b/fence/agents/hds_cb/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/hds_cb
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/hds_cb/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/hds_cb/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/hpblade/Makefile.in b/fence/agents/hpblade/Makefile.in
index 161e045..9393afa 100644
--- a/fence/agents/hpblade/Makefile.in
+++ b/fence/agents/hpblade/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/hpblade
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/hpblade/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/hpblade/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ibmblade/Makefile.in b/fence/agents/ibmblade/Makefile.in
index 7bcd468..3f14af4 100644
--- a/fence/agents/ibmblade/Makefile.in
+++ b/fence/agents/ibmblade/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ibmblade
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ibmblade/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ibmblade/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ifmib/Makefile.in b/fence/agents/ifmib/Makefile.in
index d925e48..cea774b 100644
--- a/fence/agents/ifmib/Makefile.in
+++ b/fence/agents/ifmib/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/make/fencebuild.mk \
-	$(top_srcdir)/make/fenceman.mk \
-	$(top_srcdir)/make/agentpycheck.mk $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am README
 subdir = fence/agents/ifmib
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk README
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -316,7 +328,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ifmib/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ifmib/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -325,7 +336,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -576,6 +587,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -597,6 +610,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ilo/Makefile.in b/fence/agents/ilo/Makefile.in
index d63fffd..9c1c730 100644
--- a/fence/agents/ilo/Makefile.in
+++ b/fence/agents/ilo/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ilo
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -315,7 +327,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ilo/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ilo/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -324,7 +335,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -575,6 +586,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 
 $(SYMTARGET): $(TARGET)
 	cp $^ $@
@@ -599,6 +612,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ilo_moonshot/Makefile.in b/fence/agents/ilo_moonshot/Makefile.in
index 3c628bd..611010e 100644
--- a/fence/agents/ilo_moonshot/Makefile.in
+++ b/fence/agents/ilo_moonshot/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ilo_moonshot
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ilo_moonshot/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ilo_moonshot/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ilo_mp/Makefile.in b/fence/agents/ilo_mp/Makefile.in
index 88fee63..b085eeb 100644
--- a/fence/agents/ilo_mp/Makefile.in
+++ b/fence/agents/ilo_mp/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ilo_mp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ilo_mp/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ilo_mp/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ilo_ssh/Makefile.in b/fence/agents/ilo_ssh/Makefile.in
index 1361f2f..d245b34 100644
--- a/fence/agents/ilo_ssh/Makefile.in
+++ b/fence/agents/ilo_ssh/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ilo_ssh
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -315,7 +327,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ilo_ssh/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ilo_ssh/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -324,7 +335,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -575,6 +586,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 
 $(SYMTARGET) : $(TARGET)
 	cp $^ $@
@@ -599,6 +612,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/intelmodular/Makefile.in b/fence/agents/intelmodular/Makefile.in
index 81e8760..f9ec666 100644
--- a/fence/agents/intelmodular/Makefile.in
+++ b/fence/agents/intelmodular/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/intelmodular
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/intelmodular/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/intelmodular/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ipdu/Makefile.in b/fence/agents/ipdu/Makefile.in
index a2c0bee..2d52195 100644
--- a/fence/agents/ipdu/Makefile.in
+++ b/fence/agents/ipdu/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ipdu
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ipdu/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ipdu/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ipmilan/Makefile.in b/fence/agents/ipmilan/Makefile.in
index 61918c9..516ec86 100644
--- a/fence/agents/ipmilan/Makefile.in
+++ b/fence/agents/ipmilan/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ipmilan
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -315,7 +327,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ipmilan/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ipmilan/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -324,7 +335,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -575,6 +586,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 
 $(SYMTARGET): $(TARGET)
 	cp $^ $@
@@ -599,6 +612,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ipmilan/fence_ipmilan.py b/fence/agents/ipmilan/fence_ipmilan.py
index a396970..66494ed 100644
--- a/fence/agents/ipmilan/fence_ipmilan.py
+++ b/fence/agents/ipmilan/fence_ipmilan.py
@@ -27,6 +27,10 @@ def reboot_cycle(_, options):
 	output = run_command(options, create_command(options, "cycle"))
 	return bool(re.search('chassis power control: cycle', str(output).lower()))
 
+def reboot_diag(_, options):
+	output = run_command(options, create_command(options, "diag"))
+	return bool(re.search('chassis power control: diag', str(output).lower()))
+
 def create_command(options, action):
 	cmd = options["--ipmitool-path"]
 
@@ -123,10 +127,11 @@ def define_new_opts():
 def main():
 	atexit.register(atexit_handler)
 
-	device_opt = ["ipaddr", "login", "no_login", "no_password", "passwd",
+	device_opt = ["ipaddr", "login", "no_login", "no_password", "passwd", "diag",
 		"lanplus", "auth", "cipher", "privlvl", "sudo", "ipmitool_path", "method"]
 	define_new_opts()
 
+	all_opt["power_wait"]["default"] = 2
 	if os.path.basename(sys.argv[0]) == "fence_ilo3":
 		all_opt["power_wait"]["default"] = "4"
 		all_opt["method"]["default"] = "cycle"
@@ -155,7 +160,15 @@ This agent calls support software ipmitool (http://ipmitool.sf.net/)."
 	if not is_executable(options["--ipmitool-path"]):
 		fail_usage("Ipmitool not found or not accessible")
 
-	result = fence_action(None, options, set_power_status, get_power_status, None, reboot_cycle)
+	reboot_fn = reboot_cycle
+	if options["--action"] == "diag":
+		# Diag is a special action that can't be verified so we will reuse reboot functionality
+		# to minimize impact on generic library
+		options["--action"] = "reboot"
+		options["--method"] = "cycle"
+		reboot_fn = reboot_diag
+
+	result = fence_action(None, options, set_power_status, get_power_status, None, reboot_fn)
 	sys.exit(result)
 
 if __name__ == "__main__":
diff --git a/fence/agents/kdump/Makefile.in b/fence/agents/kdump/Makefile.in
index 0251b09..4d44a5a 100644
--- a/fence/agents/kdump/Makefile.in
+++ b/fence/agents/kdump/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -16,7 +16,17 @@
 
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -81,9 +91,6 @@ build_triplet = @build@
 host_triplet = @host@
 sbin_PROGRAMS = fence_kdump$(EXEEXT)
 libexec_PROGRAMS = fence_kdump_send$(EXEEXT)
-DIST_COMMON = $(top_srcdir)/make/agentccheck.mk $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am $(top_srcdir)/depcomp $(dist_man_MANS) \
-	$(noinst_HEADERS)
 subdir = fence/agents/kdump
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -93,6 +100,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+	$(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -209,6 +218,8 @@ am__define_uniq_tagged_files = \
   done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
+am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in \
+	$(top_srcdir)/depcomp $(top_srcdir)/make/agentccheck.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -284,6 +295,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -377,7 +389,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/agentccheck.mk
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/kdump/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/kdump/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -386,7 +397,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/agentccheck.mk:
+$(top_srcdir)/make/agentccheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -517,14 +528,14 @@ distclean-compile:
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -822,6 +833,8 @@ uninstall-man: uninstall-man8
 	tags tags-am uninstall uninstall-am uninstall-libexecPROGRAMS \
 	uninstall-man uninstall-man8 uninstall-sbinPROGRAMS
 
+.PRECIOUS: Makefile
+
 
 check: $(TARGET:%=xml-check.%) $(SYMTARGET:%=xml-check.%)
 
diff --git a/fence/agents/ldom/Makefile.in b/fence/agents/ldom/Makefile.in
index f76b067..9073fbd 100644
--- a/fence/agents/ldom/Makefile.in
+++ b/fence/agents/ldom/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ldom
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ldom/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ldom/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/lib/Makefile.in b/fence/agents/lib/Makefile.in
index e167097..a6ebb6d 100644
--- a/fence/agents/lib/Makefile.in
+++ b/fence/agents/lib/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 @BUILD_XENAPILIB_TRUE at am__append_1 = XenAPI.py
-DIST_COMMON = $(top_srcdir)/make/fencebuild.mk $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am
 subdir = fence/agents/lib
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -90,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -143,6 +152,8 @@ am__uninstall_files_from_dir = { \
 am__installdirs = "$(DESTDIR)$(fencelibdir)" "$(DESTDIR)$(rngdir)"
 DATA = $(fencelib_DATA) $(rng_DATA)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/fencebuild.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -218,6 +229,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -311,7 +323,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/lib/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/lib/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -320,7 +331,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk:
+$(top_srcdir)/make/fencebuild.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -532,6 +543,8 @@ uninstall-am: uninstall-fencelibDATA uninstall-rngDATA
 	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
 	uninstall-am uninstall-fencelibDATA uninstall-rngDATA
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -553,6 +566,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/lib/fence2man.xsl b/fence/agents/lib/fence2man.xsl
index fd923f5..073de95 100644
--- a/fence/agents/lib/fence2man.xsl
+++ b/fence/agents/lib/fence2man.xsl
@@ -30,6 +30,7 @@
 <xsl:when test="@name = 'enable'">Enable fabric access.</xsl:when>
 <xsl:when test="@name = 'disable'">Disable fabric access.</xsl:when>
 <xsl:when test="@name = 'reboot'">Reboot machine.</xsl:when>
+<xsl:when test="@name = 'diag'">Pulse a diagnostic interrupt to the processor(s).</xsl:when>
 <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>
diff --git a/fence/agents/lib/fencing.py.py b/fence/agents/lib/fencing.py.py
index b8d3d11..0e57e39 100644
--- a/fence/agents/lib/fencing.py.py
+++ b/fence/agents/lib/fencing.py.py
@@ -140,6 +140,10 @@ all_opt = {
 		"getopt" : "",
 		"help" : "",
 		"order" : ""},
+	"diag" : {
+		"getopt" : "",
+		"help" : "",
+		"order" : ""},
 	"passwd" : {
 		"getopt" : "p:",
 		"longopt" : "password",
@@ -1067,7 +1071,7 @@ def _login_telnet(options, re_login_string):
 			conn.send_eol("")
 			screen = conn.read_nonblocking(size=100, timeout=int(options["--shell-timeout"]))
 			## after sending EOL the fence device can either show 'Login' or 'Password'
-			if re_login.search(screen) != None:
+			if re_login.search(conn.after + screen) != None:
 				conn.send_eol("")
 			conn.send_eol(options["--username"])
 			conn.log_expect(re_pass, int(options["--login-timeout"]))
@@ -1302,7 +1306,9 @@ def _parse_input_cmdline(avail_opt):
 	(getopt_string, longopt_list) = _prepare_getopt_args(avail_opt)
 
 	try:
-		entered_opt = getopt.gnu_getopt(sys.argv[1:], getopt_string, longopt_list)[0]
+		(entered_opt, left_arg) = getopt.gnu_getopt(sys.argv[1:], getopt_string, longopt_list)
+		if len(left_arg) > 0:
+			logging.warning("Unused arguments on command line: %s" % (str(left_arg)))
 	except getopt.GetoptError, error:
 		fail_usage("Parse error: " + error.msg)
 
@@ -1383,5 +1389,7 @@ def _get_available_actions(device_opt):
 	if not device_opt.count("separator"):
 		available_actions.remove("list")
 		available_actions.remove("list-status")
+	if device_opt.count("diag"):
+		available_actions.append("diag")
 
 	return (available_actions, default_value)
diff --git a/fence/agents/lpar/Makefile.in b/fence/agents/lpar/Makefile.in
index a5b49df..fce349d 100644
--- a/fence/agents/lpar/Makefile.in
+++ b/fence/agents/lpar/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/lpar
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/lpar/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/lpar/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/manual/Makefile.in b/fence/agents/manual/Makefile.in
index 85a3dc0..b21f34d 100644
--- a/fence/agents/manual/Makefile.in
+++ b/fence/agents/manual/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -79,8 +89,6 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = fence/agents/manual
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(dist_man_MANS)
 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 \
@@ -89,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -145,6 +154,7 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(dist_man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -220,6 +230,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -308,7 +319,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/manual/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/manual/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -569,6 +579,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 
 $(TARGET): $(TARGET).in
 	cat $^ | sed \
diff --git a/fence/agents/mpath/Makefile.in b/fence/agents/mpath/Makefile.in
index aef4547..01b3d92 100644
--- a/fence/agents/mpath/Makefile.in
+++ b/fence/agents/mpath/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/mpath
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/mpath/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/mpath/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/netio/Makefile.in b/fence/agents/netio/Makefile.in
index 30635b3..a259688 100644
--- a/fence/agents/netio/Makefile.in
+++ b/fence/agents/netio/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/netio
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/netio/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/netio/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/ovh/Makefile.in b/fence/agents/ovh/Makefile.in
index 15652cd..0b350fb 100644
--- a/fence/agents/ovh/Makefile.in
+++ b/fence/agents/ovh/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ovh
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ovh/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/ovh/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/pve/Makefile.in b/fence/agents/pve/Makefile.in
index a11d38e..b7697b0 100644
--- a/fence/agents/pve/Makefile.in
+++ b/fence/agents/pve/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/pve
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/pve/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/pve/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/raritan/Makefile.in b/fence/agents/raritan/Makefile.in
index 84a453a..3861fda 100644
--- a/fence/agents/raritan/Makefile.in
+++ b/fence/agents/raritan/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/raritan
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/raritan/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/raritan/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/rcd_serial/Makefile.in b/fence/agents/rcd_serial/Makefile.in
index 16b584f..3f26920 100644
--- a/fence/agents/rcd_serial/Makefile.in
+++ b/fence/agents/rcd_serial/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/rcd_serial
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/rcd_serial/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/rcd_serial/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 
 fence_rcd_serial_check: $(TARGET)
 $(TARGET): $(SRC)
@@ -597,6 +610,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/rhevm/Makefile.in b/fence/agents/rhevm/Makefile.in
index 8677e7c..4ef8b07 100644
--- a/fence/agents/rhevm/Makefile.in
+++ b/fence/agents/rhevm/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/rhevm
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/rhevm/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/rhevm/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/rsa/Makefile.in b/fence/agents/rsa/Makefile.in
index 644af2d..3937aad 100644
--- a/fence/agents/rsa/Makefile.in
+++ b/fence/agents/rsa/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/rsa
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/rsa/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/rsa/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/rsb/Makefile.in b/fence/agents/rsb/Makefile.in
index 7367621..9dcb150 100644
--- a/fence/agents/rsb/Makefile.in
+++ b/fence/agents/rsb/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/rsb
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/rsb/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/rsb/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/sanbox2/Makefile.in b/fence/agents/sanbox2/Makefile.in
index 1d79181..db55c64 100644
--- a/fence/agents/sanbox2/Makefile.in
+++ b/fence/agents/sanbox2/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/sanbox2
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/sanbox2/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/sanbox2/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/zvm/Makefile.am b/fence/agents/sbd/Makefile.am
similarity index 76%
copy from fence/agents/zvm/Makefile.am
copy to fence/agents/sbd/Makefile.am
index a29754d..36a8925 100644
--- a/fence/agents/zvm/Makefile.am
+++ b/fence/agents/sbd/Makefile.am
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES	= Makefile.in
 
-TARGET			= fence_zvmip
+TARGET			= fence_sbd
 
 SRC			= $(TARGET).py
 
@@ -10,7 +10,7 @@ sbin_SCRIPTS		= $(TARGET)
 
 man_MANS		= $(TARGET).8
 
-FENCE_TEST_ARGS         = -l test -p test -a test -n 1
+FENCE_TEST_ARGS         = -n test --devices test
 
 include $(top_srcdir)/make/fencebuild.mk
 include $(top_srcdir)/make/fenceman.mk
diff --git a/fence/agents/amt/Makefile.in b/fence/agents/sbd/Makefile.in
similarity index 96%
copy from fence/agents/amt/Makefile.in
copy to fence/agents/sbd/Makefile.in
index a95332f..b9ba4a9 100644
--- a/fence/agents/amt/Makefile.in
+++ b/fence/agents/sbd/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/amt
+subdir = fence/agents/sbd
 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 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -291,12 +303,12 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = Makefile.in
-TARGET = fence_amt
+TARGET = fence_sbd
 SRC = $(TARGET).py
 EXTRA_DIST = $(SRC)
 sbin_SCRIPTS = $(TARGET)
 man_MANS = $(TARGET).8
-FENCE_TEST_ARGS = -p test -a test
+FENCE_TEST_ARGS = -n test --devices test
 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,10 +323,9 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/amt/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/sbd/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu fence/agents/amt/Makefile
-.PRECIOUS: Makefile
+	  $(AUTOMAKE) --gnu fence/agents/sbd/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/sbd/fence_sbd.py b/fence/agents/sbd/fence_sbd.py
new file mode 100644
index 0000000..7120c4d
--- /dev/null
+++ b/fence/agents/sbd/fence_sbd.py
@@ -0,0 +1,421 @@
+#!/usr/bin/python -tt
+
+import sys, stat
+import logging
+import os
+import atexit
+sys.path.append("@FENCEAGENTSLIBDIR@")
+from fencing import fail_usage, run_command, fence_action, all_opt
+from fencing import atexit_handler, check_input, process_input, show_docs
+from fencing import run_delay
+
+#BEGIN_VERSION_GENERATION
+RELEASE_VERSION=""
+REDHAT_COPYRIGHT=""
+BUILD_DATE=""
+#END_VERSION_GENERATION
+
+DEVICE_INIT = 1
+DEVICE_NOT_INIT = -3
+PATH_NOT_EXISTS = -1
+PATH_NOT_BLOCK = -2
+
+def is_block_device(filename):
+    """Checks if a given path is a valid block device
+
+    Key arguments:
+    filename -- the file to check
+
+    Return codes:
+    True if it's a valid block device
+    False, otherwise
+    """
+
+    try:
+        mode = os.lstat(filename).st_mode
+    except OSError:
+        return False
+    else:
+        return stat.S_ISBLK(mode)
+
+def is_link(filename):
+    """Checks if a given path is a link.
+
+    Key arguments:
+    filename -- the file to check
+
+    Return codes:
+    True if it's a link
+    False, otherwise
+    """
+
+    try:
+        mode = os.lstat(filename).st_mode
+    except OSError:
+        return False
+    else:
+        return stat.S_ISLNK(mode)
+
+def check_sbd_device(options, device_path):
+    """checks that a given sbd device exists and is initialized
+
+    Key arguments:
+    options -- options dictionary
+    device_path -- device path to check
+
+    Return Codes:
+    1 / DEVICE_INIT if the device exists and is initialized
+    -1 / PATH_NOT_EXISTS if the path does not exists
+    -2 / PATH_NOT_BLOCK if the path exists but is not a valid block device
+    -3 / DEVICE_NOT_INIT if the sbd device is not initialized
+    """
+
+    # First of all we need to check if the device is valid
+    if not os.path.exists(device_path):
+        return PATH_NOT_EXISTS
+
+    # We need to check if device path is a symbolic link. If so we resolve that
+    # link.
+    if is_link(device_path):
+        link_target = os.readlink(device_path)
+        device_path = os.path.join(os.path.dirname(device_path), link_target)
+
+    # As second step we make sure it's a valid block device
+    if not is_block_device(device_path):
+        return PATH_NOT_BLOCK
+
+    cmd = "%s -d %s dump" % (options["--sbd-path"], device_path)
+
+    (return_code, out, err) = run_command(options, cmd)
+
+    for line in out.split("\n"):
+        if len(line) == 0:
+            continue
+
+        # If we read "NOT dumped" something went wrong, e.g. the device is not
+        # initialized.
+        if "NOT dumped" in line:
+            return DEVICE_NOT_INIT
+
+    return DEVICE_INIT
+
+def generate_sbd_command(options, command, arguments=None):
+    """Generates a sbd command based on given arguments.
+
+    Return Value:
+    generated sbd command (string)
+    """
+    cmd = options["--sbd-path"]
+
+    # add "-d" for each sbd device
+    for device in parse_sbd_devices(options):
+        cmd += " -d %s" % device
+
+    cmd += " %s %s" % (command, arguments)
+
+    return cmd
+
+def send_sbd_message(conn, options, plug, message):
+    """Sends a message to all sbd devices.
+
+    Key arguments:
+    conn -- connection structure
+    options -- options dictionary
+    plug -- plug to sent the message to
+    message -- message to send
+
+    Return Value:
+    (return_code, out, err) Tuple containing the error code,
+    """
+
+    del conn
+
+    arguments = "%s %s" % (plug, message)
+    cmd = generate_sbd_command(options, "message", arguments)
+
+    (return_code, out, err) = run_command(options, cmd)
+
+    return (return_code, out, err)
+
+def get_msg_timeout(options):
+    """Reads the configured sbd message timeout from each device.
+
+    Key arguments:
+    options -- options dictionary
+
+    Return Value:
+    msg_timeout (integer, seconds)
+    """
+
+    # get the defined msg_timeout
+    msg_timeout = -1 # default sbd msg timeout
+
+    cmd = generate_sbd_command(options, "dump")
+
+    (return_code, out, err) = run_command(options, cmd)
+
+    for line in out.split("\n"):
+        if len(line) == 0:
+            continue
+
+        if "msgwait" in line:
+            tmp_msg_timeout = int(line.split(':')[1])
+            if -1 != msg_timeout and tmp_msg_timeout != msg_timeout:
+                logging.warn(\
+                        "sbd message timeouts differ in different devices")
+            # we only save the highest timeout
+            if tmp_msg_timeout > msg_timeout:
+                msg_timeout = tmp_msg_timeout
+
+    return msg_timeout
+
+def set_power_status(conn, options):
+    """send status to sbd device (poison pill)
+
+    Key arguments:
+    conn -- connection structure
+    options -- options dictionary
+
+    Return Value:
+    return_code -- return code (integer)
+    """
+
+    target_status = options["--action"]
+    plug = options["--plug"]
+    return_code = 99
+    out = ""
+    err = ""
+
+    # Map fencing actions to sbd messages
+    if "on" == target_status:
+        (return_code, out, err) = send_sbd_message(conn, options, plug, "clear")
+    elif "off" == target_status:
+        (return_code, out, err) = send_sbd_message(conn, options, plug, "off")
+    elif "reboot" == target_status:
+        (return_code, out, err) = send_sbd_message(conn, options, plug, "reset")
+
+    if 0 != return_code:
+        logging.error("sending message to sbd device(s) \
+                failed with return code %d", return_code)
+        logging.error("DETAIL: output on stdout was \"%s\"", out)
+        logging.error("DETAIL: output on stderr was \"%s\"", err)
+
+    return return_code
+
+def reboot_cycle(conn, options):
+    """" trigger reboot by sbd messages
+
+    Key arguments:
+    conn -- connection structure
+    options -- options dictionary
+
+    Return Value:
+    return_code -- return code (integer)
+    """
+
+    plug = options["--plug"]
+    return_code = 99
+    out = ""
+    err = ""
+
+    (return_code, out, err) = send_sbd_message(conn, options, plug, "reset")
+    return return_code
+
+def get_power_status(conn, options):
+    """Returns the status of a specific node.
+
+    Key arguments:
+    conn -- connection structure
+    options -- option dictionary
+
+    Return Value:
+    status -- status code (string)
+    """
+
+    status = "UNKWNOWN"
+    plug = options["--plug"]
+
+    nodelist = get_node_list(conn, options)
+
+    # We need to check if the specified plug / node a already a allocated slot
+    # on the device.
+    if not nodelist.has_key(plug):
+        logging.error("node \"%s\" not found in node list", plug)
+    else:
+        status = nodelist[plug][1]
+
+
+    return status
+
+def translate_status(sbd_status):
+    """Translates the sbd status to fencing status.
+
+    Key arguments:
+    sbd_status -- status to translate (string)
+
+    Return Value:
+    status -- fencing status (string)
+    """
+
+    status = "UNKNOWN"
+
+
+    # Currently we only accept "clear" to be marked as online. Eventually we
+    # should also check against "test"
+    online_status = ["clear"]
+
+    offline_status = ["reset", "off"]
+
+    if any(online_status_element in sbd_status \
+            for online_status_element in online_status):
+        status = "on"
+
+    if any(offline_status_element in sbd_status \
+            for offline_status_element in offline_status):
+        status = "off"
+
+    return status
+
+def get_node_list(conn, options):
+    """Returns a list of hostnames, registerd on the sbd device.
+
+    Key arguments:
+    conn -- connection options
+    options -- options
+
+    Return Value:
+    nodelist -- dictionary wich contains all node names and there status
+    """
+
+    del conn
+
+    nodelist = {}
+
+    cmd = generate_sbd_command(options, "list")
+
+    (return_code, out, err) = run_command(options, cmd)
+
+    for line in out.split("\n"):
+        if len(line) == 0:
+            continue
+
+        # if we read "unreadable" something went wrong
+        if "NOT dumped" in line:
+            return nodelist
+
+        words = line.split()
+        port = words[1]
+        sbd_status = words[2]
+        nodelist[port] = (port, translate_status(sbd_status))
+
+    return nodelist
+
+def parse_sbd_devices(options):
+    """Returns an array of all sbd devices.
+
+    Key arguments:
+    options -- options dictionary
+
+    Return Value:
+    devices -- array of device paths
+    """
+
+    devices = [str.strip(dev) \
+            for dev in str.split(options["--devices"], ",")]
+
+    return devices
+
+def define_new_opts():
+    """Defines the all opt list
+    """
+    all_opt["devices"] = {
+        "getopt" : ":",
+        "longopt" : "devices",
+        "help":"--devices=[device_a,device_b] \
+Comma separated list of sbd devices",
+        "required" : "1",
+        "shortdesc" : "SBD Device",
+        "order": 1
+        }
+
+    all_opt["sbd_path"] = {
+        "getopt" : ":",
+        "longopt" : "sbd-path",
+        "help" : "--sbd-path=[path]              Path to SBD binary",
+        "required" : "0",
+        "default" : "@SBD_PATH@",
+        "order": 200
+        }
+
+def main():
+    """Main function
+    """
+    # We need to define "no_password" otherwise we will be ask about it if
+    # we don't provide any password.
+    device_opt = ["no_password", "devices", "port", "method", "sbd_path"]
+
+    # close stdout if we get interrupted
+    atexit.register(atexit_handler)
+
+    define_new_opts()
+
+    all_opt["method"]["default"] = "cycle"
+    all_opt["method"]["help"] = "-m, --method=[method]          Method to fence (onoff|cycle) (Default: cycle)"
+
+    options = check_input(device_opt, process_input(device_opt))
+
+    # fill the needed variables to generate metadata and help text output
+    docs = {}
+    docs["shortdesc"] = "Fence agent for sbd"
+    docs["longdesc"] = "fence_sbd is I/O Fencing agent \
+which can be used in environments where sbd can be used (shared storage)."
+    docs["vendorurl"] = ""
+    show_docs(options, docs)
+
+    # We need to check if --devices is given and not empty.
+    if not options.has_key("--devices"):
+        fail_usage("No SBD devices specified. \
+                At least one SBD device is required.")
+
+    run_delay(options)
+
+    # We need to check if the provided sbd_devices exists. We need to do
+    # that for every given device.
+    for device_path in parse_sbd_devices(options):
+        logging.debug("check device \"%s\"", device_path)
+
+        return_code = check_sbd_device(options, device_path)
+        if PATH_NOT_EXISTS == return_code:
+            logging.error("\"%s\" does not exist", device_path)
+        elif PATH_NOT_BLOCK == return_code:
+            logging.error("\"%s\" is not a valid block device", device_path)
+        elif DEVICE_NOT_INIT == return_code:
+            logging.error("\"%s\" is not initialized", device_path)
+        elif DEVICE_INIT != return_code:
+            logging.error("UNKNOWN error while checking \"%s\"", device_path)
+
+        # If we get any error while checking the device we need to exit at this
+        # point.
+        if DEVICE_INIT != return_code:
+            exit(return_code)
+
+    # we check against the defined timeouts. If the pacemaker timeout is smaller
+    # then that defined within sbd we should report this.
+    power_timeout = int(options["--power-timeout"])
+    sbd_msg_timeout = get_msg_timeout(options)
+    if power_timeout <= sbd_msg_timeout:
+        logging.warn("power timeout needs to be \
+                greater then sbd message timeout")
+
+    result = fence_action(\
+                None, \
+                options, \
+                set_power_status, \
+                get_power_status, \
+                get_node_list, \
+                reboot_cycle)
+
+    sys.exit(result)
+
+if __name__ == "__main__":
+    main()
diff --git a/fence/agents/scsi/Makefile.am b/fence/agents/scsi/Makefile.am
index 295d649..cb16d06 100644
--- a/fence/agents/scsi/Makefile.am
+++ b/fence/agents/scsi/Makefile.am
@@ -7,7 +7,7 @@ SRC			= $(TARGET).py
 EXTRA_DIST		= $(SRC) 
 
 scsidatadir		= $(CLUSTERDATA)
-scsidata_SCRIPTS	= fence_scsi_check
+scsidata_SCRIPTS	= fence_scsi_check fence_scsi_check_hardreboot
 
 sbin_SCRIPTS		= $(TARGET)
 
@@ -18,9 +18,12 @@ FENCE_TEST_ARGS         = -k 1
 fence_scsi_check: $(TARGET)
 	cp $^ $@
 
+fence_scsi_check_hardreboot: $(TARGET)
+	cp $^ $@
+
 include $(top_srcdir)/make/fencebuild.mk
 include $(top_srcdir)/make/fenceman.mk
 include $(top_srcdir)/make/agentpycheck.mk
 
 clean-local: clean-man
-	rm -f $(TARGET) $(SYMTARGET) fence_scsi_check
+	rm -f $(TARGET) $(SYMTARGET) $(scsidata_SCRIPTS)
diff --git a/fence/agents/scsi/Makefile.in b/fence/agents/scsi/Makefile.in
index 6d21e00..7648faf 100644
--- a/fence/agents/scsi/Makefile.in
+++ b/fence/agents/scsi/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/scsi
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -148,6 +155,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -223,6 +234,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -296,7 +308,7 @@ TARGET = fence_scsi
 SRC = $(TARGET).py
 EXTRA_DIST = $(SRC) 
 scsidatadir = $(CLUSTERDATA)
-scsidata_SCRIPTS = fence_scsi_check
+scsidata_SCRIPTS = fence_scsi_check fence_scsi_check_hardreboot
 sbin_SCRIPTS = $(TARGET)
 man_MANS = $(TARGET).8
 FENCE_TEST_ARGS = -k 1
@@ -317,7 +329,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/scsi/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/scsi/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -326,7 +337,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -613,9 +624,14 @@ uninstall-man: uninstall-man8
 	tags-am uninstall uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS uninstall-scsidataSCRIPTS
 
+.PRECIOUS: Makefile
+
 
 fence_scsi_check: $(TARGET)
 	cp $^ $@
+
+fence_scsi_check_hardreboot: $(TARGET)
+	cp $^ $@
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -637,6 +653,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
@@ -693,7 +710,7 @@ rng-check.%: %
 	xmllint --nsclean --noout -
 
 clean-local: clean-man
-	rm -f $(TARGET) $(SYMTARGET) fence_scsi_check
+	rm -f $(TARGET) $(SYMTARGET) $(scsidata_SCRIPTS)
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/fence/agents/scsi/fence_scsi.py b/fence/agents/scsi/fence_scsi.py
index 3bbe7c7..1d188f2 100644
--- a/fence/agents/scsi/fence_scsi.py
+++ b/fence/agents/scsi/fence_scsi.py
@@ -8,6 +8,7 @@ import time
 import logging
 import atexit
 import hashlib
+import ctypes
 sys.path.append("@FENCEAGENTSLIBDIR@")
 from fencing import fail_usage, run_command, atexit_handler, check_input, process_input, show_docs, fence_action, all_opt
 from fencing import run_delay
@@ -125,6 +126,7 @@ def is_block_device(dev):
 
 # cancel registration
 def preempt_abort(options, host, dev):
+	reset_dev(options,dev)
 	cmd = options["--sg_persist-path"] + " -n -o -A -T 5 -K " + host + " -S " + options["--key"] + " -d " + dev
 	return not bool(run_cmd(options, cmd)["err"])
 
@@ -147,11 +149,13 @@ def register_dev(options, dev):
 
 
 def reserve_dev(options, dev):
+	reset_dev(options,dev)
 	cmd = options["--sg_persist-path"] + " -n -o -R -T 5 -K " + options["--key"] + " -d " + dev
 	return not bool(run_cmd(options, cmd)["err"])
 
 
 def get_reservation_key(options, dev):
+	reset_dev(options,dev)
 	cmd = options["--sg_persist-path"] + " -n -i -r -d " + dev
 	out = run_cmd(options, cmd)
 	if out["err"]:
@@ -161,6 +165,7 @@ def get_reservation_key(options, dev):
 
 
 def get_registration_keys(options, dev):
+	reset_dev(options,dev)
 	keys = []
 	cmd = options["--sg_persist-path"] + " -n -i -k -d " + dev
 	out = run_cmd(options, cmd)
@@ -375,7 +380,7 @@ def scsi_check_get_verbose():
 	return bool(match)
 
 
-def scsi_check():
+def scsi_check(hardreboot=False):
 	if len(sys.argv) >= 3 and sys.argv[1] == "repair":
 		return int(sys.argv[2])
 	options = {}
@@ -399,6 +404,10 @@ def scsi_check():
 		else:
 			logging.debug("key " + key + " not registered with device " + dev)
 	logging.debug("key " + key + " registered with any devices")
+
+	if hardreboot == True:
+		libc = ctypes.cdll['libc.so.6']
+		libc.reboot(0x1234567)
 	return 2
 
 
@@ -417,6 +426,8 @@ def main():
 	#fence_scsi_check
 	if os.path.basename(sys.argv[0]) == "fence_scsi_check":
 		sys.exit(scsi_check())
+	elif os.path.basename(sys.argv[0]) == "fence_scsi_check_hardreboot":
+		sys.exit(scsi_check(True))
 
 	options = check_input(device_opt, process_input(device_opt), other_conditions=True)
 
diff --git a/fence/agents/zvm/Makefile.am b/fence/agents/vbox/Makefile.am
similarity index 93%
copy from fence/agents/zvm/Makefile.am
copy to fence/agents/vbox/Makefile.am
index a29754d..f335ba8 100644
--- a/fence/agents/zvm/Makefile.am
+++ b/fence/agents/vbox/Makefile.am
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES	= Makefile.in
 
-TARGET			= fence_zvmip
+TARGET			= fence_vbox
 
 SRC			= $(TARGET).py
 
diff --git a/fence/agents/ipdu/Makefile.in b/fence/agents/vbox/Makefile.in
similarity index 96%
copy from fence/agents/ipdu/Makefile.in
copy to fence/agents/vbox/Makefile.in
index a2c0bee..967db6b 100644
--- a/fence/agents/ipdu/Makefile.in
+++ b/fence/agents/vbox/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,11 +88,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/ipdu
+subdir = fence/agents/vbox
 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 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -291,7 +303,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = Makefile.in
-TARGET = fence_ipdu
+TARGET = fence_vbox
 SRC = $(TARGET).py
 EXTRA_DIST = $(SRC)
 sbin_SCRIPTS = $(TARGET)
@@ -311,10 +323,9 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/ipdu/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/vbox/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu fence/agents/ipdu/Makefile
-.PRECIOUS: Makefile
+	  $(AUTOMAKE) --gnu fence/agents/vbox/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/vbox/fence_vbox.py b/fence/agents/vbox/fence_vbox.py
new file mode 100644
index 0000000..bed95ef
--- /dev/null
+++ b/fence/agents/vbox/fence_vbox.py
@@ -0,0 +1,113 @@
+#!/usr/bin/python -tt
+
+# The Following Agent Has Been Tested On:
+#
+# VirtualBox 5.0.4 x64 on openSUSE 13.2
+#
+
+import sys
+import re
+import time
+import atexit
+sys.path.append("@FENCEAGENTSLIBDIR@")
+
+from fencing import *
+from fencing import fail_usage
+
+
+#BEGIN_VERSION_GENERATION
+RELEASE_VERSION = "VirtualBox fence agent"
+REDHAT_COPYRIGHT = ""
+BUILD_DATE = ""
+#END_VERSION_GENERATION
+
+
+def get_name_or_uuid(options):
+    return options.get("--uuid") or options.get("--plug")
+
+_domain_re = re.compile(r'^\"(.*)\" \{(.*)\}$')
+
+
+def _invoke(conn, options, *cmd):
+    prefix = options["--sudo-path"] + " " if "--use-sudo" in options else ""
+    conn.sendline(prefix + "VBoxManage " + " ".join(cmd))
+    conn.log_expect(options["--command-prompt"], int(options["--shell-timeout"]))
+
+
+def get_outlets_status(conn, options):
+    result = {}
+
+    _invoke(conn, options, "list", "vms")
+    for line in conn.before.splitlines():
+        # format: "<domain>" {<uuid>}
+        domain = _domain_re.search(line.strip())
+        if domain is not None:
+            result[domain.group(1)] = ("", "off")
+
+    _invoke(conn, options, "list", "runningvms")
+    for line in conn.before.splitlines():
+        # format: "<domain>" {<uuid>}
+        domain = _domain_re.search(line.strip())
+        if domain is not None:
+            result[domain.group(1)] = ("", "on")
+
+    return result
+
+
+def get_power_status(conn, options):
+    name = get_name_or_uuid(options)
+    _invoke(conn, options, "list", "runningvms")
+    for line in conn.before.splitlines():
+        domain = _domain_re.search(line.strip())
+        if domain is not None and name in domain.groups():
+            return "on"
+    if "--missing-as-off" in options:
+        return "off"
+    _invoke(conn, options, "list", "vms")
+    for line in conn.before.splitlines():
+        domain = _domain_re.search(line.strip())
+        if domain is not None and name in domain.groups():
+            return "off"
+    fail_usage("Failed: You have to enter existing name/UUID of virtual machine!")
+
+
+def set_power_status(conn, options):
+    name = get_name_or_uuid(options)
+    if options["--action"] == "on":
+        _invoke(conn, options, "startvm", '"%s"' % name, "--type", "headless")
+    else:
+        _invoke(conn, options, "controlvm", '"%s"' % name, "poweroff")
+
+
+def main():
+    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\"'"
+
+    options = check_input(device_opt, process_input(device_opt))
+
+    docs = {}
+    docs["shortdesc"] = "Fence agent for VirtualBox"
+    docs["longdesc"] = "fence_vbox is an I/O Fencing agent \
+which can be used with the virtual machines managed by VirtualBox. \
+It logs via ssh to a dom0 where it runs VBoxManage to do all of \
+the work. \
+\n.P\n\
+By default, vbox needs to log in as a user that is a member of the \
+vboxusers group. Also, you must allow ssh login in your sshd_config."
+    docs["vendorurl"] = "https://www.virtualbox.org/"
+    show_docs(options, docs)
+
+    # Operate the fencing device
+    conn = fence_login(options)
+    result = fence_action(conn, options, set_power_status, get_power_status, get_outlets_status)
+    fence_logout(conn, "quit")
+    sys.exit(result)
+
+if __name__ == "__main__":
+    main()
diff --git a/fence/agents/virsh/Makefile.in b/fence/agents/virsh/Makefile.in
index d10f2a2..242c79d 100644
--- a/fence/agents/virsh/Makefile.in
+++ b/fence/agents/virsh/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/virsh
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/virsh/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/virsh/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/vmware/Makefile.in b/fence/agents/vmware/Makefile.in
index 35d8592..7429ba0 100644
--- a/fence/agents/vmware/Makefile.in
+++ b/fence/agents/vmware/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,9 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/make/fencebuild.mk \
-	$(top_srcdir)/make/fenceman.mk $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am
 subdir = fence/agents/vmware
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -90,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -146,6 +154,9 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -221,6 +232,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -311,7 +323,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/vmware/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/vmware/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -320,7 +331,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -571,6 +582,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -592,6 +605,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/vmware_soap/Makefile.in b/fence/agents/vmware_soap/Makefile.in
index db16ef4..b5df56f 100644
--- a/fence/agents/vmware_soap/Makefile.in
+++ b/fence/agents/vmware_soap/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/vmware_soap
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/vmware_soap/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/vmware_soap/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/wti/Makefile.in b/fence/agents/wti/Makefile.in
index e0e0835..be147ff 100644
--- a/fence/agents/wti/Makefile.in
+++ b/fence/agents/wti/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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/wti
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/wti/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/wti/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/xenapi/Makefile.in b/fence/agents/xenapi/Makefile.in
index 9b81cc7..9379314 100644
--- a/fence/agents/xenapi/Makefile.in
+++ b/fence/agents/xenapi/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -15,7 +15,17 @@
 @SET_MAKE@
 
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +88,6 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-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
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,6 +97,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
@@ -147,6 +154,10 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +233,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -314,7 +326,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/xenapi/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/xenapi/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +334,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -574,6 +585,8 @@ uninstall-man: uninstall-man8
 	uninstall-am uninstall-man uninstall-man8 \
 	uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +608,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/fence/agents/zvm/Makefile.am b/fence/agents/zvm/Makefile.am
index a29754d..2e0f12d 100644
--- a/fence/agents/zvm/Makefile.am
+++ b/fence/agents/zvm/Makefile.am
@@ -4,14 +4,24 @@ TARGET			= fence_zvmip
 
 SRC			= $(TARGET).py
 
-EXTRA_DIST		= $(SRC)
+EXTRA_DIST		= $(SRC) fence_zvm_man_page
 
 sbin_SCRIPTS		= $(TARGET)
 
-man_MANS		= $(TARGET).8
+sbin_PROGRAMS           = fence_zvm
+fence_zvm_SOURCES	= fence_zvm.c
+fence_zvm_CFLAGS	= -D_GNU_SOURCE
+
+man_MANS		= $(TARGET).8 fence_zvm.8
+
+fence_zvm.8: fence_zvm_man_page
+	cp $(top_srcdir)/fence/agents/zvm/fence_zvm_man_page fence_zvm.8
 
 FENCE_TEST_ARGS         = -l test -p test -a test -n 1
 
 include $(top_srcdir)/make/fencebuild.mk
 include $(top_srcdir)/make/fenceman.mk
 include $(top_srcdir)/make/agentpycheck.mk
+
+# we do not test fence_zvm because it can be compiled only on specific architecture
+check: xml-check.fence_zvmip delay-check.fence_zvmip
diff --git a/fence/agents/zvm/Makefile.in b/fence/agents/zvm/Makefile.in
index 4ab4662..e096878 100644
--- a/fence/agents/zvm/Makefile.in
+++ b/fence/agents/zvm/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -14,8 +14,19 @@
 
 @SET_MAKE@
 
+
 VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
 am__make_running_with_option = \
   case $${target_option-} in \
       ?) ;; \
@@ -78,10 +89,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-DIST_COMMON = $(top_srcdir)/make/fencebuild.mk \
-	$(top_srcdir)/make/fenceman.mk \
-	$(top_srcdir)/make/agentpycheck.mk $(srcdir)/Makefile.in \
-	$(srcdir)/Makefile.am
+sbin_PROGRAMS = fence_zvm$(EXEEXT)
 subdir = fence/agents/zvm
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -91,10 +99,24 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/make/clusterautoconfig.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(sbindir)" \
+	"$(DESTDIR)$(man8dir)"
+PROGRAMS = $(sbin_PROGRAMS)
+am_fence_zvm_OBJECTS = fence_zvm-fence_zvm.$(OBJEXT)
+fence_zvm_OBJECTS = $(am_fence_zvm_OBJECTS)
+fence_zvm_LDADD = $(LDADD)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+fence_zvm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(fence_zvm_CFLAGS) \
+	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -122,7 +144,6 @@ am__uninstall_files_from_dir = { \
     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
-am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"
 SCRIPTS = $(sbin_SCRIPTS)
 AM_V_P = $(am__v_P_ at AM_V@)
 am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
@@ -136,8 +157,30 @@ AM_V_at = $(am__v_at_ at AM_V@)
 am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 am__v_at_1 = 
-SOURCES =
-DIST_SOURCES =
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)/make
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(fence_zvm_SOURCES)
+DIST_SOURCES = $(fence_zvm_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -147,6 +190,28 @@ man8dir = $(mandir)/man8
 NROFF = nroff
 MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+	$(top_srcdir)/make/agentpycheck.mk \
+	$(top_srcdir)/make/fencebuild.mk \
+	$(top_srcdir)/make/fenceman.mk
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AGENTS_LIST = @AGENTS_LIST@
@@ -222,6 +287,7 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 RANLIB = @RANLIB@
+SBD_PATH = @SBD_PATH@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SG_PERSIST_PATH = @SG_PERSIST_PATH@
@@ -293,15 +359,18 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = Makefile.in
 TARGET = fence_zvmip
 SRC = $(TARGET).py
-EXTRA_DIST = $(SRC)
+EXTRA_DIST = $(SRC) fence_zvm_man_page
 sbin_SCRIPTS = $(TARGET)
-man_MANS = $(TARGET).8
+fence_zvm_SOURCES = fence_zvm.c
+fence_zvm_CFLAGS = -D_GNU_SOURCE
+man_MANS = $(TARGET).8 fence_zvm.8
 FENCE_TEST_ARGS = -l test -p test -a test -n 1
 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
 
 .SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -314,7 +383,6 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/make/fencebuild.mk $
 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/zvm/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
 	  $(AUTOMAKE) --gnu fence/agents/zvm/Makefile
-.PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -323,7 +391,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 	esac;
-$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk:
+$(top_srcdir)/make/fencebuild.mk $(top_srcdir)/make/fenceman.mk $(top_srcdir)/make/agentpycheck.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -333,6 +401,59 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
+install-sbinPROGRAMS: $(sbin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
+	fi; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-sbinPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(sbindir)" && rm -f $$files
+
+clean-sbinPROGRAMS:
+	@list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+
+fence_zvm$(EXEEXT): $(fence_zvm_OBJECTS) $(fence_zvm_DEPENDENCIES) $(EXTRA_fence_zvm_DEPENDENCIES) 
+	@rm -f fence_zvm$(EXEEXT)
+	$(AM_V_CCLD)$(fence_zvm_LINK) $(fence_zvm_OBJECTS) $(fence_zvm_LDADD) $(LIBS)
 install-sbinSCRIPTS: $(sbin_SCRIPTS)
 	@$(NORMAL_INSTALL)
 	@list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || list=; \
@@ -369,6 +490,49 @@ uninstall-sbinSCRIPTS:
 	       sed -e 's,.*/,,;$(transform)'`; \
 	dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir)
 
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fence_zvm-fence_zvm.Po at am__quote@
+
+.c.o:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+fence_zvm-fence_zvm.o: fence_zvm.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fence_zvm_CFLAGS) $(CFLAGS) -MT fence_zvm-fence_zvm.o -MD -MP -MF $(DEPDIR)/fence_zvm-fence_zvm.Tpo -c -o fence_zvm-fence_zvm.o `test -f 'fence_zvm.c' || echo '$(srcdir)/'`fence_zvm.c
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fence_zvm-fence_zvm.Tpo $(DEPDIR)/fence_zvm-fence_zvm.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fence_zvm.c' object='fence_zvm-fence_zvm.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fence_zvm_CFLAGS) $(CFLAGS) -c -o fence_zvm-fence_zvm.o `test -f 'fence_zvm.c' || echo '$(srcdir)/'`fence_zvm.c
+
+fence_zvm-fence_zvm.obj: fence_zvm.c
+ at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fence_zvm_CFLAGS) $(CFLAGS) -MT fence_zvm-fence_zvm.obj -MD -MP -MF $(DEPDIR)/fence_zvm-fence_zvm.Tpo -c -o fence_zvm-fence_zvm.obj `if test -f 'fence_zvm.c'; then $(CYGPATH_W) 'fence_zvm.c'; else $(CYGPATH_W) '$(srcdir)/fence_zvm.c'; fi`
+ at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fence_zvm-fence_zvm.Tpo $(DEPDIR)/fence_zvm-fence_zvm.Po
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='fence_zvm.c' object='fence_zvm-fence_zvm.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fence_zvm_CFLAGS) $(CFLAGS) -c -o fence_zvm-fence_zvm.obj `if test -f 'fence_zvm.c'; then $(CYGPATH_W) 'fence_zvm.c'; else $(CYGPATH_W) '$(srcdir)/fence_zvm.c'; fi`
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -417,12 +581,58 @@ uninstall-man8:
 	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
 	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
 	dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
-tags TAGS:
 
-ctags CTAGS:
-
-cscope cscopelist:
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
 
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -456,9 +666,9 @@ distdir: $(DISTFILES)
 	done
 check-am: all-am
 check: check-am
-all-am: Makefile $(SCRIPTS) $(MANS)
+all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS)
 installdirs:
-	for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \
+	for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -492,11 +702,14 @@ maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+clean-am: clean-generic clean-libtool clean-local clean-sbinPROGRAMS \
+	mostlyclean-am
 
 distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
-distclean-am: clean-am distclean-generic
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
 
 dvi: dvi-am
 
@@ -516,7 +729,7 @@ install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-sbinSCRIPTS
+install-exec-am: install-sbinPROGRAMS install-sbinSCRIPTS
 
 install-html: install-html-am
 
@@ -539,12 +752,14 @@ install-ps-am:
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
 mostlyclean: mostlyclean-am
 
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
 
 pdf: pdf-am
 
@@ -554,26 +769,34 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-man uninstall-sbinSCRIPTS
+uninstall-am: uninstall-man uninstall-sbinPROGRAMS \
+	uninstall-sbinSCRIPTS
 
 uninstall-man: uninstall-man8
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-	clean-local cscopelist-am ctags-am distclean distclean-generic \
-	distclean-libtool distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-man8 install-pdf install-pdf-am install-ps \
-	install-ps-am install-sbinSCRIPTS install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-local clean-sbinPROGRAMS cscopelist-am \
+	ctags ctags-am distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-man8 install-pdf \
+	install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \
+	install-sbinSCRIPTS install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
 	uninstall-am uninstall-man uninstall-man8 \
-	uninstall-sbinSCRIPTS
+	uninstall-sbinPROGRAMS uninstall-sbinSCRIPTS
 
+.PRECIOUS: Makefile
+
+
+fence_zvm.8: fence_zvm_man_page
+	cp $(top_srcdir)/fence/agents/zvm/fence_zvm_man_page fence_zvm.8
 $(TARGET): $(SRC)
 	bash $(top_srcdir)/scripts/fenceparse \
 		$(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \
@@ -595,6 +818,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
@@ -650,6 +874,9 @@ rng-check.%: %
 	sed -e 's/ rha:description=/ description=/g' -e 's/ rha:name=/ name=/g' | \
 	xmllint --nsclean --noout -
 
+# we do not test fence_zvm because it can be compiled only on specific architecture
+check: xml-check.fence_zvmip delay-check.fence_zvmip
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/fence/agents/zvm/fence_zvm.c b/fence/agents/zvm/fence_zvm.c
new file mode 100644
index 0000000..2f82e25
--- /dev/null
+++ b/fence/agents/zvm/fence_zvm.c
@@ -0,0 +1,943 @@
+/*
+ * fence_zvm.c: SMAPI interface for managing zVM Guests
+ *
+ * Copyright (C) 2012 Sine Nomine Associates
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Neale Ferguson <neale at sinenomine.net>
+ *
+ */
+
+#ifdef __s390__
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <time.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <limits.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/wait.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netiucv/iucv.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <getopt.h>
+#include <ctype.h>
+#include <syslog.h>
+#include "fence_zvm.h"
+
+#define MIN(a,b)	((a) < (b) ? (a) : (b))
+#define DEFAULT_TIMEOUT 300
+#define DEFAULT_DELAY   0
+
+#define ACT_OFFON 	0
+#define ACT_OFF		1
+#define ACT_ON		2
+#define ACT_METADATA	3
+#define ACT_STATUS	4
+#define ACT_MONITOR	5
+#define ACT_LIST	6
+#define ACT_HELP	7
+
+static int zvm_smapi_reportError(void *, void *);
+
+static struct option longopts[] = {
+	{"action",	required_argument,	NULL, 'o'},
+	{"delay",	required_argument,	NULL, 'h'},
+	{"help",	no_argument,		NULL, 'h'},
+	{"ip",		required_argument,	NULL, 'a'},
+	{"plug",	required_argument,	NULL, 'n'},
+	{"timeout",	required_argument,	NULL, 'T'},
+	{"zvmsys",   	required_argument,	NULL, 'z'},
+	{NULL,		0,			NULL, 0}
+};
+
+static const char *optString = "a:ho:n:T:";
+
+static int zvm_metadata(void);
+static int usage(void);
+
+/**
+ * zvm_smapi_open:
+ * @zvm: z/VM driver information
+ *
+ * Opens a connection with the z/VM SMAPI server
+ */
+int
+zvm_smapi_open(zvm_driver_t *zvm)
+{
+	int rc = -1,
+	sockaddrlen;
+	static char iucvprog[9] = "DMSRSRQU\0";
+	struct sockaddr_iucv siucv_addr;
+	const struct sockaddr *siucv_ptr = (void *) &siucv_addr;
+
+	if ((zvm->sd = socket(AF_IUCV, SOCK_STREAM, IPPROTO_IP)) != -1) {
+		memset(&siucv_addr,0,sizeof(siucv_addr));
+		siucv_addr.siucv_family = AF_IUCV;
+		siucv_addr.siucv_port = 0;
+		siucv_addr.siucv_addr = 0;
+		memset(&siucv_addr.siucv_nodeid,' ',8);
+		memset(&siucv_addr.siucv_user_id,' ',8);
+		memset(&siucv_addr.siucv_name,' ',8);
+		sockaddrlen = sizeof(siucv_addr);
+		if ((rc = bind(zvm->sd,siucv_ptr,sockaddrlen)) != -1) {
+			memcpy(&siucv_addr.siucv_user_id,zvm->smapiSrv,strlen(zvm->smapiSrv));
+			memcpy(&siucv_addr.siucv_name,&iucvprog,8);
+			memcpy(&siucv_addr.siucv_nodeid,zvm->node,strlen(zvm->node));
+			rc = connect(zvm->sd,(__CONST_SOCKADDR_ARG)siucv_ptr,sockaddrlen);
+		}
+		if (rc == -1) {
+			syslog(LOG_ERR, "Error connecting to %s - %m", zvm->smapiSrv);
+			close(zvm->sd);
+		}
+	}
+	return(rc);
+}
+
+/**
+ * zvm_smapi_imageRecycle
+ * @zvm: z/VM driver information
+ *
+ * Deactivates a virtual image
+ */
+int
+zvm_smapi_imageRecycle(zvm_driver_t *zvm)
+{
+	struct _inPlist {
+		int32_t	lPlist;
+		int32_t	lFName;
+		char	fName[13];
+		int32_t lUser;
+		int32_t lPass;
+		int32_t	lTarget;
+		char	target[0];
+	} __attribute__ ((__packed__)) *inPlist;
+	int32_t	lInPlist;
+	struct	_outPlist {
+		smapiOutHeader_t hdr;
+		int32_t	nActive;
+		int32_t	nInActive;
+		int32_t	lFail;
+		char	failArray[0];
+	} *outPlist = NULL;
+	void	*pOut = NULL;
+	int32_t	lRsp;
+	uint32_t reqId;
+	int	rc;
+
+	/*
+	 * Implement any delay
+	 */ 
+	if (zvm->delay > 0) 
+		sleep(zvm->delay);
+
+	lInPlist = sizeof(*inPlist) + strlen(zvm->target);
+	inPlist = malloc(lInPlist);
+	if (inPlist != NULL) {
+		inPlist->lPlist = lInPlist - sizeof(inPlist->lPlist);
+		inPlist->lFName = sizeof(inPlist->fName);
+		memcpy(inPlist->fName, Image_Recycle, sizeof(inPlist->fName));
+		inPlist->lUser = inPlist->lPass = 0;
+		inPlist->lTarget = strlen(zvm->target);
+		memcpy(inPlist->target, zvm->target, inPlist->lTarget);
+		if ((rc = zvm_smapi_send(zvm, inPlist, &reqId, lInPlist)) != -1) {
+			if ((rc = zvm_smapi_recv(zvm, &pOut, &lRsp)) != -1) {
+				outPlist = pOut;
+				if (outPlist->hdr.rc == 0) {
+					syslog(LOG_INFO, "Recycling of %s successful",
+					       zvm->target);
+					rc = 0;
+				} else {
+					if ((outPlist->hdr.rc == RCERR_IMAGEOP) &
+					    ((outPlist->hdr.reason == RS_NOT_ACTIVE) |
+					     (outPlist->hdr.reason == RS_BEING_DEACT))) {
+						syslog(LOG_INFO, "Recycling of %s successful",
+						       zvm->target);
+						rc = 0;
+					} else {
+						rc = outPlist->hdr.rc;
+						zvm->reason = outPlist->hdr.reason;
+						(void) zvm_smapi_reportError(inPlist, outPlist);
+					}
+				}
+			}
+		}
+		free(inPlist);
+		free(outPlist);
+	} else {
+		syslog(LOG_ERR, "%s - cannot allocate parameter list", __func__);
+		rc = -1;
+	}
+	return(rc);
+}
+
+/**
+ * zvm_smapi_imageDeactivate
+ * @zvm: z/VM driver information
+ *
+ * Deactivates a virtual image
+ */
+int
+zvm_smapi_imageDeactivate(zvm_driver_t *zvm)
+{
+	struct _inPlist {
+		int32_t	lPlist;
+		int32_t	lFName;
+		char	fName[16];
+		int32_t lUser;
+		int32_t lPass;
+		int32_t	lTarget;
+		char	target[0];
+	} __attribute__ ((__packed__)) *inPlist;
+	struct _deactTime {
+		int32_t lForceTime;
+		char	forceTime[5];
+	} __attribute__ ((__packed__)) *deactTime;
+	int32_t	lInPlist;
+	struct	_outPlist {
+		smapiOutHeader_t hdr;
+		int32_t	nActive;
+		int32_t	nInActive;
+		int32_t	lFail;
+		char	failArray[0];
+	} *outPlist = NULL;
+	void	*pOut = NULL;
+	int32_t	lRsp;
+	uint32_t reqId;
+	int	rc;
+
+	/*
+	 * Implement any delay
+	 */ 
+	if (zvm->delay > 0) 
+		sleep(zvm->delay);
+
+	lInPlist = sizeof(*inPlist) + strlen(zvm->target) + sizeof(*deactTime);
+	inPlist = malloc(lInPlist);
+	if (inPlist != NULL) {
+		inPlist->lPlist = lInPlist - sizeof(inPlist->lPlist);
+		inPlist->lFName = sizeof(inPlist->fName);
+		memcpy(inPlist->fName, Image_Deactivate, sizeof(inPlist->fName));
+		deactTime = (void *) ((intptr_t) inPlist + sizeof(*inPlist) + strlen(zvm->target));
+		deactTime->lForceTime = sizeof(deactTime->forceTime);
+		memcpy(deactTime->forceTime, "IMMED", sizeof(deactTime->forceTime));
+		inPlist->lUser = inPlist->lPass = 0;
+		inPlist->lTarget = strlen(zvm->target);
+		memcpy(inPlist->target, zvm->target, inPlist->lTarget);
+		if ((rc = zvm_smapi_send(zvm, inPlist, &reqId, lInPlist)) != -1) {
+			if ((rc = zvm_smapi_recv(zvm, &pOut, &lRsp)) != -1) {
+				outPlist = pOut;
+				if (outPlist->hdr.rc == 0) {
+					syslog(LOG_INFO, "Deactivation of %s successful",
+					       zvm->target);
+					rc = 0;
+				} else {
+					if ((outPlist->hdr.rc == RCERR_IMAGEOP) &
+					    ((outPlist->hdr.reason == RS_NOT_ACTIVE) |
+					     (outPlist->hdr.reason == RS_BEING_DEACT))) {
+						syslog(LOG_INFO, "Deactivation of %s successful",
+						       zvm->target);
+						rc = 0;
+					} else {
+						rc = outPlist->hdr.rc;
+						zvm->reason = outPlist->hdr.reason;
+						(void) zvm_smapi_reportError(inPlist, outPlist);
+					}
+				}
+			}
+		}
+		free(inPlist);
+		free(outPlist);
+	} else {
+		syslog(LOG_ERR, "%s - cannot allocate parameter list", __func__);
+		rc = -1;
+	}
+	return(rc);
+}
+
+/**
+ * zvm_smapi_imageActivate
+ * @zvm: z/VM driver information
+ *
+ * Deactivates a virtual image
+ */
+int
+zvm_smapi_imageActivate(zvm_driver_t *zvm)
+{
+	struct _inPlist {
+		int32_t	lPlist;
+		int32_t	lFName;
+		char	fName[14];
+		int32_t lUser;
+		int32_t lPass;
+		int32_t	lTarget;
+		char	target[0];
+	} __attribute__ ((__packed__)) *inPlist;
+	int32_t	lInPlist;
+	struct	_outPlist {
+		smapiOutHeader_t hdr;
+		int32_t	nActive;
+		int32_t	nInActive;
+		int32_t	lFail;
+		char	failArray[0];
+	} *outPlist = NULL;
+	void	*pOut = NULL;
+	int32_t	lRsp;
+	uint32_t reqId;
+	int	rc;
+
+	/*
+	 * Implement any delay
+	 */ 
+	if (zvm->delay > 0) 
+		sleep(zvm->delay);
+
+	lInPlist = sizeof(*inPlist) + strlen(zvm->target);
+	inPlist = malloc(lInPlist);
+	if (inPlist != NULL) {
+		inPlist->lPlist = lInPlist - sizeof(inPlist->lPlist);
+		inPlist->lFName = sizeof(inPlist->fName);
+		memcpy(inPlist->fName, Image_Activate, sizeof(inPlist->fName));
+		inPlist->lUser = inPlist->lPass = 0;
+		inPlist->lTarget = strlen(zvm->target);
+		memcpy(inPlist->target, zvm->target, inPlist->lTarget);
+		if ((rc = zvm_smapi_send(zvm, inPlist, &reqId, lInPlist)) != -1) {
+			if ((rc = zvm_smapi_recv(zvm, &pOut, &lRsp)) != -1) {
+				outPlist = pOut;
+				if (outPlist->hdr.rc == 0) {
+					syslog(LOG_INFO, "Activation of %s successful",
+					       zvm->target);
+					rc = 0;
+				} else {
+					if ((outPlist->hdr.rc == RCERR_IMAGEOP) &
+					     (outPlist->hdr.reason == RS_ALREADY_ACTIVE)) {
+						syslog(LOG_INFO, "Activation of %s successful",
+						       zvm->target);
+						rc = 0;
+					} else {
+						rc = outPlist->hdr.rc;
+						zvm->reason = outPlist->hdr.reason;
+						(void) zvm_smapi_reportError(inPlist, outPlist);
+					}
+				}
+			}
+		}
+		free(inPlist);
+		free(outPlist);
+	} else {
+		syslog(LOG_ERR, "%s - cannot allocate parameter list", __func__);
+		rc = -1;
+	}
+	return(rc);
+}
+
+/**
+ * zvm_smapi_imageQuery
+ * @zvm: z/VM driver information
+ *
+ * Queries the state of a virtual image
+ */
+int
+zvm_smapi_imageQuery(zvm_driver_t *zvm)
+{
+	struct _inPlist {
+		int32_t	lPlist;
+		int32_t	lFName;
+		char	fName[18];
+		int32_t lUser;
+		int32_t lPass;
+		int32_t	lTarget;
+		char	target[0];
+	} __attribute__ ((__packed__)) *inPlist;
+	int32_t	lInPlist;
+	struct	_outPlist {
+		smapiOutHeader_t hdr;
+		int32_t	lNames;
+		char	nameArray[0];
+	} *outPlist = NULL;
+	void	*pOut = NULL;
+	int32_t	lRsp;
+	uint32_t reqId;
+	int	rc;
+
+	/*
+	 * Implement any delay
+	 */ 
+	if (zvm->delay > 0) 
+		sleep(zvm->delay);
+
+	lInPlist = sizeof(*inPlist) + strlen(zvm->target);
+	inPlist = malloc(lInPlist);
+	if (inPlist != NULL) {
+		inPlist->lPlist = lInPlist - sizeof(inPlist->lPlist);
+		inPlist->lFName = sizeof(inPlist->fName);
+		memcpy(inPlist->fName, Image_Status_Query, sizeof(inPlist->fName));
+		inPlist->lUser = inPlist->lPass = 0;
+		inPlist->lTarget = strlen(zvm->target);
+		memcpy(inPlist->target, zvm->target, inPlist->lTarget);
+		if ((rc = zvm_smapi_send(zvm, inPlist, &reqId, lInPlist)) != -1) {
+			if ((rc = zvm_smapi_recv(zvm, &pOut, &lRsp)) != -1) {
+				outPlist = pOut;
+				if (outPlist->hdr.rc == 0) {
+					if (outPlist->hdr.reason == 0) {
+						syslog(LOG_INFO, "Node %s is active",
+						       zvm->target);
+						rc = 0;
+					} else { 
+						syslog(LOG_INFO, "Node %s is inactive",
+						       zvm->target);
+						rc = 2;
+					}
+				} else {
+					rc = 1;
+					zvm->reason = outPlist->hdr.reason;
+					(void) zvm_smapi_reportError(inPlist, outPlist);
+				}
+			}
+		}
+		free(inPlist);
+		free(outPlist);
+	} else {
+		syslog(LOG_ERR, "%s - cannot allocate parameter list", __func__);
+		rc = -1;
+	}
+	return(rc);
+}
+
+/**
+ * zvm_smapi_send:
+ * @zvm: z/VM driver information
+ * @reqid: Returned request id
+ * @req: Request parameter list
+ * @lSend: Length of request
+ *
+ * Send a request to the SMAPI server and retrieve the request id
+ */
+int
+zvm_smapi_send(zvm_driver_t *zvm, void *req, uint32_t *reqId, int32_t lSend)
+{
+	int	rc,
+		nFds;
+	fd_set	readFds;
+	struct timeval timeout;
+
+	timeout.tv_sec = 30;
+	timeout.tv_usec = 0;
+	zvm->reason = -1;
+	if ((rc = zvm_smapi_open(zvm)) == 0) {
+		rc = send(zvm->sd,req,lSend,0);
+		if (rc != -1) {
+			FD_ZERO(&readFds);
+			FD_SET(zvm->sd,&readFds);
+			nFds = zvm->sd + 1; 
+
+			if ((rc = select(nFds,&readFds,NULL,NULL,&timeout)) != -1) {
+				/*
+				 * Get request ID
+				 */ 
+				rc = recv(zvm->sd,reqId,sizeof(*reqId),0);
+				if (rc == -1)
+					syslog(LOG_ERR, "Error receiving from SMAPI - %m");
+			}
+		} else 
+			syslog(LOG_ERR, "Error sending to SMAPI - %m");
+	}
+	return(rc);
+}
+
+/**
+ * zvm_smapi_recv:
+ * @zvm: z/VM driver information
+ * @req: Returned response parameter list
+ * @lRsp: Length of response
+ *
+ * Receive a response from the SMAPI server
+ */
+int
+zvm_smapi_recv(zvm_driver_t *zvm, void **rsp, int32_t *lRsp)
+{
+	int	rc,
+		lRem = 0,
+		nFds;
+	void	*pRecv = rsp;
+	fd_set	readFds;
+	smapiOutHeader_t *out;
+	struct timeval timeout;
+
+	timeout.tv_sec = 30;
+	timeout.tv_usec = 0;
+	FD_ZERO(&readFds);
+	FD_SET(zvm->sd,&readFds);
+	nFds = zvm->sd + 1; 
+
+	zvm->reason = -1;
+	if ((rc = select(nFds,&readFds,NULL,NULL,&timeout)) != -1) {
+	/*
+	 * Get response length
+	 */ 
+	if ((rc = recv(zvm->sd,lRsp,sizeof(*lRsp),0)) != -1) {
+		lRem  = *lRsp;
+		if (*rsp == NULL) 
+			*rsp = malloc(*lRsp + sizeof(out->outLen));
+		out = *rsp;
+		out->outLen = *lRsp;
+		pRecv = &out->reqId;
+		while (lRem > 0) {
+			if ((rc = recv(zvm->sd,pRecv,lRem,0)) != -1) {
+				lRem -= rc;
+				pRecv = (void *) ((uintptr_t) pRecv + rc);
+			} else 
+				syslog(LOG_ERR, "Error receiving from SMAPI - %m");
+				(void) zvm_smapi_close(zvm);
+				return(rc);
+			}
+			zvm->reason = out->reason;
+		}
+	} else 
+		syslog(LOG_ERR, "Error receiving from SMAPI - %m");
+
+	(void) zvm_smapi_close(zvm);
+
+	return(rc);
+}
+
+/**
+ * zvm_smapi_close:
+ * @zvm: z/VM driver information
+ *
+ * Close a connection with the z/VM SMAPI server
+ */
+int
+zvm_smapi_close(zvm_driver_t *zvm)
+{
+	close(zvm->sd);
+	return(0);
+}
+
+/**
+ * zvm_smapi_reportError
+ * @inHdr - Input parameter list header
+ * @outHdr - Output parameter list header
+ *
+ * Report an error from the SMAPI server
+ */
+static int
+zvm_smapi_reportError(void *inHdr, void *oHdr)
+{
+	struct _inParm {
+		int32_t	lPlist;
+		int32_t	lFName;
+		char	fName[0];
+	} *inParm = inHdr;
+	smapiOutHeader_t *outHdr = oHdr;
+	char	fName[64];
+
+	memset(fName, 0, sizeof(fName));
+	memcpy(fName, inParm->fName, inParm->lFName);
+	syslog(LOG_ERR, "%s - returned (%d,%d)", 
+		fName, outHdr->rc, outHdr->reason);
+	return(-1);
+}
+
+
+/**
+ * trim - Trim spaces from string
+ * @str - Pointer to string
+ *
+ */
+static int
+trim(char *str)
+{
+	char *p;
+	int len;
+
+	if (!str) 
+		return (0);
+
+	len = strlen (str);
+
+	while (len--) {
+		if (isspace (str[len])) {
+			str[len] = 0;
+		} else {
+			break;
+		}
+	}
+
+	for (p = str; *p && isspace (*p); p++);
+
+	memmove(str, p, strlen (p) + 1);
+
+	return (strlen (str));
+}
+
+/**
+ * zvm_metadata - Show fence metadata 
+ * @self - Path to this executable
+ *
+ */
+static int
+zvm_metadata()
+{
+	fprintf (stdout, "<?xml version=\"1.0\" ?>\n");
+	fprintf (stdout, "<resource-agent name=\"fence_zvm\"");
+	fprintf (stdout, " shortdesc=\"Fence agent for use with z/VM Virtual Machines\">\n");
+	fprintf (stdout, "<longdesc>");
+	fprintf (stdout, "The fence_zvm agent is intended to be used with with z/VM SMAPI service.");
+	fprintf (stdout, "</longdesc>\n");
+	fprintf (stdout, "<vendor-url>http://www.ibm.com</vendor-url>\n");
+
+	fprintf (stdout, "<parameters>\n");
+
+	fprintf (stdout, "\t<parameter name=\"port\" unique=\"1\" required=\"1\">\n");
+	fprintf (stdout, "\t\t<getopt mixed=\"-n, --plug\" />\n");
+	fprintf (stdout, "\t\t<content type=\"string\" />\n");
+	fprintf (stdout, "\t\t<shortdesc lang=\"en\">%s</shortdesc>\n",
+	     "Name of the Virtual Machine to be fenced");
+	fprintf (stdout, "\t</parameter>\n");
+
+	fprintf (stdout, "\t<parameter name=\"ipaddr\" unique=\"1\" required=\"1\">\n");
+	fprintf (stdout, "\t\t<getopt mixed=\"-a, --ip\" />\n");
+	fprintf (stdout, "\t\t<content type=\"string\" />\n");
+	fprintf (stdout, "\t\t<shortdesc lang=\"en\">%s</shortdesc>\n",
+	     "Name of the SMAPI IUCV Server Virtual Machine");
+	fprintf (stdout, "\t</parameter>\n");
+
+	fprintf (stdout, "\t<parameter name=\"zvmsys\" unique=\"1\" required=\"0\">\n");
+	fprintf (stdout, "\t\t<getopt mixed=\"--zvmsys\" />\n");
+	fprintf (stdout, "\t\t<content type=\"string\" />\n");
+	fprintf (stdout, "\t\t<shortdesc lang=\"en\">%s</shortdesc>\n",
+	     "Node of the SMAPI IUCV Server Virtual Machine");
+	fprintf (stdout, "\t</parameter>\n");
+
+	fprintf (stdout, "\t<parameter name=\"action\" unique=\"1\" required=\"0\">\n");
+	fprintf (stdout, "\t\t<getopt mixed=\"-o, --action\" />\n");
+	fprintf (stdout, "\t\t<content type=\"string\" default=\"off\" />\n");
+	fprintf (stdout, "\t\t<shortdesc lang=\"en\">%s</shortdesc>\n",
+	     "Fencing action");
+	fprintf (stdout, "\t</parameter>\n");
+
+	fprintf (stdout, "\t<parameter name=\"delay\" unique=\"1\" required=\"0\">\n");
+	fprintf (stdout, "\t\t<getopt mixed=\"--delay\" />\n");
+	fprintf (stdout, "\t\t<content type=\"string\" default=\"0\" />\n");
+	fprintf (stdout, "\t\t<shortdesc lang=\"en\">%s</shortdesc>\n",
+	     "Time to delay fencing action in seconds");
+	fprintf (stdout, "\t</parameter>\n");
+
+	fprintf (stdout, "\t<parameter name=\"usage\" unique=\"1\" required=\"0\">\n");
+	fprintf (stdout, "\t\t<getopt mixed=\"-h, --help\" />\n");
+	fprintf (stdout, "\t\t<content type=\"boolean\" />\n");
+	fprintf (stdout, "\t\t<shortdesc lang=\"en\">%s</shortdesc>\n",
+	     "Print usage");
+	fprintf (stdout, "\t</parameter>\n");
+
+	fprintf (stdout, "</parameters>\n");
+
+	fprintf (stdout, "<actions>\n");
+	fprintf (stdout, "\t<action name=\"off\" />\n");
+	fprintf (stdout, "\t<action name=\"on\" automatic=\"0\" />\n");
+	fprintf (stdout, "\t<action name=\"list\" />\n");
+	fprintf (stdout, "\t<action name=\"metadata\" />\n");
+	fprintf (stdout, "\t<action name=\"monitor\" />\n");
+	fprintf (stdout, "\t<action name=\"reboot\" />\n");
+	fprintf (stdout, "\t<action name=\"status\" />\n");
+	fprintf (stdout, "</actions>\n");
+
+	fprintf (stdout, "</resource-agent>\n");
+
+	return(0);
+
+}
+
+/**
+ * get_options_stdin - get options from stdin
+ * @zvm - Pointer to driver information
+ *
+ */
+static int
+get_options_stdin (zvm_driver_t *zvm)
+{
+	char	buf[1024],
+		*endPtr,
+		*opt,
+		*arg;
+	int32_t lSrvName,
+		lSrvNode,
+		lTarget;
+	int	fence = ACT_OFFON;
+
+	while (fgets (buf, sizeof (buf), stdin) != 0) {
+		if (trim(buf) == 0) {
+			continue;
+		}
+		if (buf[0] == '#') {
+			continue;
+		}
+
+		opt = buf;
+
+		if ((arg = strchr(opt, '=')) != 0) {
+			*arg = 0;
+			arg++;
+		} else {
+			continue;
+		}
+
+		if (trim(arg) == 0)
+			continue;
+
+		if (!strcasecmp (opt, "action")) {
+			if (strcasecmp(arg, "reboot") == 0) {
+				fence = ACT_OFFON;
+			} else if (strcasecmp(arg, "off") == 0) {
+				fence = ACT_OFF;
+			} else if (strcasecmp(arg, "on") == 0) {
+				fence = ACT_ON;
+			} else if (strcasecmp(arg, "metadata") == 0) {
+				fence = ACT_METADATA;
+			} else if (strcasecmp(arg, "status") == 0) {
+				fence = ACT_STATUS;
+			} else if (strcasecmp(arg, "monitor") == 0) {
+				fence = ACT_MONITOR;
+			} else if (strcasecmp(arg, "list") == 0) {
+				fence = ACT_LIST;
+			} else {
+				fence = ACT_HELP;
+			}
+		} else if (!strcasecmp (opt, "ipaddr")) {
+			lSrvName = MIN(strlen(arg), sizeof(zvm->smapiSrv));
+			memcpy(zvm->smapiSrv, arg, lSrvName);
+			continue;
+		} else if (!strcasecmp (opt, "port")) {
+			lTarget = MIN(strlen(arg), sizeof(zvm->target)-1);
+			strncpy(zvm->target, arg, lTarget);
+			continue;
+		} else if (!strcasecmp (opt, "timeout")) {
+			zvm->timeOut = strtoul(arg, &endPtr, 10);
+			if (*endPtr != 0) {
+				syslog(LOG_WARNING, "Invalid timeout value specified %s "
+				       "defaulting to %d", 
+				       arg, DEFAULT_DELAY);
+				zvm->timeOut = DEFAULT_DELAY;
+			}
+		} else if (!strcasecmp (opt, "zvmsys")) {
+			lSrvNode = MIN(strlen(arg), sizeof(zvm->node));
+			memcpy(zvm->node, arg, lSrvNode);
+			continue;
+		} else if (!strcasecmp (opt, "delay")) {
+			zvm->delay = strtoul(arg, &endPtr, 10);
+			if (*endPtr != 0) {
+				syslog(LOG_WARNING, "Invalid delay value specified %s "
+				       "defaulting to %d", 
+				       arg, DEFAULT_DELAY);
+				zvm->delay = DEFAULT_DELAY;
+			}
+		} else if (!strcasecmp (opt, "help")) {
+			fence = ACT_HELP;
+		}
+	}
+	return(fence);
+}
+
+/**
+ * get_options - get options from the command line
+ * @argc - Count of arguments
+ * @argv - Array of character strings
+ * @zvm - Pointer to driver information
+ *
+ */
+static int
+get_options(int argc, char **argv, zvm_driver_t *zvm)
+{
+	int	c,
+		fence = ACT_OFFON;
+	int32_t	lSrvName,
+		lSrvNode,
+		lTarget;
+	char	*endPtr;
+
+	while ((c = getopt_long(argc, argv, optString, longopts, NULL)) != -1) {
+		switch (c) {
+		case 'n' :
+			lTarget = MIN(strlen(optarg), sizeof(zvm->target));
+			memcpy(zvm->target, optarg, lTarget);
+			break;
+		case 'o' :
+			if (strcasecmp(optarg, "reboot") == 0) {
+				fence = ACT_OFFON;
+			} else if (strcasecmp(optarg, "off") == 0) {
+				fence = ACT_OFF;
+			} else if (strcasecmp(optarg, "on") == 0) {
+				fence = ACT_ON;
+			} else if (strcasecmp(optarg, "metadata") == 0) {
+				fence = ACT_METADATA;
+			} else if (strcasecmp(optarg, "status") == 0) {
+				fence = ACT_STATUS;
+			} else if (strcasecmp(optarg, "monitor") == 0) {
+				fence = ACT_MONITOR;
+			} else if (strcasecmp(optarg, "list") == 0) {
+				fence = ACT_LIST;
+			} else {
+				fence = ACT_HELP;
+			}
+			break;
+		case 'a' :
+			lSrvName = MIN(strlen(optarg), sizeof(zvm->smapiSrv));
+			memcpy(zvm->smapiSrv, optarg, lSrvName);
+			break;
+		case 'T' :
+			zvm->timeOut = strtoul(optarg, &endPtr, 10);
+			if (*endPtr != 0) {
+				syslog(LOG_WARNING, "Invalid timeout value specified: %s - "
+				       "defaulting to %d", 
+				       optarg, DEFAULT_TIMEOUT);
+				zvm->timeOut = DEFAULT_TIMEOUT;
+			}
+			break;
+		case 'd' :
+			zvm->delay = strtoul(optarg, &endPtr, 10);
+			if (*endPtr != 0) {
+				syslog(LOG_WARNING, "Invalid delay value specified: %s - "
+				       "defaulting to %d", 
+				       optarg, DEFAULT_DELAY);
+				zvm->delay = DEFAULT_DELAY;
+			}
+			break;
+		case 'z' :
+			lSrvNode = MIN(strlen(optarg), sizeof(zvm->node));
+			memcpy(zvm->node, optarg, lSrvNode);
+			break;
+		default :
+			fence = ACT_HELP;
+		}
+	}
+	return(fence);
+}
+
+/**
+ * usage - display command syntax and parameters
+ *
+ */
+static int
+usage()
+{
+	fprintf(stderr,"Usage: fence_zvm [options]\n\n"
+		"\tWhere [options] =\n"
+		"\t-o --action [action] - \"off\", \"on\", \"list\", \"metadata\", "
+					 "\"monitor\", \"reboot\", \"status\"\n"
+		"\t--delay [seconds]    - Time to delay fencing action in seconds\n"
+		"\t-n --plug [target]   - Name of virtual machine to fence\n"
+		"\t-a --ip [server]     - Name of SMAPI IUCV Request server\n"
+		"\t-T --timeout [secs]  - Time to wait for fence in seconds - currently ignored\n"
+		"\t--zvmsys [node]      - z/VM Node on which SMAPI server lives\n"
+		"\t-h --help            - Display this usage information\n");
+	return(1);
+}
+
+/**
+ * check_param - Check that mandatory parameters have been specified
+ * @zvm - Pointer to driver information
+ *
+ */
+static int
+check_parm(zvm_driver_t *zvm) 
+{
+	int rc;
+
+	if (zvm->smapiSrv[0] != 0) {
+		if (zvm->target[0] != 0) {
+			rc = 0;
+		} else {
+			syslog(LOG_ERR, "Missing fence target name");
+			rc = 2;
+		}	
+	} else {
+		syslog(LOG_ERR, "Missing SMAPI server name");
+		rc = 1;
+	}	
+	return(rc);
+}
+
+int
+main(int argc, char **argv)
+{
+	zvm_driver_t	zvm;
+	int	fence,
+		rc = 0;
+
+	openlog ("fence_zvm", LOG_CONS|LOG_PID, LOG_DAEMON);
+	memset(&zvm, 0, sizeof(zvm));
+	zvm.timeOut = DEFAULT_TIMEOUT;
+	zvm.delay   = DEFAULT_DELAY;
+
+	if (argc > 1)
+		fence = get_options(argc, argv, &zvm);
+	else
+		fence = get_options_stdin(&zvm);
+
+	switch(fence) {
+		case ACT_OFFON :	// OFFON
+			if ((rc = check_parm(&zvm)) == 0) 
+				rc = zvm_smapi_imageRecycle(&zvm);
+			break;
+		case ACT_OFF :		// OFF
+			if ((rc = check_parm(&zvm)) == 0)
+				rc = zvm_smapi_imageDeactivate(&zvm);
+			break;
+		case ACT_ON :		// ON
+			if ((rc = check_parm(&zvm)) == 0)
+				rc = zvm_smapi_imageActivate(&zvm);
+			break;
+		case ACT_METADATA :	// METADATA
+			rc = zvm_metadata();
+			break;
+		case ACT_STATUS :	// STATUS
+			if ((rc = check_parm(&zvm)) == 0)
+				rc = zvm_smapi_imageQuery(&zvm);
+			break;
+		case ACT_MONITOR :	// MONITOR
+			rc = 0;
+			break;
+		case ACT_LIST :		// LIST
+			printf("N/A");
+			rc = 0;
+			break;
+		case ACT_HELP :
+			rc = usage();
+	}
+	closelog();
+	return (rc);
+}
+#else
+#include <syslog.h>
+int
+main(int argc, char **argv)
+{
+	openlog ("fence_zvm", LOG_CONS|LOG_PID, LOG_DAEMON);
+	syslog(LOG_ERR,"Fencing of a z/VM agent is not possible on this platform\n");
+	closelog();
+	return(-1);
+}
+#endif
diff --git a/fence/agents/zvm/fence_zvm_man_page b/fence/agents/zvm/fence_zvm_man_page
new file mode 100644
index 0000000..359436e
--- /dev/null
+++ b/fence/agents/zvm/fence_zvm_man_page
@@ -0,0 +1,87 @@
+.TH fence_zvm 8
+
+.SH NAME
+fence_zvm - Power Fencing agent for GFS on System z z/VM Clusters
+
+.SH SYNOPSIS
+.B
+fence_zvm
+[\fIOPTION\fR]...
+
+.SH DESCRIPTION
+fence_zvm is a Power Fencing agent used on a GFS virtual machine in a System z z/VM cluster.
+It uses the SMAPI interface to recycle an active image.
+
+fence_zvm accepts options on the command line as well as from stdin.
+fence_node sends the options through stdin when it execs the agent.
+fence_zvm can be run by itself with command line options which is useful
+for testing.
+
+Vendor URL: http://www.sinenomine.net
+
+.SH OPTIONS
+.TP
+\fB-o --action\fP
+Fencing action: "off" - deactivate virtual machine; "on" - activate virtual machine; "metadata" - display device metadata" - describe fence agent parameters; "status" - state of virtual machine
+.TP
+\fB--delay\fP \fIseconds\fP
+Time to delay fencing action in seconds
+.TP
+\fB-n --plug\fP \fItarget\fP
+Name of virtual machine to recycle.
+.TP
+\fB-h --help\fP
+Print out a help message describing available options, then exit.
+.TP
+\fB-a --ip\fP \fIsmapi Server\fP
+\fBName\fP of SMAPI server virtual machine. To be consistent with other fence agents this name is a little misleading: it is the name of the virtual machine not its IP address or hostname.
+.TP
+\fB--zvmsys\fP \fIz/VM System\fP
+\fBName\fP of z/VM on which the SMAPI server virtual machine resides. Optional - defaults to system on which the node is running.
+.TP
+\fB-h --help\fP
+Display usage information
+.TP
+\fI-t --timeout = < shutdown timeout >\fP
+Amount of \fIgrace\fP time to give the virtual machine to shutdown cleanly before being
+forcibly terminated. Currently, this option is ignored.
+
+.SH STDIN PARAMETERS
+.TP
+\fIagent = < param >\fP
+This option is used by fence_node(8) and is ignored by fence_zvm.
+.TP
+\fIaction = < action >\fP
+Fencing action: "off" - fence off device; "metadata" - display device metadata; "status" - state of device
+.TP
+\fIport = < target >\fP
+Name of virtual machine to recycle.
+.TP
+\fIipaddr= < server name >\fP
+\fBName\fP of SMAPI server virtual machine. To be consistent with other fence agents thisname is a little misleading: it is the name of the virtual machine not its IP address or hostname.
+.TP
+\fItimeout = < shutdown timeout >\fP
+Amount of \fIgrace\fP time to give the virtual machine to shutdown cleanly before being
+forcibly terminated. Currently, this option is ignored.
+
+.SH SEE ALSO
+fence(8), fenced(8), fence_node(8)
+
+.SH NOTES
+To use this agent the z/VM SMAPI service needs to be configured to allow the virtual
+machine running this agent to connect to it and issue the image_recycle operation.
+This involves updating the VSMWORK1 AUTHLIST VMSYS:VSMWORK1. file. The entry should look
+something similar to this:
+
+.nf
+Column 1                   Column 66                Column 131
+|                          |                        |
+V                          V                        V
+XXXXXXXX                   ALL                      IMAGE_OPERATIONS
+.fi
+
+Where XXXXXXX is the name of the virtual machine where the agent resides. 
+
+In addition, the VM directory entry that defines this virtual machine requires the
+IUCV ANY statement (or IUCV <userid of SMAPI Server>). This authorizes use of IUCV
+to connect to the SMAPI server.
diff --git a/install-sh b/install-sh
index 377bb86..0b0fdcb 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-11-20.07; # UTC
+scriptversion=2013-12-25.23; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
 # This script is compatible with the BSD install script, but was written
 # from scratch.
 
+tab='	'
 nl='
 '
-IFS=" ""	$nl"
+IFS=" $tab$nl"
 
-# set DOITPROG to echo to test this script
+# Set DOITPROG to "echo" to test this script.
 
-# Don't use :- since 4.3BSD and earlier shells don't like it.
 doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
+doit_exec=${doit:-exec}
 
 # Put in absolute file names if you don't have them in your path;
 # or use environment vars.
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
 rmprog=${RMPROG-rm}
 stripprog=${STRIPPROG-strip}
 
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
 posix_mkdir=
 
 # Desired mode of installed file.
@@ -97,7 +82,7 @@ dir_arg=
 dst_arg=
 
 copy_on_change=false
-no_target_directory=
+is_target_a_directory=possibly
 
 usage="\
 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -137,46 +122,57 @@ while test $# -ne 0; do
     -d) dir_arg=true;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift;;
 
     --help) echo "$usage"; exit $?;;
 
     -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+        case $mode in
+          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+            echo "$0: invalid mode: $mode" >&2
+            exit 1;;
+        esac
+        shift;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        shift;;
 
     -s) stripcmd=$stripprog;;
 
-    -t) dst_arg=$2
-	# Protect names problematic for 'test' and other utilities.
-	case $dst_arg in
-	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
-	esac
-	shift;;
+    -t)
+        is_target_a_directory=always
+        dst_arg=$2
+        # Protect names problematic for 'test' and other utilities.
+        case $dst_arg in
+          -* | [=\(\)!]) dst_arg=./$dst_arg;;
+        esac
+        shift;;
 
-    -T) no_target_directory=true;;
+    -T) is_target_a_directory=never;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
-	break;;
+    --) shift
+        break;;
 
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
+    -*) echo "$0: invalid option: $1" >&2
+        exit 1;;
 
     *)  break;;
   esac
   shift
 done
 
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+  if test -n "$dst_arg"; then
+    echo "$0: target directory not allowed when installing a directory." >&2
+    exit 1
+  fi
+fi
+
 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
   # When -d is used, all remaining arguments are directories to create.
   # When -t is used, the destination is already specified.
@@ -208,6 +204,15 @@ if test $# -eq 0; then
 fi
 
 if test -z "$dir_arg"; then
+  if test $# -gt 1 || test "$is_target_a_directory" = always; then
+    if test ! -d "$dst_arg"; then
+      echo "$0: $dst_arg: Is not a directory." >&2
+      exit 1
+    fi
+  fi
+fi
+
+if test -z "$dir_arg"; then
   do_exit='(exit $ret); exit $ret'
   trap "ret=129; $do_exit" 1
   trap "ret=130; $do_exit" 2
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
 
     *[0-7])
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw='% 200'
+        u_plus_rw='% 200'
       fi
       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
     *)
       if test -z "$stripcmd"; then
-	u_plus_rw=
+        u_plus_rw=
       else
-	u_plus_rw=,u+rw
+        u_plus_rw=,u+rw
       fi
       cp_umask=$mode$u_plus_rw;;
   esac
@@ -269,41 +274,15 @@ do
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
-	exit 1
+      if test "$is_target_a_directory" = never; then
+        echo "$0: $dst_arg: Is a directory" >&2
+        exit 1
       fi
       dstdir=$dst
       dst=$dstdir/`basename "$src"`
       dstdir_status=0
     else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
+      dstdir=`dirname "$dst"`
       test -d "$dstdir"
       dstdir_status=$?
     fi
@@ -314,74 +293,74 @@ do
   if test $dstdir_status != 0; then
     case $posix_mkdir in
       '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
-
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
-
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
+        # Create intermediate dirs using mode 755 as modified by the umask.
+        # This is like FreeBSD 'install' as of 1997-10-28.
+        umask=`umask`
+        case $stripcmd.$umask in
+          # Optimize common cases.
+          *[2367][2367]) mkdir_umask=$umask;;
+          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+          *[0-7])
+            mkdir_umask=`expr $umask + 22 \
+              - $umask % 100 % 40 + $umask % 20 \
+              - $umask % 10 % 4 + $umask % 2
+            `;;
+          *) mkdir_umask=$umask,go-w;;
+        esac
+
+        # With -d, create the new directory with the user-specified mode.
+        # Otherwise, rely on $mkdir_umask.
+        if test -n "$dir_arg"; then
+          mkdir_mode=-m$mode
+        else
+          mkdir_mode=
+        fi
+
+        posix_mkdir=false
+        case $umask in
+          *[123567][0-7][0-7])
+            # POSIX mkdir -p sets u+wx bits regardless of umask, which
+            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+            ;;
+          *)
+            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+            if (umask $mkdir_umask &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+            then
+              if test -z "$dir_arg" || {
+                   # Check for POSIX incompatibilities with -m.
+                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                   # other-writable bit of parent directory when it shouldn't.
+                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   case $ls_ld_tmpdir in
+                     d????-?r-*) different_mode=700;;
+                     d????-?--*) different_mode=755;;
+                     *) false;;
+                   esac &&
+                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                   }
+                 }
+              then posix_mkdir=:
+              fi
+              rmdir "$tmpdir/d" "$tmpdir"
+            else
+              # Remove any dirs left behind by ancient mkdir implementations.
+              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+            fi
+            trap '' 0;;
+        esac;;
     esac
 
     if
       $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+        umask $mkdir_umask &&
+        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
       )
     then :
     else
@@ -391,53 +370,51 @@ do
       # directory the slow way, step by step, checking for races as we go.
 
       case $dstdir in
-	/*) prefix='/';;
-	[-=\(\)!]*) prefix='./';;
-	*)  prefix='';;
+        /*) prefix='/';;
+        [-=\(\)!]*) prefix='./';;
+        *)  prefix='';;
       esac
 
-      eval "$initialize_posix_glob"
-
       oIFS=$IFS
       IFS=/
-      $posix_glob set -f
+      set -f
       set fnord $dstdir
       shift
-      $posix_glob set +f
+      set +f
       IFS=$oIFS
 
       prefixes=
 
       for d
       do
-	test X"$d" = X && continue
-
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
+        test X"$d" = X && continue
+
+        prefix=$prefix$d
+        if test -d "$prefix"; then
+          prefixes=
+        else
+          if $posix_mkdir; then
+            (umask=$mkdir_umask &&
+             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+            # Don't fail if two instances are running concurrently.
+            test -d "$prefix" || exit 1
+          else
+            case $prefix in
+              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+              *) qprefix=$prefix;;
+            esac
+            prefixes="$prefixes '$qprefix'"
+          fi
+        fi
+        prefix=$prefix/
       done
 
       if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
+        # Don't fail if two instances are running concurrently.
+        (umask $mkdir_umask &&
+         eval "\$doit_exec \$mkdirprog $prefixes") ||
+          test -d "$dstdir" || exit 1
+        obsolete_mkdir_used=true
       fi
     fi
   fi
@@ -472,15 +449,12 @@ do
 
     # If -C, don't bother to copy if it wouldn't change the file.
     if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
+       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
+       set -f &&
        set X $old && old=:$2:$4:$5:$6 &&
        set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
+       set +f &&
        test "$old" = "$new" &&
        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
     then
@@ -493,24 +467,24 @@ do
       # to itself, or perhaps because mv is so ancient that it does not
       # support -f.
       {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
-
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
+        # Now remove or move aside any old file at destination location.
+        # We try this two ways since rm can't unlink itself on some
+        # systems and the destination file might be busy for other
+        # reasons.  In this case, the final cleanup might fail but the new
+        # file should still install successfully.
+        {
+          test ! -f "$dst" ||
+          $doit $rmcmd -f "$dst" 2>/dev/null ||
+          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+          } ||
+          { echo "$0: cannot unlink or rename $dst" >&2
+            (exit 1); exit 1
+          }
+        } &&
+
+        # Now rename the file to the real destination.
+        $doit $mvcmd "$dsttmp" "$dst"
       }
     fi || exit 1
 
diff --git a/make/clusterautoconfig.h.in b/make/clusterautoconfig.h.in
index d21e353..352e461 100644
--- a/make/clusterautoconfig.h.in
+++ b/make/clusterautoconfig.h.in
@@ -134,9 +134,6 @@
    */
 #undef LT_OBJDIR
 
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
 /* Name of package */
 #undef PACKAGE
 
diff --git a/make/fencebuild.mk b/make/fencebuild.mk
index 9b39484..2e9330c 100644
--- a/make/fencebuild.mk
+++ b/make/fencebuild.mk
@@ -19,6 +19,7 @@ $(TARGET): $(SRC)
 		-e 's#@''SSH_PATH@#${SSH_PATH}#g' \
 		-e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \
 		-e 's#@''MPATH_PATH@#${MPATH_PATH}#g' \
+		-e 's#@''SBD_PATH@#${SBD_PATH}#g' \
 		-e 's#@''STORE_PATH@#${CLUSTERVARRUN}#g' \
 		-e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \
 		-e 's#@''SNMPWALK_PATH@#${SNMPWALK_PATH}#g' \
diff --git a/missing b/missing
index cdea514..f62bbae 100755
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
 
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@ give_advice ()
       ;;
    autom4te*)
       echo "You might have modified some maintainer files that require"
-      echo "the 'automa4te' program to be rebuilt."
+      echo "the 'autom4te' program to be rebuilt."
       program_details 'autom4te'
       ;;
     bison*|yacc*)
diff --git a/tests/data/metadata/fence_compute.xml b/tests/data/metadata/fence_compute.xml
index de71c56..290a2eb 100644
--- a/tests/data/metadata/fence_compute.xml
+++ b/tests/data/metadata/fence_compute.xml
@@ -1,11 +1,11 @@
 <?xml version="1.0" ?>
-<resource-agent name="fence_compute" shortdesc="Fence agent for nova compute nodes" >
-<longdesc>fence_nova_host is a Nova fencing notification agent</longdesc>
+<resource-agent name="fence_compute" shortdesc="Fence agent for the automatic resurrection of OpenStack compute instances" >
+<longdesc>Used to tell Nova that compute nodes are down and to reschedule flagged instances</longdesc>
 <vendor-url></vendor-url>
 <parameters>
 	<parameter name="action" unique="0" required="1">
 		<getopt mixed="-o, --action=[action]" />
-		<content type="string" default="reboot"  />
+		<content type="string" default="off"  />
 		<shortdesc lang="en">Fencing action</shortdesc>
 	</parameter>
 	<parameter name="auth-url" unique="0" required="0">
@@ -48,6 +48,11 @@
 		<content type="string" default=""  />
 		<shortdesc lang="en">DNS domain in which hosts live</shortdesc>
 	</parameter>
+	<parameter name="instance-filtering" unique="0" required="0">
+		<getopt mixed="--instance-filtering" />
+		<content type="boolean" default="False"  />
+		<shortdesc lang="en">Only evacuate flagged instances</shortdesc>
+	</parameter>
 	<parameter name="no-shared-storage" unique="0" required="0">
 		<getopt mixed="--no-shared-storage" />
 		<content type="boolean" default="False"  />
@@ -55,7 +60,7 @@
 	</parameter>
 	<parameter name="record-only" unique="0" required="0">
 		<getopt mixed="--record-only" />
-		<content type="boolean" default="False"  />
+		<content type="string" default="False"  />
 		<shortdesc lang="en">Only record the target as needing evacuation</shortdesc>
 	</parameter>
 	<parameter name="verbose" unique="0" required="0">
@@ -115,9 +120,8 @@
 	</parameter>
 </parameters>
 <actions>
-	<action name="on" automatic="0"/>
+	<action name="on" on_target="1" automatic="1"/>
 	<action name="off" />
-	<action name="reboot" />
 	<action name="status" />
 	<action name="list" />
 	<action name="list-status" />
diff --git a/tests/data/metadata/fence_docker.xml b/tests/data/metadata/fence_docker.xml
index f51d12d..8aeded6 100644
--- a/tests/data/metadata/fence_docker.xml
+++ b/tests/data/metadata/fence_docker.xml
@@ -131,6 +131,11 @@
 		<content type="string" default="/usr/bin/gnutls-cli"  />
 		<shortdesc lang="en">Path to gnutls-cli binary</shortdesc>
 	</parameter>
+	<parameter name="api_version" unique="0" required="0">
+		<getopt mixed="--api-version" />
+		<content type="string" default="1.11"  />
+		<shortdesc lang="en">Version of Docker Remote API (default: 1.11)</shortdesc>
+	</parameter>
 </parameters>
 <actions>
 	<action name="on" automatic="0"/>
diff --git a/tests/data/metadata/fence_idrac.xml b/tests/data/metadata/fence_idrac.xml
index 1af865b..a6451e2 100644
--- a/tests/data/metadata/fence_idrac.xml
+++ b/tests/data/metadata/fence_idrac.xml
@@ -136,7 +136,7 @@
 	</parameter>
 	<parameter name="power_wait" unique="0" required="0">
 		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
+		<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">
@@ -168,5 +168,6 @@
 	<action name="monitor" />
 	<action name="metadata" />
 	<action name="validate-all" />
+	<action name="diag" />
 </actions>
 </resource-agent>
diff --git a/tests/data/metadata/fence_ilo3.xml b/tests/data/metadata/fence_ilo3.xml
index 8950d39..5e8689a 100644
--- a/tests/data/metadata/fence_ilo3.xml
+++ b/tests/data/metadata/fence_ilo3.xml
@@ -168,5 +168,6 @@
 	<action name="monitor" />
 	<action name="metadata" />
 	<action name="validate-all" />
+	<action name="diag" />
 </actions>
 </resource-agent>
diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_ilo4.xml
index d4a2b87..8a6660f 100644
--- a/tests/data/metadata/fence_ilo4.xml
+++ b/tests/data/metadata/fence_ilo4.xml
@@ -136,7 +136,7 @@
 	</parameter>
 	<parameter name="power_wait" unique="0" required="0">
 		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
+		<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">
@@ -168,5 +168,6 @@
 	<action name="monitor" />
 	<action name="metadata" />
 	<action name="validate-all" />
+	<action name="diag" />
 </actions>
 </resource-agent>
diff --git a/tests/data/metadata/fence_imm.xml b/tests/data/metadata/fence_imm.xml
index 17b2670..d9bbe75 100644
--- a/tests/data/metadata/fence_imm.xml
+++ b/tests/data/metadata/fence_imm.xml
@@ -136,7 +136,7 @@
 	</parameter>
 	<parameter name="power_wait" unique="0" required="0">
 		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
+		<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">
@@ -168,5 +168,6 @@
 	<action name="monitor" />
 	<action name="metadata" />
 	<action name="validate-all" />
+	<action name="diag" />
 </actions>
 </resource-agent>
diff --git a/tests/data/metadata/fence_ipmilan.xml b/tests/data/metadata/fence_ipmilan.xml
index c9b4162..30a25dc 100644
--- a/tests/data/metadata/fence_ipmilan.xml
+++ b/tests/data/metadata/fence_ipmilan.xml
@@ -136,7 +136,7 @@
 	</parameter>
 	<parameter name="power_wait" unique="0" required="0">
 		<getopt mixed="--power-wait=[seconds]" />
-		<content type="string" default="0"  />
+		<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">
@@ -168,5 +168,6 @@
 	<action name="monitor" />
 	<action name="metadata" />
 	<action name="validate-all" />
+	<action name="diag" />
 </actions>
 </resource-agent>
diff --git a/tests/data/metadata/fence_compute.xml b/tests/data/metadata/fence_sbd.xml
similarity index 60%
copy from tests/data/metadata/fence_compute.xml
copy to tests/data/metadata/fence_sbd.xml
index de71c56..1909507 100644
--- a/tests/data/metadata/fence_compute.xml
+++ b/tests/data/metadata/fence_sbd.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
-<resource-agent name="fence_compute" shortdesc="Fence agent for nova compute nodes" >
-<longdesc>fence_nova_host is a Nova fencing notification agent</longdesc>
+<resource-agent name="fence_sbd" shortdesc="Fence agent for sbd" >
+<longdesc>fence_sbd is I/O Fencing agent which can be used in environments where sbd can be used (shared storage).</longdesc>
 <vendor-url></vendor-url>
 <parameters>
 	<parameter name="action" unique="0" required="1">
@@ -8,56 +8,24 @@
 		<content type="string" default="reboot"  />
 		<shortdesc lang="en">Fencing action</shortdesc>
 	</parameter>
-	<parameter name="auth-url" unique="0" required="0">
-		<getopt mixed="-k, --auth-url=[tenant]" />
-		<content type="string" default=""  />
-		<shortdesc lang="en">Keystone Admin Auth URL</shortdesc>
-	</parameter>
-	<parameter name="endpoint-type" unique="0" required="0">
-		<getopt mixed="-e, --endpoint-type=[endpoint]" />
-		<content type="string" default="internalURL"  />
-		<shortdesc lang="en">Nova Endpoint type</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="0">
-		<getopt mixed="-l, --username=[name]" />
+	<parameter name="devices" unique="0" required="1">
+		<getopt mixed="--devices=[device_a,device_b]" />
 		<content type="string"  />
-		<shortdesc lang="en">Login name</shortdesc>
+		<shortdesc lang="en">SBD Device</shortdesc>
 	</parameter>
-	<parameter name="passwd" unique="0" required="0">
-		<getopt mixed="-p, --password=[password]" />
-		<content type="string"  />
-		<shortdesc lang="en">Login password or passphrase</shortdesc>
-	</parameter>
-	<parameter name="passwd_script" unique="0" required="0">
-		<getopt mixed="-S, --password-script=[script]" />
-		<content type="string"  />
-		<shortdesc lang="en">Script to run to retrieve password</shortdesc>
+	<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="port" unique="0" required="1">
 		<getopt mixed="-n, --plug=[id]" />
 		<content type="string"  />
 		<shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
 	</parameter>
-	<parameter name="tenant-name" unique="0" required="0">
-		<getopt mixed="-t, --tenant-name=[tenant]" />
-		<content type="string" default=""  />
-		<shortdesc lang="en">Keystone Admin Tenant</shortdesc>
-	</parameter>
-	<parameter name="domain" unique="0" required="0">
-		<getopt mixed="-d, --domain=[string]" />
-		<content type="string" default=""  />
-		<shortdesc lang="en">DNS domain in which hosts live</shortdesc>
-	</parameter>
-	<parameter name="no-shared-storage" unique="0" required="0">
-		<getopt mixed="--no-shared-storage" />
-		<content type="boolean" default="False"  />
-		<shortdesc lang="en">Disable functionality for dealing with shared storage</shortdesc>
-	</parameter>
-	<parameter name="record-only" unique="0" required="0">
-		<getopt mixed="--record-only" />
-		<content type="boolean" default="False"  />
-		<shortdesc lang="en">Only record the target as needing evacuation</shortdesc>
-	</parameter>
 	<parameter name="verbose" unique="0" required="0">
 		<getopt mixed="-v, --verbose" />
 		<content type="boolean"  />
@@ -103,9 +71,14 @@
 		<content type="string" default="0"  />
 		<shortdesc lang="en">Wait X seconds after issuing ON/OFF</shortdesc>
 	</parameter>
+	<parameter name="sbd_path" unique="0" required="0">
+		<getopt mixed="--sbd-path=[path]" />
+		<content type="string" default="/sbin/sbd"  />
+		<shortdesc lang="en">Path to SBD binary</shortdesc>
+	</parameter>
 	<parameter name="shell_timeout" unique="0" required="0">
 		<getopt mixed="--shell-timeout=[seconds]" />
-		<content type="string" default="180"  />
+		<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">
diff --git a/tests/data/metadata/fence_ilo4.xml b/tests/data/metadata/fence_vbox.xml
similarity index 65%
copy from tests/data/metadata/fence_ilo4.xml
copy to tests/data/metadata/fence_vbox.xml
index d4a2b87..d2f2c07 100644
--- a/tests/data/metadata/fence_ilo4.xml
+++ b/tests/data/metadata/fence_vbox.xml
@@ -1,30 +1,24 @@
 <?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>
+<resource-agent name="fence_vbox" shortdesc="Fence agent for VirtualBox" >
+<longdesc>fence_vbox is an I/O Fencing agent which can be used with the virtual machines managed by VirtualBox. It logs via ssh to a dom0 where it runs VBoxManage to do all of the work. 
+.P
+By default, vbox needs to log in as a user that is a member of the vboxusers group. Also, you must allow ssh login in your sshd_config.</longdesc>
+<vendor-url>https://www.virtualbox.org/</vendor-url>
 <parameters>
 	<parameter name="action" unique="0" required="1">
 		<getopt mixed="-o, --action=[action]" />
 		<content type="string" default="reboot"  />
 		<shortdesc lang="en">Fencing action</shortdesc>
 	</parameter>
-	<parameter name="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]" />
+	<parameter name="cmd_prompt" unique="0" required="0">
+		<getopt mixed="-c, --command-prompt=[prompt]" />
+		<content type="string" default="['\\[EXPECT\\]#\\ ']"  />
+		<shortdesc lang="en">Force Python regex for command prompt</shortdesc>
+	</parameter>
+	<parameter name="identity_file" unique="0" required="0">
+		<getopt mixed="-k, --identity-file=[filename]" />
 		<content type="string"  />
-		<shortdesc lang="en">Ciphersuite to use (same as ipmitool -C parameter)</shortdesc>
+		<shortdesc lang="en">Identity file (private key) for SSH</shortdesc>
 	</parameter>
 	<parameter name="inet4_only" unique="0" required="0">
 		<getopt mixed="-4, --inet4-only" />
@@ -36,34 +30,21 @@
 		<content type="boolean"  />
 		<shortdesc lang="en">Forces agent to use IPv6 addresses only</shortdesc>
 	</parameter>
-	<parameter name="ipaddr" unique="0" required="0">
+	<parameter name="ipaddr" unique="0" required="1">
 		<getopt mixed="-a, --ip=[ip]" />
 		<content type="string"  />
 		<shortdesc lang="en">IP address or hostname of fencing device</shortdesc>
 	</parameter>
 	<parameter name="ipport" unique="0" required="0">
 		<getopt mixed="-u, --ipport=[port]" />
-		<content type="string" default="623"  />
+		<content type="string" default="22"  />
 		<shortdesc lang="en">TCP/UDP port to use for connection with device</shortdesc>
 	</parameter>
-	<parameter name="lanplus" unique="0" required="0">
-		<getopt mixed="-P, --lanplus" />
-		<content type="boolean" default="1"  />
-		<shortdesc lang="en">Use Lanplus to improve security of connection</shortdesc>
-	</parameter>
-	<parameter name="login" unique="0" required="0">
+	<parameter name="login" unique="0" required="1">
 		<getopt mixed="-l, --username=[name]" />
 		<content type="string"  />
 		<shortdesc lang="en">Login name</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</shortdesc>
-	</parameter>
 	<parameter name="passwd" unique="0" required="0">
 		<getopt mixed="-p, --password=[password]" />
 		<content type="string"  />
@@ -74,20 +55,20 @@
 		<content type="string"  />
 		<shortdesc lang="en">Script to run to retrieve password</shortdesc>
 	</parameter>
-	<parameter name="port" unique="0" required="0">
-		<getopt mixed="-n, --plug=[ip]" />
+	<parameter name="port" unique="0" required="1">
+		<getopt mixed="-n, --plug=[id]" />
 		<content type="string"  />
-		<shortdesc lang="en">IP address or hostname of fencing device (together with --port-as-ip)</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>
+		<shortdesc lang="en">Physical plug number on device, UUID or identification of machine</shortdesc>
+	</parameter>
+	<parameter name="secure" unique="0" required="0">
+		<getopt mixed="-x, --ssh" />
+		<content type="boolean" default="1"  />
+		<shortdesc lang="en">Use SSH connection</shortdesc>
+	</parameter>
+	<parameter name="ssh_options" unique="0" required="0">
+		<getopt mixed="--ssh-options=[options]" />
+		<content type="string" default="-t '/bin/bash -c "PS1=\\[EXPECT\\]#\  /bin/bash --noprofile --norc"'"  />
+		<shortdesc lang="en">SSH options to use</shortdesc>
 	</parameter>
 	<parameter name="verbose" unique="0" required="0">
 		<getopt mixed="-v, --verbose" />
@@ -109,25 +90,25 @@
 		<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"  />
 		<shortdesc lang="en">Wait X seconds before fencing is started</shortdesc>
 	</parameter>
-	<parameter name="ipmitool_path" unique="0" required="0">
-		<getopt mixed="--ipmitool-path=[path]" />
-		<content type="string" default="/usr/bin/ipmitool"  />
-		<shortdesc lang="en">Path to ipmitool binary</shortdesc>
-	</parameter>
 	<parameter name="login_timeout" unique="0" required="0">
 		<getopt mixed="--login-timeout=[seconds]" />
 		<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" />
+	<parameter name="missing_as_off" unique="0" required="0">
+		<getopt mixed="--missing-as-off" />
 		<content type="boolean"  />
-		<shortdesc lang="en">Make "port/plug" to be an alias to IP address</shortdesc>
+		<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]" />
@@ -154,6 +135,11 @@
 		<content type="boolean"  />
 		<shortdesc lang="en">Use sudo (without password) when calling 3rd party software</shortdesc>
 	</parameter>
+	<parameter name="ssh_path" unique="0" required="0">
+		<getopt mixed="--ssh-path=[path]" />
+		<content type="string" default="/usr/bin/ssh"  />
+		<shortdesc lang="en">Path to ssh binary</shortdesc>
+	</parameter>
 	<parameter name="sudo_path" unique="0" required="0">
 		<getopt mixed="--sudo-path=[path]" />
 		<content type="string" default="/usr/bin/sudo"  />
@@ -165,6 +151,8 @@
 	<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" />

-- 
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