diff -Nru fence-agents-4.0.21/aclocal.m4 fence-agents-4.0.22/aclocal.m4 --- fence-agents-4.0.21/aclocal.m4 2015-09-03 14:49:29.000000000 +0000 +++ fence-agents-4.0.22/aclocal.m4 2016-01-13 13:03:40.000000000 +0000 @@ -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 @@ 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 @@ # 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 @@ # 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 @@ # 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 @@ 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 @@ # 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 @@ # 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 @@ # 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_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 @@ 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: + +Please tell bug-automake@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: . + +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 @@ 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 @@ 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 @@ # 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 @@ 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 @@ # 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 @@ 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 @@ # 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_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 @@ 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 @@ _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 @@ 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 @@ # 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 -Nru fence-agents-4.0.21/ChangeLog fence-agents-4.0.22/ChangeLog --- fence-agents-4.0.21/ChangeLog 2015-09-03 14:49:39.000000000 +0000 +++ fence-agents-4.0.22/ChangeLog 2016-01-13 13:03:54.000000000 +0000 @@ -1,3 +1,248 @@ +2016-01-06 Marek 'marx' Grac + + fence_zvmip: Fix makefile to work with dist* targets + +2016-01-05 Andrew Beekhof + + Merge pull request #33 from beekhof/master + Instance HA fixes/improvements + +2016-01-04 Andrew Beekhof + + fence_compute: Status wont work if the control plane is not yet up + +2015-12-16 Marek 'marx' Grac + + 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 + + fence_ipmilan: Fix typo in reboo_cycle + +2015-12-09 Andrew Beekhof + + 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 + + fence_compute: Update expected metadata + + fence_compute: Update metadata + + fence_compute: Support a present-but-disabled mode + +2015-12-03 Andrew Beekhof + + 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 + + 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 + + Merge pull request #32 from kwaping/readme_update + README wording update + +2015-12-01 Ollie Ready + + README wording update + +2015-11-19 Fabio M. Di Nitto + + Merge pull request #27 from aspiers/fix/evacute-typo + fix 'evacute' typo + +2015-11-18 Adam Spiers + + fix 'evacute' typo + This requires the corresponding fix in NovaCompute and NovaEvacuate. + +2015-11-04 Marek 'marx' Grac + + 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 + + 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 + + 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 + + fence_brocade: Fix incorrect return when getting status for "on", "off" + +2015-10-19 marxsk + + Merge pull request #25 from sbauza/instance_selectivity + Allow to select which instances to evacuate + +2015-10-14 Sylvain Bauza + + 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 + + Merge pull request #24 from sbauza/mark_host_down + fence_compute: Set mark host down flag if possible + +2015-10-12 Sylvain Bauza + + 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 + + Merge pull request #22 from krig/fence_vbox + fence_vbox: Add a fencing agent for VirtualBox + +2015-10-12 Kristoffer Grönlund + + 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 + + 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 + + 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 + + fence_docker: Add option to set Docker Remote API + + fence_scsi: Install fence_scsi_check_hardreboot + +2015-09-25 marxsk + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + Merge pull request #14 from mbaldessari/amt_fix + Fix AMT fence agent + 2015-08-26 Marek 'marx' Grac 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 + + 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 Merge pull request #13 from GamerSource/united_fixes diff -Nru fence-agents-4.0.21/compile fence-agents-4.0.22/compile --- fence-agents-4.0.21/compile 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/compile 2016-01-13 13:03:42.000000000 +0000 @@ -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 . # # This program is free software; you can redistribute it and/or modify diff -Nru fence-agents-4.0.21/config.guess fence-agents-4.0.22/config.guess --- fence-agents-4.0.21/config.guess 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/config.guess 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ # 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@gnu.org. +# Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ 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 @@ 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 -Nru fence-agents-4.0.21/config.sub fence-agents-4.0.22/config.sub --- fence-agents-4.0.21/config.sub 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/config.sub 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -68,7 +68,7 @@ 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 @@ | 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 @@ | 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 @@ | 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 @@ 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 @@ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -773,6 +779,9 @@ 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 -Nru fence-agents-4.0.21/configure fence-agents-4.0.22/configure --- fence-agents-4.0.21/configure 2015-09-03 14:49:29.000000000 +0000 +++ fence-agents-4.0.22/configure 2016-01-13 13:03:41.000000000 +0000 @@ -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 . # @@ -590,8 +590,8 @@ # 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@redhat.com' PACKAGE_URL='' @@ -649,6 +649,7 @@ SNMPGET_PATH SNMPSET_PATH SNMPWALK_PATH +SBD_PATH MPATH_PATH TELNET_PATH SSH_PATH @@ -1351,7 +1352,7 @@ # 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 @@ 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 @@ 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 @@ 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 @@ -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 @@ 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 @@ $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 @@ # 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 @@ # 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 @@ +# 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: + +Please tell bug-automake@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: . + +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_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_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 @@ 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 @@ 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 @@ 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 fence/agents/emerson/Makefile fence/agents/eps/Makefile fence/agents/hpblade/Makefile fence/agents/ibmblade/Makefile fence/agents/ipdu/Makefile fence/agents/ifmib/Makefile fence/agents/ilo/Makefile fence/agents/ilo_moonshot/Makefile fence/agents/ilo_mp/Makefile fence/agents/ilo_ssh/Makefile fence/agents/intelmodular/Makefile fence/agents/ipmilan/Makefile fence/agents/kdump/Makefile fence/agents/ldom/Makefile fence/agents/lib/Makefile fence/agents/lpar/Makefile fence/agents/manual/Makefile fence/agents/mpath/Makefile fence/agents/netio/Makefile fence/agents/ovh/Makefile fence/agents/pve/Makefile fence/agents/raritan/Makefile fence/agents/rcd_serial/Makefile fence/agents/rhevm/Makefile fence/agents/rsa/Makefile fence/agents/rsb/Makefile fence/agents/sanbox2/Makefile fence/agents/scsi/Makefile fence/agents/virsh/Makefile fence/agents/vmware/Makefile fence/agents/vmware_soap/Makefile fence/agents/wti/Makefile fence/agents/xenapi/Makefile fence/agents/hds_cb/Makefile fence/agents/zvm/Makefile doc/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 fence/agents/emerson/Makefile fence/agents/eps/Makefile fence/agents/hpblade/Makefile fence/agents/ibmblade/Makefile fence/agents/ipdu/Makefile fence/agents/ifmib/Makefile fence/agents/ilo/Makefile fence/agents/ilo_moonshot/Makefile fence/agents/ilo_mp/Makefile fence/agents/ilo_ssh/Makefile fence/agents/intelmodular/Makefile fence/agents/ipmilan/Makefile fence/agents/kdump/Makefile fence/agents/ldom/Makefile fence/agents/lib/Makefile fence/agents/lpar/Makefile fence/agents/manual/Makefile fence/agents/mpath/Makefile fence/agents/netio/Makefile fence/agents/ovh/Makefile fence/agents/pve/Makefile fence/agents/raritan/Makefile fence/agents/rcd_serial/Makefile fence/agents/rhevm/Makefile fence/agents/rsa/Makefile fence/agents/rsb/Makefile 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 fence/agents/wti/Makefile fence/agents/xenapi/Makefile fence/agents/hds_cb/Makefile fence/agents/zvm/Makefile doc/Makefile" cat >confcache <<\_ACEOF @@ -18180,7 +18257,7 @@ # 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 @@ 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 @@ "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 -Nru fence-agents-4.0.21/configure.ac fence-agents-4.0.22/configure.ac --- fence-agents-4.0.21/configure.ac 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/configure.ac 2016-01-06 09:45:57.000000000 +0000 @@ -170,6 +170,7 @@ 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 @@ 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 -Nru fence-agents-4.0.21/debian/changelog fence-agents-4.0.22/debian/changelog --- fence-agents-4.0.21/debian/changelog 2015-09-24 11:43:44.000000000 +0000 +++ fence-agents-4.0.22/debian/changelog 2016-02-06 11:34:19.000000000 +0000 @@ -1,3 +1,16 @@ +fence-agents (4.0.22-2) unstable; urgency=medium + + * Grab missing fence_zvm.h from upstream. + * Remove fence_zvm on non-s390x, it's a no-op anyway. + + -- Christoph Berg Sat, 06 Feb 2016 12:34:18 +0100 + +fence-agents (4.0.22-1) unstable; urgency=medium + + * New upstream version. + + -- Christoph Berg Fri, 05 Feb 2016 16:55:20 +0100 + fence-agents (4.0.21-2) unstable; urgency=medium * fence_scsi: Fix /sbin/vgs path. diff -Nru fence-agents-4.0.21/debian/compat fence-agents-4.0.22/debian/compat --- fence-agents-4.0.21/debian/compat 2015-04-22 11:44:29.000000000 +0000 +++ fence-agents-4.0.22/debian/compat 2016-02-06 11:33:54.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru fence-agents-4.0.21/debian/control fence-agents-4.0.22/debian/control --- fence-agents-4.0.21/debian/control 2015-09-24 10:40:42.000000000 +0000 +++ fence-agents-4.0.22/debian/control 2016-02-06 11:33:51.000000000 +0000 @@ -8,7 +8,7 @@ Build-Depends: autoconf, automake, autotools-dev, - debhelper (>= 7.0.50~), + debhelper (>= 9), dh-python, libglib2.0-dev, libnspr4-dev, @@ -25,7 +25,7 @@ libxml2-utils, libnet-telnet-perl, dh-autoreconf -Standards-Version: 3.9.6 +Standards-Version: 3.9.7 Homepage: https://fedorahosted.org/cluster/wiki/HomePage Vcs-Browser: https://anonscm.debian.org/cgit/debian-ha/fence-agents.git/ Vcs-Git: git://anonscm.debian.org/debian-ha/fence-agents.git diff -Nru fence-agents-4.0.21/debian/copyright fence-agents-4.0.22/debian/copyright --- fence-agents-4.0.21/debian/copyright 2015-04-22 11:44:29.000000000 +0000 +++ fence-agents-4.0.22/debian/copyright 2016-02-06 11:35:41.000000000 +0000 @@ -50,6 +50,19 @@ Jeff Moyer License: GPL-2+ +Files: fence/agents/zvm/fence_zvm.* +Copyright: (C) 2012 Sine Nomine Associates +License: LGPL-2.1+ + 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. + Files: fence/man/fence_ifmib.8 Copyright: 2008 Ross Vandegrift License: GPL-2+ diff -Nru fence-agents-4.0.21/debian/patches/fence_zvm.h fence-agents-4.0.22/debian/patches/fence_zvm.h --- fence-agents-4.0.21/debian/patches/fence_zvm.h 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/debian/patches/fence_zvm.h 2016-02-06 11:02:33.000000000 +0000 @@ -0,0 +1,586 @@ +--- /dev/null ++++ b/fence/agents/zvm/fence_zvm.h +@@ -0,0 +1,583 @@ ++/* ++ * fence_zvm.h: SMAPI interface for z/VM 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 ++ * . ++ * ++ * Authors: ++ * Neale Ferguson ++ * ++ */ ++ ++#ifndef FENCE_ZVM_H ++# define FENCE_ZVM_H ++ ++# include ++ ++# define SMAPI_TARGET "OVIRTADM" ++# define SMAPI_MAXCPU 96 ++ ++/* ++ * Return codes ++ */ ++# define RC_OK 0 /* Request successful */ ++# define RC_WNG 4 /* Warning */ ++# define RC_ERR 8 /* Error */ ++# define RCERR_SYNTAX 24 /* Function parameter syntax error */ ++# define RCERR_FILE_NOT_FOUND 28 /* File not found */ ++# define RCERR_FILE_CANNOT_BE_UPDATED 36 /* Name list file cannot be updated */ ++# define RCERR_AUTH 100 /* Request not authorized by ESM */ ++# define RCERR_NO_AUTHFILE 104 /* Authorization file not found */ ++# define RCERR_AUTHFILE_RO 106 /* Authorization file cannot be updated */ ++# define RCERR_EXISTS 108 /* Authorization file entry already exists */ ++# define RCERR_NO_ENTRY 112 /* Authorization file entry does not exist */ ++# define RCERR_USER_PW_BAD 120 /* Authentication error: Userid or pwd invalid */ ++# define RCERR_PW_EXPIRED 128 /* Authentication error: password expired */ ++# define RCERR_ESM 188 /* ESM failure */ ++# define RCERR_PW_CHECK 192 /* Internal error: can't authenticate user or pwd */ ++# define RCERR_DMSCSL 196 /* Internal Callable Services error */ ++# define RCERR_IMAGEOP 200 /* Image Operation error */ ++# define RCERR_LIST 200 /* Bad rc for list or list function */ ++# define RCERR_IMAGEDEVU 204 /* Image Device Usage error */ ++# define RCERR_IMAGEDISKU 208 /* Image Disk Usage error */ ++# define RCERR_IMAGECONN 212 /* Image Connectivity Definition error */ ++# define RCERR_IMAGECPU 216 /* Image CPU definition error */ ++# define RCERR_VOLUME 300 /* Image Volume function error */ ++# define RCERR_INTERNAL 396 /* Internal product-specific error */ ++# define RCERR_IMAGE_NAME 400 /* Image Name error */ ++# define RCERR_IMAGEDEF 400 /* Image Definition error */ ++# define RCERR_IMAGEDEVD 404 /* Image Device Definition error */ ++# define RCERR_IMAGEDISKD 408 /* Image Disk Definition error */ ++# define RCERR_IMAGECONND 412 /* Image Connectivity Definition error */ ++# define RCERR_PROTODEF 416 /* Prototype Definition error */ ++# define RCERR_DASD_DM 420 /* Volume/region name already defined or region in group */ ++# define RCERR_SEGMENT_DM 424 /* Segment definition errors */ ++# define RCERR_NOTIFY 428 /* Notification subscription errors */ ++# define RCERR_TAG 432 /* Local tag definition errors */ ++# define RCERR_PROFILED 436 /* Profile definition errors */ ++# define RCERR_POLICY_PW 444 /* Password policy error */ ++# define RCERR_POLICY_ACCT 448 /* Account number policy error */ ++# define RCERR_TASK 452 /* Task error */ ++# define RCERR_SCSI 456 /* SCSI error */ ++# define RCERR_DM 500 /* Directory Manager error */ ++# define RCERR_LIST_DM 504 /* Directory Manager list error */ ++# define RCERR_ASYNC_DM 592 /* Asynchronous Operation error */ ++# define RCERR_INTERNAL_DM 596 /* Internal Directory Manager error */ ++# define RCERR_SHSTOR 600 /* Shared Memory function error */ ++# define RCERR_VIRTUALNETWORKD 620 /* Vswitch function error */ ++# define RCERR_VMRM 800 /* Error from VMRM functions */ ++# define RCERR_SERVER 900 /* Socket-Server error */ ++ ++/* ++ * Syntax error reason codes ++ */ ++# define RS_NONE 0 ++# define RS_TOOMANY 0 ++# define RS_TANY 0 ++# define RS_TBIN 2 ++# define RS_UNSIGNEDINT 10 ++# define RS_TNUM 10 ++# define RS_UNSUPPORTED 11 ++# define RS_SHORT 14 ++# define RS_LESSTHANMIN 15 ++# define RS_HEX 16 ++# define RS_THEX 16 ++# define RS_THEXHY 17 ++# define RS_LONG 13 ++# define RS_MORETHANMAX 18 ++# define RS_UNRECOG 19 ++# define RS_CONFLICTING 23 ++# define RS_UNSPECIFIED 24 ++# define RS_EXTRANEOUS 25 ++# define RS_ALPHABETIC 26 ++# define RS_TALPHA 26 ++# define RS_FUNCTIONNAME 27 ++# define RS_TALPHA_ 27 ++# define RS_ALPHANUMERIC 36 ++# define RS_TNUMALPHA 36 ++# define RS_ALPHANUMERIC_ 37 ++# define RS_TNUMALPHAHY 37 ++# define RS_TLIST 38 ++# define RS_DIRMAINTFILE 42 ++# define RS_TFILE 42 ++# define RS_DIRMAINTFILE_ 43 ++# define RS_TFILE_ 43 ++# define RS_DIRMAINTFILE_EQ 44 ++# define RS_TFILE_EQ 44 ++# define RS_UNEXPECTED_END 88 ++# define RS_NON_BREAKING_CHAR 99 ++# define RS_TNONBLANK 99 ++ ++/* ++ * Non-syntax related reason codes ++ */ ++# define RS_NONE 0 /* Request successful */ ++# define RS_INVALID_USER 2 /* Invalid user */ ++# define RS_INVALID_DEVICE 2 /* invalid device */ ++# define RS_NO_OSAS 4 /* No OSAs exist */ ++# define RS_INVALID_OP 3 /* Invalid LAN operation */ ++# define RS_INVALID_PRO 4 /* Invalid LAN promiscuity */ ++# define RS_NO_DEV 4 /* No IPL device */ ++# define RS_DEFERRED_SERVER 4 /* Authorization deferred to server */ ++# define RS_DUP_NAME 4 /* Duplicate tag name */ ++# define RS_EXISTS 4 /* Device already exists*/ ++# define RS_IN_USE 4 /* Image Disk already in use */ ++# define RS_IVS_NAME_USED 4 /* Group/region/volume already defined */ ++# define RS_LOADDEV_NOT_FOUND 4 /* LOADDEV statement not found */ ++# define RS_NO_PARTNER 4 /* Partner image not found */ ++# define RS_NO_UPDATES 4 /* Directory manager not accepting update*/ ++# define RS_NOT_FOUND 4 /* Image/Task Not Found */ ++# define RS_NOTIFY_DUPLICATE 4 /* Duplicate subscription */ ++# define RS_SEG_NAME_DUPLICATE 4 /* Segment name already used */ ++# define RS_AFFINITY_SUPPRESSED 4 /* CPU defined but affinity suppressed */ ++# define RS_WORK_OUTSTANDING 4 /* Image_Defintion_* asynch */ ++# define RS_UNRESTRICTED_LAN 5 /* LAN is unrestricted */ ++# define RS_NO_USERS 6 /* No users authorized for LAN */ ++# define RS_ADAPTER_NOT_EXIST 8 /* Adapter does not exist */ ++# define RS_ALREADY_ACTIVE 8 /* Image already active */ ++# define RS_AUTHERR_CONNECT 8 /* Not authorized to connect */ ++# define RS_AUTHERR_ESM 8 /* Request not authorized by an ESM */ ++# define RS_BAD_RANGE 8 /* Bad page range */ ++# define RS_DEV_NOT_FOUND 8 /* Device not found */ ++# define RS_IVS_NAME_NOT_USED 8 /* Group/region/volume is not defined */ ++# define RS_NAME_EXISTS 8 /* Image Name already defined */ ++# define RS_NO_MEASUREMENT_DATA 8 /* No VMRM measurement query data */ ++# define RS_NOT_AVAILABLE 8 /* Directory manager not available */ ++# define RS_NOT_DEFINED 8 /* Image Device/Volume/Region/Group/Tag name not defined */ ++# define RS_NOT_EXIST 8 /* Device does not exist */ ++# define RS_NOTIFY_NOT_FOUND 8 /* No matching entries */ ++# define RS_NOT_IN_USE 8 /* Image disk not in use */ ++# define RS_OFFLINE 8 /* Successful; Object directory offline */ ++# define RS_SEG_NAME_NOT_FOUND 8 /* Segment name not used */ ++# define RS_WORKER_NOT_FOUND 8 /* Worker server not found */ ++# define RS_DEV_NOT_AVAIL_TO_ATTACH 10 /* Device not found */ ++# define RS_TOO_MANY_PARM 10 /* Too many parms in parameter list */ ++# define RS_TOO_FEW_PARM 11 /* Too few parms in parameter list */ ++# define RS_ALREADY_LOCKED 12 /* Image definition already locked */ ++# define RS_AUTHERR_DM 12 /* Request not authorized by Directory Manager */ ++# define RS_BUSY 12 /* Image device is busy */ ++# define RS_DUP_ORDINAL 12 /* Duplicate tag ordinal */ ++# define RS_FUNCTION_NOT_VALID 12 /* Not a valid SMAPI function */ ++# define RS_IVS_NAME_NOT_INCLUDED 12 /* Name not included (ISR,ISQ)*/ ++# define RS_LAN_NOT_EXIST 12 /* LAN does not exist */ ++# define RS_LOCKED 12 /* Image definition is locked */ ++# define RS_NAMESAVE_EXISTS 12 /* Namesave statementt already in directory*/ ++# define RS_NEW_LIST 12 /* Successful new list created */ ++# define RS_NOT_ACTIVE 12 /* Image not active */ ++# define RS_NOT_INCLUDED 12 /* Region not included in group */ ++# define RS_NOT_LOGGED_ON 12 /* User not logged on */ ++# define RS_DEV_NOT_VOLUME 12 /* Device not a volume */ ++# define RS_UPDATE_SYNTAX_ERROR 12 /* Errors in configuration update buffer */ ++# define RS_FREE_MODE_NOT_AVAIL 14 /* Free mode not available */ ++# define RS_AUTHERR_SERVER 16 /* Request not authorized by server */ ++# define RS_BEING_DEACT 16 /* Image being deactivated */ ++# define RS_CANNOT_ACCESS_DATA 16 /* Cannot access configuration or VMRM measurement data */ ++# define RS_CANNOT_DELETE 16 /* Cannot delete image definition */ ++# define RS_CANNOT_REVOKE 16 /* Cannot revoke tag definition */ ++# define RS_CANNOT_SHARE 16 /* Image disk cannot be shared */ ++# define RS_DEV_NOT_ONLINE 16 /* Device not online */ ++# define RS_LIST_DESTROYED 16 /* Successful no more entries: list destroyed */ ++# define RS_NO_MATCH 16 /* Parameters don't match existing directory statement */ ++# define RS_NO_SHARING 16 /* Image disk sharing not allowed by target image definition */ ++# define RS_NOSAVE 16 /* Could not save segment */ ++# define RS_PTS_ENTRY_NOT_VALID 16 /* Parser entry not valid */ ++# define RS_TAG_LONG 16 /* Tag too long */ ++# define RS_VOLID_NOT_FOUND 18 /* Volid not found */ ++# define RS_IS_CONNECTED 20 /* Device already connected */ ++# define RS_NOT_AUTHORIZED 20 /* Not authorized for function */ ++# define RS_OWNER_NOT_ACTIVE 20 /* Owner of reqested LAN not active */ ++# define RS_PARM_LIST_NOT_VALID 20 /* Parameter list not valid */ ++# define RS_PW_FORMAT_NOT_SUPPORTED 20 /* Directory manager does not support password format */ ++# define RS_SHARE_DIFF_MODE 20 /* Image disk shared in different mode */ ++# define RS_VOLID_IN_USE 20 /* Volid is in use */ ++# define RS_TARGET_IMG_NOT_AUTH 20 /* Target Image not authorized to issue the command */ ++# define RS_PDISKS_SAME 22 /* Parm disk 1 and 2 are same */ ++# define RS_CONFLICTING_PARMS 24 /* Conflicting storage parameters */ ++# define RS_LAN_NAME_EXISTS 24 /* Same name as an existing LAN */ ++# define RS_LIST_NOT_FOUND 24 /* List not found */ ++# define RS_NO_SPACE 24 /* Image disk space not available */ ++# define RS_NOT_LOCKED 24 /* Image name is not locked */ ++# define RS_PARM_DISK_LINK_ERR 24 /* Error linking parm disk (1 or 2)*/ ++# define RS_SFS_ERROR 24 /* Shared File System error */ ++# define RS_TYPE_NOT_SAME 24 /* Image device type not same as source */ ++# define RS_UPDATE_WRITE_ERROR 24 /* Configuration update could not write files */ ++# define RS_TAPE_NOT_ASSIGNED 24 /* Tape not assigned */ ++# define RS_VCPU_ALREADY_EXISTS 24 /* Virtual CPU already defined */ ++# define RS_VCPU_OUT_OF_RANGE 28 /* CPU beyond range defined in directory */ ++# define RS_DEV_INCOMPATIBLE 28 /* Incorrect device type */ ++# define RS_EMPTY 28 /* Return buffer is empty */ ++# define RS_FILE_NOT_FOUND 28 /* File not found */ ++# define RS_NO_MATCH_ON_SEARCH 28 /* No entries match search criteria */ ++# define RS_NOT_ALL 28 /* Some images in list not activated */ ++# define RS_OUTPUT_NOT_VALID 28 /* Output from function not valid */ ++# define RS_PARM_DISK_NOT_RW 28 /* Parm Disk (1 or 2) not R/W */ ++# define RS_PW_NEEDED 28 /* Image Disk does not have required password */ ++# define RS_SEGMENT_NOT_FOUND 28 /* Shared Storage Segment not found */ ++# define RS_SIZE_NOT_SAME 28 /* Image device size not same as source */ ++# define RS_DEV_NOT_SHARED 28 /* Device not shared */ ++# define RS_BAD_PW 32 /* Incorrect password specified for image disk */ ++# define RS_NOT_CONNECTED 32 /* Device not connected */ ++# define RS_NOT_IN_LIST 32 /* Name was not in list */ ++# define RS_SOME_NOT_DEACT 32 /* Some Images in list not deactivated */ ++# define RS_UPDATE_PROCESS_ERROR 32 /* Configuration update internal processer */ ++# define RS_SYS_CONF_NOT_FOUND 32 /* System configuration file not found on PARM disk */ ++# define RS_DEV_NOT_RESERVED 32 /* Device not reserved */ ++# define RS_REQRESP_NOT_VALID 32 /* Internal request error */ ++# define RS_SYS_CONF_BAD_DATA 34 /* Syntax Errors with original system configuration */ ++# define RS_IVS_NAME_NOT_DASD 36 /* Name not DASD (for ISD) */ ++# define RS_LENGTH_NOT_VALID 36 /* Length on input/output not valid */ ++# define RS_NAME_IN_LIST 36 /* Name is already in list */ ++# define RS_NO_VOLUME 36 /* No such DASD vol mounted on system; Unable to determine dev type */ ++# define RS_SOME_NOT_RECYC 36 /* Some images in list not recycled */ ++# define RS_SYS_CONF_SYNTX_ERR 36 /* Syntax errors with system configuration update*/ ++# define RS_TIME_NOT_VALID 36 /* Force time for deactvation not valid */ ++# define RS_VSWITCH_EXISTS 36 /* VSwitch already exists */ ++# define RS_DEV_IO_ERROR 36 /* Device I/O error */ ++# define RS_NO_DIR_AUTH_TO_LINK 36 /* No directory authority to link */ ++# define RS_CPDISK_MODE_NOT_AVAIL 38 /* CP disk modes not available */ ++# define RS_PARM_DISK_FULL 40 /* Parm Disk (1 or 2) is full */ ++# define RS_VSWITCH_NOT_EXISTS 40 /* VSwitch doesn't exist */ ++# define RS_NWDEV_NOT_DETACHED 40 /* Device not detached */ ++# define RS_MULTIPLE 40 /* Multiple - multiple what? */ ++# define RS_SOCKET 40 /* Socket error */ ++# define RS_TYPE_NOT_SUPPORTED 40 /* CPU type not supported on your system */ ++# define RS_PDISK_ACC_NOT_ALLOWED 42 /* Parm Disk 1 or 2 - access not allowed */ ++# define RS_ALREADY_AUTH 44 /* Image already granted */ ++# define RS_PDISK_PW_NOT_SUPPLIED 44 /* Parm Disk (1 or 2) password not supplied */ ++# define RS_DASD_IN_USE 44 /* DASD in use */ ++# define RS_IS_DISCONNECTED 48 /* Disconnected */ ++# define RS_PDISK_PW_INCORRECT 46 /* Parm Disk (1 or 2) password is incorrect */ ++# define RS_PARM_DISK_NOT_IN_SRVR_DIR 48 /* Parm Disk (1 or 2) is not in server's user directory */ ++# define RS_VLAN_NOT_FOUND 48 /* vLAN not found */ ++# define RS_MAX_CONN 52 /* Max connections reached */ ++# define RS_CPRELEASE_ERROR 50 /* CPRELEASE error for Parm Disk (1 or 2) */ ++# define RS_CPACCESS_ERROR 52 /* CPACCESS error for Parm Disk (1 or 2) */ ++# define RS_DEF_VSWITCH_EXISTS 54 /* DEFINE exists in System Config */ ++# define RS_GRANT_EXISTS 56 /* GRANT exists in System Config */ ++# define RS_REVOKE_FAILED 58 /* MODIFY does not exist in System Config */ ++# define RS_DEF_VSWITCH_NOT_EXIST 60 /* DEFINE does not exist in System config */ ++# define RS_VSWITCH_CONFLICT 62 /* VSwitch conflict for set API */ ++# define RS_DEF_MOD_MULTI_FOUND 64 /* Multiple Define or Modify statements found */ ++# define RS_DEF_MOD_MULTI_ERASED 66 /* Multiple Define or Modify statements erased */ ++# define RS_DATABASE 68 /* Unable to access database */ ++# define RS_UNKNOWN 96 /* Connect request failed for unknown reason */ ++# define RS_RETRY 99 /* Suggest retry API call */ ++# define RS_ASYNC_OP_SUCCEEDED 100 /* Asynch operation succeeded */ ++# define RS_ASYNC_OP_IN_PROGRESS 104 /* Asynch operation in progress */ ++# define RS_ASYNC_OP_FAILED 108 /* Asynch operation failed */ ++# define RS_CLASS_S_ALREADY_DEFINED 299 /* DEFSEG class S file exists */ ++# define RS_NOT_YET_AVAILABLE 999 /* Function not yet available */ ++# define RS_DEVNO_REQUIRES_FREE_DISK 1157 /* DEVNO parameter requires the device to be a free volume*/ ++# define RS_INVALID_LANID 2783 /* invalid LAN id */ ++# define RS_INVALID_LAN_PARM 2795 /* LAN parameter for this LAN id */ ++# define RS_RELOCATION_ERRORS 3000 /* Relocation error(s) encountered */ ++# define RS_NO_RELOCATION_ACTIVE 3001 /* No active relocations found */ ++# define RS_INVALID_PARAMETER 3002 /* Invalid parameter name */ ++# define RS_INVALID_OPERAND 3003 /* Invalid parameter operand */ ++# define RS_MISSING_PARAMETER 3004 /* Missing parameter */ ++# define RS_NOT_IN_SSI 3005 /* System not in an SSI */ ++# define RS_SSI_UNSTABLE 3006 /* SSI is not in a stable state */ ++# define RS_SSI_CPOWNED_CONFLICT 3007 /* The volume or slot is not on all systems in SSI */ ++# define RS_NOT_SSI_MEMBER 3008 /* Not a member of an SSI cluster */ ++# define RS_REPAIR_IPL_PARAM 3009 /* IPLed with the REPAIR IPL param */ ++# define RS_RELOCATION_MODIFY_ERROR 3010 /* VMRELOCATE Modify error */ ++# define RS_NO_SLOTS_AVAILABLE 3011 /* No unique CP_OWNED slot available on system and in config */ ++# define RS_VOLUME_NOT_FOUND 3012 /* VOLUME cannot be found */ ++# define RS_VOLUME_OFFLINE 3013 /* The volume is offline */ ++# define RS_SHARE_UNSUPPORTED 3014 /* Volume does not support sharing */ ++ ++/* ++ * API functional level ++ */ ++# define RS_530 0 /* 5.3.0 level */ ++# define RS_540 540 /* 5.4.0 level */ ++# define RS_610 610 /* 6.1.0 level */ ++# define RS_611 611 /* 6.1.1 level */ ++# define RS_620 620 /* 6.2.0 level */ ++# define RS_621 621 /* 6.2.1 level */ ++# define RS_630 630 /* 6.3.0 level */ ++ ++/* ++ * SMAPI Operations ++ */ ++# define Asynchronous_Notification_Disable_DM "Asynchronous_Notification_Disable_DM" ++# define Asynchronous_Notification_Enable_DM "Asynchronous_Notification_Enable_DM" ++# define Asynchronous_Notification_Query_DM "Asynchronous_Notification_Query_DM" ++# define Authorization_List_Add "Authorization_List_Add" ++# define Authorization_List_Query "Authorization_List_Query" ++# define Authorization_List_Remove "Authorization_List_Remove" ++# define Check_Authentication "Check_Authentication" ++# define Delete_ABEND_Dump "Delete_ABEND_Dump" ++# define Directory_Manager_Local_Tag_Define_DM "Directory_Manager_Local_Tag_Define_DM" ++# define Directory_Manager_Local_Tag_Delete_DM "Directory_Manager_Local_Tag_Delete_DM" ++# define Directory_Manager_Local_Tag_Query_DM "Directory_Manager_Local_Tag_Query_DM" ++# define Directory_Manager_Local_Tag_Set_DM "Directory_Manager_Local_Tag_Set_DM" ++# define Directory_Manager_Search_DM "Directory_Manager_Search_DM" ++# define Directory_Manager_Task_Cancel_DM "Directory_Manager_Task_Cancel_DM" ++# define Event_Stream_Add "Event_Stream_Add" ++# define Event_Subscribe "Event_Subscribe" ++# define Event_Unsubscribe "Event_Unsubscribe" ++# define Image_Activate "Image_Activate" ++# define Image_Active_Configuration_Query "Image_Active_Configuration_Query" ++# define Image_CPU_Define "Image_CPU_Define" ++# define Image_CPU_Define_DM "Image_CPU_Define_DM" ++# define Image_CPU_Delete "Image_CPU_Delete" ++# define Image_CPU_Delete_DM "Image_CPU_Delete_DM" ++# define Image_CPU_Query "Image_CPU_Query" ++# define Image_CPU_Query_DM "Image_CPU_Query_DM" ++# define Image_CPU_Set_Maximum_DM "Image_CPU_Set_Maximum_DM" ++# define Image_Create_DM "Image_Create_DM" ++# define Image_Deactivate "Image_Deactivate" ++# define Image_Definition_Async_Updates "Image_Definition_Async_Updates" ++# define Image_Definition_Create_DM "Image_Definition_Create_DM" ++# define Image_Definition_Delete_DM "Image_Definition_Delete_DM" ++# define Image_Definition_Query_DM "Image_Definition_Query_DM" ++# define Image_Definition_Update_DM "Image_Definition_Update_DM" ++# define Image_Delete_DM "Image_Delete_DM" ++# define Image_Device_Dedicate "Image_Device_Dedicate" ++# define Image_Device_Dedicate_DM "Image_Device_Dedicate_DM" ++# define Image_Device_Reset "Image_Device_Reset" ++# define Image_Device_Undedicate "Image_Device_Undedicate" ++# define Image_Device_Undedicate_DM "Image_Device_Undedicate_DM" ++# define Image_Disk_Copy "Image_Disk_Copy" ++# define Image_Disk_Copy_DM "Image_Disk_Copy_DM" ++# define Image_Disk_Create "Image_Disk_Create" ++# define Image_Disk_Create_DM "Image_Disk_Create_DM" ++# define Image_Disk_Delete "Image_Disk_Delete" ++# define Image_Disk_Delete_DM "Image_Disk_Delete_DM" ++# define Image_Disk_Query "Image_Disk_Query" ++# define Image_Disk_Share "Image_Disk_Share" ++# define Image_Disk_Share_DM "Image_Disk_Share_DM" ++# define Image_Disk_Unshare "Image_Disk_Unshare" ++# define Image_Disk_Unshare_DM "Image_Disk_Unshare_DM" ++# define Image_IPL_Delete_DM "Image_IPL_Delete_DM" ++# define Image_IPL_Query_DM "Image_IPL_Query_DM" ++# define Image_IPL_Set_DM "Image_IPL_Set_DM" ++# define Image_Lock_DM "Image_Lock_DM" ++# define Image_Name_Query_DM "Image_Name_Query_DM" ++# define Image_Password_Set_DM "Image_Password_Set_DM" ++# define Image_Query_Activate_Time "Image_Query_Activate_Time" ++# define Image_Query_DM "Image_Query_DM" ++# define Image_Recycle "Image_Recycle" ++# define Image_Replace_DM "Image_Replace_DM" ++# define Image_SCSI_Characteristics_Define_DM "Image_SCSI_Characteristics_Define_DM" ++# define Image_SCSI_Characteristics_Query_DM "Image_SCSI_Characteristics_Query_DM" ++# define Image_Status_Query "Image_Status_Query" ++# define Image_Unlock_DM "Image_Unlock_DM" ++# define Image_Volume_Add "Image_Volume_Add" ++# define Image_Volume_Delete "Image_Volume_Delete" ++# define Image_Volume_Share "Image_Volume_Share" ++# define Image_Volume_Space_Define_DM "Image_Volume_Space_Define_DM" ++# define Image_Volume_Space_Define_Extended_DM "Image_Volume_Space_Define_Extended_DM" ++# define Image_Volume_Space_Query_DM "Image_Volume_Space_Query_DM" ++# define Image_Volume_Space_Query_Extended_DM "Image_Volume_Space_Query_Extended_DM" ++# define Image_Volume_Space_Remove_DM "Image_Volume_Space_Remove_DM" ++# define Metadata_Delete "Metadata_Delete" ++# define Metadata_Get "Metadata_Get" ++# define Metadata_Set "Metadata_Set" ++# define Name_List_Add "Name_List_Add" ++# define Name_List_Destroy "Name_List_Destroy" ++# define Name_List_Query "Name_List_Query" ++# define Name_List_Remove "Name_List_Remove" ++# define Page_or_Spool_Volume_Add "Page_or_Spool_Volume_Add" ++# define Process_ABEND_Dump "Process_ABEND_Dump" ++# define Profile_Create_DM "Profile_Create_DM" ++# define Profile_Delete_DM "Profile_Delete_DM" ++# define Profile_Lock_DM "Profile_Lock_DM" ++# define Profile_Query_DM "Profile_Query_DM" ++# define Profile_Replace_DM "Profile_Replace_DM" ++# define Profile_Unlock_DM "Profile_Unlock_DM" ++# define Prototype_Create_DM "Prototype_Create_DM" ++# define Prototype_Delete_DM "Prototype_Delete_DM" ++# define Prototype_Name_Query_DM "Prototype_Name_Query_DM" ++# define Prototype_Query_DM "Prototype_Query_DM" ++# define Prototype_Replace_DM "Prototype_Replace_DM" ++# define Query_ABEND_Dump "Query_ABEND_Dump" ++# define Query_All_DM "Query_All_DM" ++# define Query_API_Functional_Level "Query_API_Functional_Level" ++# define Query_Asynchronous_Operation_DM "Query_Asynchronous_Operation_DM" ++# define Query_Directory_Manager_Level_DM "Query_Directory_Manager_Level_DM" ++# define Response_Recovery "Response_Recovery" ++# define Shared_Memory_Access_Add_DM "Shared_Memory_Access_Add_DM" ++# define Shared_Memory_Access_Query_DM "Shared_Memory_Access_Query_DM" ++# define Shared_Memory_Access_Remove_DM "Shared_Memory_Access_Remove_DM" ++# define Shared_Memory_Create "Shared_Memory_Create" ++# define Shared_Memory_Delete "Shared_Memory_Delete" ++# define Shared_Memory_Query "Shared_Memory_Query" ++# define Shared_Memory_Replace "Shared_Memory_Replace" ++# define SSI_Query "SSI_Query" ++# define Static_Image_Changes_Activate_DM "Static_Image_Changes_Activate_DM" ++# define Static_Image_Changes_Deactivate_DM "Static_Image_Changes_Deactivate_DM" ++# define Static_Image_Changes_Immediate_DM "Static_Image_Changes_Immediate_DM" ++# define System_Config_Syntax_Check "System_Config_Syntax_Check" ++# define System_Disk_Accessibility "System_Disk_Accessibility" ++# define System_Disk_Add "System_Disk_Add" ++# define System_Disk_Query "System_Disk_Query" ++# define System_FCP_Free_Query "System_FCP_Free_Query" ++# define System_Performance_Threshold_Disable "System_Performance_Threshold_Disable" ++# define System_Performance_Threshold_Enable "System_Performance_Threshold_Enable" ++# define System_SCSI_Disk_Add "System_SCSI_Disk_Add" ++# define System_SCSI_Disk_Delete "System_SCSI_Disk_Delete" ++# define System_SCSI_Disk_Query "System_SCSI_Disk_Query" ++# define System_WWPN_Query "System_WWPN_Query" ++# define Virtual_Channel_Connection_Create "Virtual_Channel_Connection_Create" ++# define Virtual_Channel_Connection_Create_DM "Virtual_Channel_Connection_Create_DM" ++# define Virtual_Channel_Connection_Delete "Virtual_Channel_Connection_Delete" ++# define Virtual_Channel_Connection_Delete_DM "Virtual_Channel_Connection_Delete_DM" ++# define Virtual_Network_Adapter_Connect_LAN "Virtual_Network_Adapter_Connect_LAN" ++# define Virtual_Network_Adapter_Connect_LAN_DM "Virtual_Network_Adapter_Connect_LAN_DM" ++# define Virtual_Network_Adapter_Connect_Vswitch "Virtual_Network_Adapter_Connect_Vswitch" ++# define Virtual_Network_Adapter_Connect_Vswitch_DM "Virtual_Network_Adapter_Connect_Vswitch_DM" ++# define Virtual_Network_Adapter_Connect_Vswitch_Extended "Virtual_Network_Adapter_Connect_Vswitch_Extended" ++# define Virtual_Network_Adapter_Create "Virtual_Network_Adapter_Create" ++# define Virtual_Network_Adapter_Create_DM "Virtual_Network_Adapter_Create_DM" ++# define Virtual_Network_Adapter_Create_Extended "Virtual_Network_Adapter_Create_Extended" ++# define Virtual_Network_Adapter_Create_Extended_DM "Virtual_Network_Adapter_Create_Extended_DM" ++# define Virtual_Network_Adapter_Delete "Virtual_Network_Adapter_Delete" ++# define Virtual_Network_Adapter_Delete_DM "Virtual_Network_Adapter_Delete_DM" ++# define Virtual_Network_Adapter_Disconnect "Virtual_Network_Adapter_Disconnect" ++# define Virtual_Network_Adapter_Disconnect_DM "Virtual_Network_Adapter_Disconnect_DM" ++# define Virtual_Network_Adapter_Query "Virtual_Network_Adapter_Query" ++# define Virtual_Network_LAN_Access "Virtual_Network_LAN_Access" ++# define Virtual_Network_LAN_Access_Query "Virtual_Network_LAN_Access_Query" ++# define Virtual_Network_LAN_Create "Virtual_Network_LAN_Create" ++# define Virtual_Network_LAN_Delete "Virtual_Network_LAN_Delete" ++# define Virtual_Network_LAN_Query "Virtual_Network_LAN_Query" ++# define Virtual_Network_OSA_Query "Virtual_Network_OSA_Query" ++# define Virtual_Network_VLAN_Query_Stats "Virtual_Network_VLAN_Query_Stats" ++# define Virtual_Network_Vswitch_Create "Virtual_Network_Vswitch_Create" ++# define Virtual_Network_Vswitch_Create_Extended "Virtual_Network_Vswitch_Create_Extended" ++# define Virtual_Network_Vswitch_Delete "Virtual_Network_Vswitch_Delete" ++# define Virtual_Network_Vswitch_Delete_Extended "Virtual_Network_Vswitch_Delete_Extended" ++# define Virtual_Network_Vswitch_Query "Virtual_Network_Vswitch_Query" ++# define Virtual_Network_Vswitch_Query_Extended "Virtual_Network_Vswitch_Query_Extended" ++# define Virtual_Network_Vswitch_Query_Stats "Virtual_Network_Vswitch_Query_Stats" ++# define Virtual_Network_Vswitch_Set "Virtual_Network_Vswitch_Set" ++# define Virtual_Network_Vswitch_Set_Extended "Virtual_Network_Vswitch_Set_Extended" ++# define VMRELOCATE "VMRELOCATE" ++# define VMRELOCATE_Image_Attributes "VMRELOCATE_Image_Attributes" ++# define VMRELOCATE_Modify "VMRELOCATE_Modify" ++# define VMRELOCATE_Status "VMRELOCATE_Status" ++# define VMRM_Configuration_Query "VMRM_Configuration_Query" ++# define VMRM_Configuration_Update "VMRM_Configuration_Update" ++# define VMRM_Measurement_Query "VMRM_Measurement_Query" ++ ++# define FORCE_IMMED "IMMED" ++# define FORCE_WITHIN "WITHIN 99999" ++ ++/* ++ * Standard fields in a response from SMAPI server ++ */ ++typedef struct { ++ uint32_t outLen; /* Length of output data */ ++ uint32_t reqId; /* Request ID to which response refers */ ++ uint32_t rc; /* Return code */ ++ uint32_t reason; /* Reason code */ ++} smapiOutHeader_t; ++ ++typedef struct { ++ smapiOutHeader_t hdr; /* Output header */ ++ uint32_t lArray; /* Length of array output */ ++ char array[0]; /* Start of array output */ ++} smapiArrayHeader_t; ++ ++/* ++ * Structures returned from Image_Active_Configuration_Query ++ */ ++typedef struct { ++ smapiOutHeader_t hdr; ++ int32_t memSize; ++ uint8_t memUnit; ++# define SMAPI_MEMUNIT_KB 1 ++# define SMAPI_MEMUNIT_MB 2 ++# define SMAPI_MEMUNIT_GB 3 ++ uint8_t shareType; ++# define SMAPI_SHRTYPE_R 1 ++# define SMAPI_SHRTYPE_A 2 ++ int32_t lShare; ++ char share[0]; ++} __attribute__ ((__packed__)) zvm_actImgHdr_t; ++ ++typedef struct { ++ char share[5]; ++} zvm_actImgShr_t; ++ ++typedef struct { ++ int32_t nCPU; ++ int32_t lCPUArray; ++ char cpuArray[0]; ++} zvm_actImgCPUArr_t; ++ ++typedef struct { ++ int32_t lCPUStruct; ++ char cpuStruct[0]; ++} zvm_actImgCPUHdr_t; ++ ++typedef struct { ++ int32_t cpuNumber; ++ int32_t lCPUId; ++ char cpuId[16]; ++} zvm_actImgCPUId_t; ++ ++typedef struct { ++ uint8_t cpuState; ++# define SMAPI_CPUSTATE_BASE 1 ++# define SMAPI_CPUSTATE_STOPPED 2 ++# define SMAPI_CPUSTATE_CHECK 3 ++# define SMAPI_CPUSTATE_ACTIVE 4 ++ int32_t lDevArray; ++ char devArray[0]; ++} __attribute__ ((__packed__)) zvm_actImgCPUState_t; ++ ++typedef struct { ++ int32_t lDevStruct; ++ char devStruct[0]; ++} zvm_actImgDevHdr_t; ++ ++typedef struct { ++ uint8_t devType; ++# define SMAPI_DEVTYPE_CONS 1 ++# define SMAPI_DEVTYPE_RDR 2 ++# define SMAPI_DEVTYPE_PUN 3 ++# define SMAPI_DEVTYPE_PRT 4 ++# define SMAPI_DEVTYPE_DASD 5 ++ int32_t lDevAddr; ++ uint8_t devAddr[4]; ++} __attribute__ ((__packed__)) zvm_actImgDev_t; ++ ++typedef struct { ++ int sd; ++ int reason; ++ uint32_t timeOut; ++ uint32_t delay; ++ char target[9]; ++ char authUser[9]; ++ char authPass[9]; ++ char node[9]; ++ char smapiSrv[128]; ++} zvm_driver_t; ++ ++int zvm_smapi_open(zvm_driver_t *); ++int zvm_smapi_send(zvm_driver_t *, void *, uint32_t *, int32_t); ++int zvm_smapi_recv(zvm_driver_t *, void **, int32_t *); ++int zvm_smapi_close(zvm_driver_t *); ++int zvm_smapi_imageActivate(zvm_driver_t *); ++int zvm_smapi_imageActiveQuery(zvm_driver_t *); ++int zvm_smapi_imageDeactivate(zvm_driver_t *); ++int zvm_smapi_imageRecycle(zvm_driver_t *); ++int zvm_smapi_imageQuery(zvm_driver_t *); ++ ++#endif /* FENCE_ZVM_H */ diff -Nru fence-agents-4.0.21/debian/patches/fence_zvm-help fence-agents-4.0.22/debian/patches/fence_zvm-help --- fence-agents-4.0.21/debian/patches/fence_zvm-help 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/debian/patches/fence_zvm-help 2016-02-06 11:11:01.000000000 +0000 @@ -0,0 +1,11 @@ +--- a/fence/agents/zvm/fence_zvm.c ++++ b/fence/agents/zvm/fence_zvm.c +@@ -853,7 +853,7 @@ usage() + "\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); ++ return(0); + } + + /** diff -Nru fence-agents-4.0.21/debian/patches/series fence-agents-4.0.22/debian/patches/series --- fence-agents-4.0.21/debian/patches/series 2015-09-24 11:42:18.000000000 +0000 +++ fence-agents-4.0.22/debian/patches/series 2016-02-06 11:10:32.000000000 +0000 @@ -1,2 +1,4 @@ reproducible vgs-path +fence_zvm.h +fence_zvm-help diff -Nru fence-agents-4.0.21/debian/rules fence-agents-4.0.22/debian/rules --- fence-agents-4.0.21/debian/rules 2015-09-24 10:43:45.000000000 +0000 +++ fence-agents-4.0.22/debian/rules 2016-02-06 11:14:25.000000000 +0000 @@ -29,12 +29,15 @@ rm -v debian/tmp/usr/share/doc/fence-agents/COPY* rm -v debian/tmp/usr/share/doc/fence-agents/README.licence rmdir debian/tmp/usr/share/doc/fence-agents +ifneq ($(shell dpkg-architecture -qDEB_HOST_ARCH),s390x) + # remove fence_zvm because it doesn't do anything except on 390x + rm -v debian/tmp/usr/sbin/fence_zvm debian/tmp/usr/share/man/man8/fence_zvm.8 +endif dh_install --fail-missing # test agents (skip ack_manual, it doesn't have --help, skip vmware_helper, it wants VIRuntime.pm) # we test in tmp after install so the .pyc files generated don't make it into the package for agent in debian/tmp/usr/sbin/*; do \ - [ $${agent##*/} = fence_ack_manual ] && continue; \ - [ $${agent##*/} = fence_vmware_helper ] && continue; \ + case $${agent##*/} in fence_ack_manual|fence_vmware_helper) continue;; esac; \ echo "Testing $$agent"; \ PYTHONPATH=debian/tmp/usr/share/fence $$agent --help >/dev/null || exit; \ done diff -Nru fence-agents-4.0.21/depcomp fence-agents-4.0.22/depcomp --- fence-agents-4.0.21/depcomp 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/depcomp 2016-01-13 13:03:43.000000000 +0000 @@ -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 -Nru fence-agents-4.0.21/doc/Makefile.in fence-agents-4.0.22/doc/Makefile.in --- fence-agents-4.0.21/doc/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/doc/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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__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_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 @@ 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 @@ 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 -Nru fence-agents-4.0.21/fence/agents/alom/Makefile.in fence-agents-4.0.22/fence/agents/alom/Makefile.in --- fence-agents-4.0.21/fence/agents/alom/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/alom/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/amt/fence_amt.py fence-agents-4.0.22/fence/agents/amt/fence_amt.py --- fence-agents-4.0.21/fence/agents/amt/fence_amt.py 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/amt/fence_amt.py 2016-01-06 09:45:57.000000000 +0000 @@ -41,7 +41,17 @@ 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 -Nru fence-agents-4.0.21/fence/agents/amt/Makefile.in fence-agents-4.0.22/fence/agents/amt/Makefile.in --- fence-agents-4.0.21/fence/agents/amt/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/amt/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/apc/fence_apc.py fence-agents-4.0.22/fence/agents/apc/fence_apc.py --- fence-agents-4.0.21/fence/agents/apc/fence_apc.py 2015-09-02 14:58:52.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/apc/fence_apc.py 2015-12-16 18:08:09.000000000 +0000 @@ -247,7 +247,7 @@ #### 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 -Nru fence-agents-4.0.21/fence/agents/apc/Makefile.in fence-agents-4.0.22/fence/agents/apc/Makefile.in --- fence-agents-4.0.21/fence/agents/apc/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/apc/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/apc_snmp/Makefile.in fence-agents-4.0.22/fence/agents/apc_snmp/Makefile.in --- fence-agents-4.0.21/fence/agents/apc_snmp/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/apc_snmp/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/bladecenter/Makefile.in fence-agents-4.0.22/fence/agents/bladecenter/Makefile.in --- fence-agents-4.0.21/fence/agents/bladecenter/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/bladecenter/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/brocade/fence_brocade.py fence-agents-4.0.22/fence/agents/brocade/fence_brocade.py --- fence-agents-4.0.21/fence/agents/brocade/fence_brocade.py 2015-09-02 14:58:52.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/brocade/fence_brocade.py 2016-01-06 09:45:57.000000000 +0000 @@ -36,7 +36,7 @@ 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 -Nru fence-agents-4.0.21/fence/agents/brocade/Makefile.in fence-agents-4.0.22/fence/agents/brocade/Makefile.in --- fence-agents-4.0.21/fence/agents/brocade/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/brocade/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/cisco_mds/Makefile.in fence-agents-4.0.22/fence/agents/cisco_mds/Makefile.in --- fence-agents-4.0.21/fence/agents/cisco_mds/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/cisco_mds/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/cisco_ucs/Makefile.in fence-agents-4.0.22/fence/agents/cisco_ucs/Makefile.in --- fence-agents-4.0.21/fence/agents/cisco_ucs/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/cisco_ucs/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/compute/fence_compute.py fence-agents-4.0.22/fence/agents/compute/fence_compute.py --- fence-agents-4.0.21/fence/agents/compute/fence_compute.py 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/compute/fence_compute.py 2016-01-06 09:45:57.000000000 +0000 @@ -19,6 +19,9 @@ override_status = "" nova = None +EVACUABLE_TAG = "evacuable" +TRUE_TAGS = ['true'] + def get_power_status(_, options): global override_status @@ -32,8 +35,8 @@ 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 @@ # 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 @@ 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) + 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 options["--no-shared-storage"] != "False": - on_shared_storage = False - else: - on_shared_storage = True + 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 @@ 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 @@ "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 @@ "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 @@ 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 @@ 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 @@ 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 -Nru fence-agents-4.0.21/fence/agents/compute/Makefile.in fence-agents-4.0.22/fence/agents/compute/Makefile.in --- fence-agents-4.0.21/fence/agents/compute/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/compute/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/docker/fence_docker.py fence-agents-4.0.22/fence/agents/docker/fence_docker.py --- fence-agents-4.0.21/fence/agents/docker/fence_docker.py 2015-03-05 12:04:58.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/docker/fence_docker.py 2016-01-06 09:45:57.000000000 +0000 @@ -49,7 +49,7 @@ 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 @@ 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 @@ "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 -Nru fence-agents-4.0.21/fence/agents/docker/Makefile.in fence-agents-4.0.22/fence/agents/docker/Makefile.in --- fence-agents-4.0.21/fence/agents/docker/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/docker/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/drac/Makefile.in fence-agents-4.0.22/fence/agents/drac/Makefile.in --- fence-agents-4.0.21/fence/agents/drac/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/drac/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/drac5/Makefile.in fence-agents-4.0.22/fence/agents/drac5/Makefile.in --- fence-agents-4.0.21/fence/agents/drac5/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/drac5/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/dummy/Makefile.in fence-agents-4.0.22/fence/agents/dummy/Makefile.in --- fence-agents-4.0.21/fence/agents/dummy/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/dummy/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/eaton_snmp/Makefile.in fence-agents-4.0.22/fence/agents/eaton_snmp/Makefile.in --- fence-agents-4.0.21/fence/agents/eaton_snmp/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/eaton_snmp/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/emerson/Makefile.in fence-agents-4.0.22/fence/agents/emerson/Makefile.in --- fence-agents-4.0.21/fence/agents/emerson/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/emerson/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/eps/Makefile.in fence-agents-4.0.22/fence/agents/eps/Makefile.in --- fence-agents-4.0.21/fence/agents/eps/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/eps/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/hds_cb/Makefile.in fence-agents-4.0.22/fence/agents/hds_cb/Makefile.in --- fence-agents-4.0.21/fence/agents/hds_cb/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/hds_cb/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/hpblade/Makefile.in fence-agents-4.0.22/fence/agents/hpblade/Makefile.in --- fence-agents-4.0.21/fence/agents/hpblade/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/hpblade/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ibmblade/Makefile.in fence-agents-4.0.22/fence/agents/ibmblade/Makefile.in --- fence-agents-4.0.21/fence/agents/ibmblade/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ibmblade/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ifmib/Makefile.in fence-agents-4.0.22/fence/agents/ifmib/Makefile.in --- fence-agents-4.0.21/fence/agents/ifmib/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ifmib/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ilo/Makefile.in fence-agents-4.0.22/fence/agents/ilo/Makefile.in --- fence-agents-4.0.21/fence/agents/ilo/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ilo/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-am uninstall-man uninstall-man8 \ uninstall-sbinSCRIPTS +.PRECIOUS: Makefile + $(SYMTARGET): $(TARGET) cp $^ $@ @@ -599,6 +612,7 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ilo_moonshot/Makefile.in fence-agents-4.0.22/fence/agents/ilo_moonshot/Makefile.in --- fence-agents-4.0.21/fence/agents/ilo_moonshot/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ilo_moonshot/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ilo_mp/Makefile.in fence-agents-4.0.22/fence/agents/ilo_mp/Makefile.in --- fence-agents-4.0.21/fence/agents/ilo_mp/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ilo_mp/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ilo_ssh/Makefile.in fence-agents-4.0.22/fence/agents/ilo_ssh/Makefile.in --- fence-agents-4.0.21/fence/agents/ilo_ssh/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ilo_ssh/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-am uninstall-man uninstall-man8 \ uninstall-sbinSCRIPTS +.PRECIOUS: Makefile + $(SYMTARGET) : $(TARGET) cp $^ $@ @@ -599,6 +612,7 @@ -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 -Nru fence-agents-4.0.21/fence/agents/intelmodular/Makefile.in fence-agents-4.0.22/fence/agents/intelmodular/Makefile.in --- fence-agents-4.0.21/fence/agents/intelmodular/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/intelmodular/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ipdu/Makefile.in fence-agents-4.0.22/fence/agents/ipdu/Makefile.in --- fence-agents-4.0.21/fence/agents/ipdu/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ipdu/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ipmilan/fence_ipmilan.py fence-agents-4.0.22/fence/agents/ipmilan/fence_ipmilan.py --- fence-agents-4.0.21/fence/agents/ipmilan/fence_ipmilan.py 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ipmilan/fence_ipmilan.py 2016-01-06 09:45:57.000000000 +0000 @@ -27,6 +27,10 @@ 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 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 @@ 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 -Nru fence-agents-4.0.21/fence/agents/ipmilan/Makefile.in fence-agents-4.0.22/fence/agents/ipmilan/Makefile.in --- fence-agents-4.0.21/fence/agents/ipmilan/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ipmilan/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-am uninstall-man uninstall-man8 \ uninstall-sbinSCRIPTS +.PRECIOUS: Makefile + $(SYMTARGET): $(TARGET) cp $^ $@ @@ -599,6 +612,7 @@ -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 -Nru fence-agents-4.0.21/fence/agents/kdump/Makefile.in fence-agents-4.0.22/fence/agents/kdump/Makefile.in --- fence-agents-4.0.21/fence/agents/kdump/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/kdump/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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 @@ @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@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@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@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@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 @@ tags tags-am uninstall uninstall-am uninstall-libexecPROGRAMS \ uninstall-man uninstall-man8 uninstall-sbinPROGRAMS +.PRECIOUS: Makefile + check: $(TARGET:%=xml-check.%) $(SYMTARGET:%=xml-check.%) diff -Nru fence-agents-4.0.21/fence/agents/ldom/Makefile.in fence-agents-4.0.22/fence/agents/ldom/Makefile.in --- fence-agents-4.0.21/fence/agents/ldom/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ldom/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/lib/fence2man.xsl fence-agents-4.0.22/fence/agents/lib/fence2man.xsl --- fence-agents-4.0.21/fence/agents/lib/fence2man.xsl 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/lib/fence2man.xsl 2016-01-06 09:45:57.000000000 +0000 @@ -30,6 +30,7 @@ Enable fabric access. Disable fabric access. Reboot machine. +Pulse a diagnostic interrupt to the processor(s). Check the health of fence device Display the XML metadata describing this resource. List available plugs with aliases/virtual machines if there is support for more then one device. Returns N/A otherwise. diff -Nru fence-agents-4.0.21/fence/agents/lib/fencing.py.py fence-agents-4.0.22/fence/agents/lib/fencing.py.py --- fence-agents-4.0.21/fence/agents/lib/fencing.py.py 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/lib/fencing.py.py 2016-01-06 09:45:57.000000000 +0000 @@ -140,6 +140,10 @@ "getopt" : "", "help" : "", "order" : ""}, + "diag" : { + "getopt" : "", + "help" : "", + "order" : ""}, "passwd" : { "getopt" : "p:", "longopt" : "password", @@ -1067,7 +1071,7 @@ 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 @@ (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 @@ 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 -Nru fence-agents-4.0.21/fence/agents/lib/Makefile.in fence-agents-4.0.22/fence/agents/lib/Makefile.in --- fence-agents-4.0.21/fence/agents/lib/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/lib/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ build_triplet = @build@ host_triplet = @host@ @BUILD_XENAPILIB_TRUE@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 @@ $(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__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_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 @@ 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 @@ 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 @@ 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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/lpar/Makefile.in fence-agents-4.0.22/fence/agents/lpar/Makefile.in --- fence-agents-4.0.21/fence/agents/lpar/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/lpar/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/Makefile.in fence-agents-4.0.22/fence/agents/Makefile.in --- fence-agents-4.0.21/fence/agents/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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 -Nru fence-agents-4.0.21/fence/agents/manual/Makefile.in fence-agents-4.0.22/fence/agents/manual/Makefile.in --- fence-agents-4.0.21/fence/agents/manual/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/manual/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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-am uninstall-man uninstall-man8 \ uninstall-sbinSCRIPTS +.PRECIOUS: Makefile + $(TARGET): $(TARGET).in cat $^ | sed \ diff -Nru fence-agents-4.0.21/fence/agents/mpath/Makefile.in fence-agents-4.0.22/fence/agents/mpath/Makefile.in --- fence-agents-4.0.21/fence/agents/mpath/Makefile.in 2015-09-03 14:49:31.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/mpath/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/netio/Makefile.in fence-agents-4.0.22/fence/agents/netio/Makefile.in --- fence-agents-4.0.21/fence/agents/netio/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/netio/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/ovh/Makefile.in fence-agents-4.0.22/fence/agents/ovh/Makefile.in --- fence-agents-4.0.21/fence/agents/ovh/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/ovh/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/pve/Makefile.in fence-agents-4.0.22/fence/agents/pve/Makefile.in --- fence-agents-4.0.21/fence/agents/pve/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/pve/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/raritan/Makefile.in fence-agents-4.0.22/fence/agents/raritan/Makefile.in --- fence-agents-4.0.21/fence/agents/raritan/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/raritan/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/rcd_serial/Makefile.in fence-agents-4.0.22/fence/agents/rcd_serial/Makefile.in --- fence-agents-4.0.21/fence/agents/rcd_serial/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/rcd_serial/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-am uninstall-man uninstall-man8 \ uninstall-sbinSCRIPTS +.PRECIOUS: Makefile + fence_rcd_serial_check: $(TARGET) $(TARGET): $(SRC) @@ -597,6 +610,7 @@ -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 -Nru fence-agents-4.0.21/fence/agents/rhevm/Makefile.in fence-agents-4.0.22/fence/agents/rhevm/Makefile.in --- fence-agents-4.0.21/fence/agents/rhevm/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/rhevm/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/rsa/Makefile.in fence-agents-4.0.22/fence/agents/rsa/Makefile.in --- fence-agents-4.0.21/fence/agents/rsa/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/rsa/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/rsb/Makefile.in fence-agents-4.0.22/fence/agents/rsb/Makefile.in --- fence-agents-4.0.21/fence/agents/rsb/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/rsb/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/sanbox2/Makefile.in fence-agents-4.0.22/fence/agents/sanbox2/Makefile.in --- fence-agents-4.0.21/fence/agents/sanbox2/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/sanbox2/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/sbd/fence_sbd.py fence-agents-4.0.22/fence/agents/sbd/fence_sbd.py --- fence-agents-4.0.21/fence/agents/sbd/fence_sbd.py 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/sbd/fence_sbd.py 2016-01-06 09:45:57.000000000 +0000 @@ -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 -Nru fence-agents-4.0.21/fence/agents/sbd/Makefile.am fence-agents-4.0.22/fence/agents/sbd/Makefile.am --- fence-agents-4.0.21/fence/agents/sbd/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/sbd/Makefile.am 2016-01-06 09:45:57.000000000 +0000 @@ -0,0 +1,17 @@ +MAINTAINERCLEANFILES = Makefile.in + +TARGET = fence_sbd + +SRC = $(TARGET).py + +EXTRA_DIST = $(SRC) + +sbin_SCRIPTS = $(TARGET) + +man_MANS = $(TARGET).8 + +FENCE_TEST_ARGS = -n test --devices test + +include $(top_srcdir)/make/fencebuild.mk +include $(top_srcdir)/make/fenceman.mk +include $(top_srcdir)/make/agentpycheck.mk diff -Nru fence-agents-4.0.21/fence/agents/sbd/Makefile.in fence-agents-4.0.22/fence/agents/sbd/Makefile.in --- fence-agents-4.0.21/fence/agents/sbd/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/sbd/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -0,0 +1,669 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# 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, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +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 \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +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 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/make/ac_python_module.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__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$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_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +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@ +AMTAR = @AMTAR@ +AMTTOOL_PATH = @AMTTOOL_PATH@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CLUSTERDATA = @CLUSTERDATA@ +CLUSTERVARRUN = @CLUSTERVARRUN@ +COROSYNC_CMAPCTL_PATH = @COROSYNC_CMAPCTL_PATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFAULT_CONFIG_DIR = @DEFAULT_CONFIG_DIR@ +DEFAULT_CONFIG_FILE = @DEFAULT_CONFIG_FILE@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FENCEAGENTSLIBDIR = @FENCEAGENTSLIBDIR@ +FGREP = @FGREP@ +GNUTLSCLI_PATH = @GNUTLSCLI_PATH@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +IPMITOOL_PATH = @IPMITOOL_PATH@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOGDIR = @LOGDIR@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MPATH_PATH = @MPATH_PATH@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NOVA_PATH = @NOVA_PATH@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +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@ +SG_TURS_PATH = @SG_TURS_PATH@ +SHELL = @SHELL@ +SNMPBIN = @SNMPBIN@ +SNMPGET_PATH = @SNMPGET_PATH@ +SNMPSET_PATH = @SNMPSET_PATH@ +SNMPWALK_PATH = @SNMPWALK_PATH@ +SSH_PATH = @SSH_PATH@ +STRIP = @STRIP@ +SUDO_PATH = @SUDO_PATH@ +TELNET_PATH = @TELNET_PATH@ +VERSION = @VERSION@ +VGS_PATH = @VGS_PATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +MAINTAINERCLEANFILES = Makefile.in +TARGET = fence_sbd +SRC = $(TARGET).py +EXTRA_DIST = $(SRC) +sbin_SCRIPTS = $(TARGET) +man_MANS = $(TARGET).8 +FENCE_TEST_ARGS = -n test --devices test +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: +$(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 \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/sbd/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu fence/agents/sbd/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + 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 $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-sbinSCRIPTS: $(sbin_SCRIPTS) + @$(NORMAL_INSTALL) + @list='$(sbin_SCRIPTS)'; 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 \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | 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; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$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_SCRIPT) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-sbinSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man8: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man8dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.8[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ + done; } + +uninstall-man8: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man8dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.8[a-z]*$$/p'; \ + } | 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: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(SCRIPTS) $(MANS) +installdirs: + for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +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 + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-sbinSCRIPTS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man8 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-man 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 \ + uninstall-am uninstall-man uninstall-man8 \ + uninstall-sbinSCRIPTS + +.PRECIOUS: Makefile + +$(TARGET): $(SRC) + bash $(top_srcdir)/scripts/fenceparse \ + $(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \ + $(VERSION) \ + $(abs_srcdir) $@ | \ + sed \ + -e 's#@''FENCEAGENTSLIBDIR@#${FENCEAGENTSLIBDIR}#g' \ + -e 's#@''LOGDIR@#${LOGDIR}#g' \ + -e 's#@''SBINDIR@#${sbindir}#g' \ + -e 's#@''LIBEXECDIR@#${libexecdir}#g' \ + -e 's#@''IPMITOOL_PATH@#${IPMITOOL_PATH}#g' \ + -e 's#@''AMTTOOL_PATH@#${AMTTOOL_PATH}#g' \ + -e 's#@''GNUTLSCLI_PATH@#${GNUTLSCLI_PATH}#g' \ + -e 's#@''COROSYNC_CMAPCTL_PATH@#${COROSYNC_CMAPCTL_PATH}#g' \ + -e 's#@''SG_PERSIST_PATH@#${SG_PERSIST_PATH}#g' \ + -e 's#@''SG_TURS_PATH@#${SG_TURS_PATH}#g' \ + -e 's#@''VGS_PATH@#${VGS_PATH}#g' \ + -e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \ + -e 's#@''SSH_PATH@#${SSH_PATH}#g' \ + -e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \ + -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' \ + -e 's#@''SNMPSET_PATH@#${SNMPSET_PATH}#g' \ + -e 's#@''SNMPGET_PATH@#${SNMPGET_PATH}#g' \ + -e 's#@''NOVA_PATH@#${NOVA_PATH}#g' \ + > $@ + + if [ 0 -eq `echo "$(SRC)" | grep fence_ &> /dev/null; echo $$?` ]; then \ + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib $(top_srcdir)/fence/agents/lib/check_used_options.py $@; \ + else true ; fi + +clean: clean-man + rm -f $(TARGET) $(SYMTARGET) *.pyc *.wiki + +clean-local: clean +%.8: $(TARGET) $(top_srcdir)/fence/agents/lib/fence2man.xsl + set -e && \ + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib \ + python $(@:%.8=%) -o metadata > .$@.tmp && \ + xmllint --noout --relaxng $(abs_srcdir)/../lib/metadata.rng .$@.tmp && \ + xsltproc $(top_srcdir)/fence/agents/lib/fence2man.xsl .$@.tmp > $@ + xsltproc $(top_srcdir)/fence/agents/lib/fence2wiki.xsl .$@.tmp | grep -v ' $(@:%.8=%.wiki) + +clean-man: + rm -f *.8 .*.8.tmp *.wiki + +check: $(TARGET:%=xml-check.%) $(SYMTARGET:%=xml-check.%) $(TARGET:%=delay-check.%) $(TARGET:%=rng-check.%) + +xml-check.%: % + $(eval INPUT=$(subst xml-check.,,$@)) + $(eval TEMPFILE = $(shell mktemp)) + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | $(AWK) $(AWK_VAL) > $(TEMPFILE) + diff $(TEMPFILE) $(DATADIR)/$(INPUT).xml + rm $(TEMPFILE) + +xml-upload.%: % + $(eval INPUT=$(subst xml-upload.,,$@)) + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | $(AWK) $(AWK_VAL) > $(DATADIR)/$(INPUT).xml + +# If test will fail, rerun fence agents to show problems +delay-check.%: % + $(eval INPUT=$(subst delay-check.,,$@)) + test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \ + python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\ + sed 's/\.//' | tail -n 1` -ge 1000 || ( \ + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \ + python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false ) + +rng-check.%: % + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \ + /usr/bin/xsltproc ${abs_top_srcdir}/fence/agents/lib/fence2rng.xsl - | \ + sed -e 's/ rha:description=/ description=/g' -e 's/ rha:name=/ name=/g' | \ + xmllint --nsclean --noout - + +# 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 -Nru fence-agents-4.0.21/fence/agents/scsi/fence_scsi.py fence-agents-4.0.22/fence/agents/scsi/fence_scsi.py --- fence-agents-4.0.21/fence/agents/scsi/fence_scsi.py 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/scsi/fence_scsi.py 2016-01-06 09:45:57.000000000 +0000 @@ -8,6 +8,7 @@ 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 @@ # 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 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_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 @@ 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 @@ 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 @@ #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 -Nru fence-agents-4.0.21/fence/agents/scsi/Makefile.am fence-agents-4.0.22/fence/agents/scsi/Makefile.am --- fence-agents-4.0.21/fence/agents/scsi/Makefile.am 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/scsi/Makefile.am 2016-01-06 09:45:57.000000000 +0000 @@ -7,7 +7,7 @@ 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_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 -Nru fence-agents-4.0.21/fence/agents/scsi/Makefile.in fence-agents-4.0.22/fence/agents/scsi/Makefile.in --- fence-agents-4.0.21/fence/agents/scsi/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/scsi/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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 @@ 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 @@ 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 @@ -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 @@ 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 -Nru fence-agents-4.0.21/fence/agents/vbox/fence_vbox.py fence-agents-4.0.22/fence/agents/vbox/fence_vbox.py --- fence-agents-4.0.21/fence/agents/vbox/fence_vbox.py 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/vbox/fence_vbox.py 2016-01-06 09:45:57.000000000 +0000 @@ -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 = _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 = _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 -Nru fence-agents-4.0.21/fence/agents/vbox/Makefile.am fence-agents-4.0.22/fence/agents/vbox/Makefile.am --- fence-agents-4.0.21/fence/agents/vbox/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/vbox/Makefile.am 2016-01-06 09:45:57.000000000 +0000 @@ -0,0 +1,17 @@ +MAINTAINERCLEANFILES = Makefile.in + +TARGET = fence_vbox + +SRC = $(TARGET).py + +EXTRA_DIST = $(SRC) + +sbin_SCRIPTS = $(TARGET) + +man_MANS = $(TARGET).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 diff -Nru fence-agents-4.0.21/fence/agents/vbox/Makefile.in fence-agents-4.0.22/fence/agents/vbox/Makefile.in --- fence-agents-4.0.21/fence/agents/vbox/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/vbox/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -0,0 +1,669 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# 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, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +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 \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +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 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/make/ac_python_module.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__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$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_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +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@ +AMTAR = @AMTAR@ +AMTTOOL_PATH = @AMTTOOL_PATH@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CLUSTERDATA = @CLUSTERDATA@ +CLUSTERVARRUN = @CLUSTERVARRUN@ +COROSYNC_CMAPCTL_PATH = @COROSYNC_CMAPCTL_PATH@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFAULT_CONFIG_DIR = @DEFAULT_CONFIG_DIR@ +DEFAULT_CONFIG_FILE = @DEFAULT_CONFIG_FILE@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FENCEAGENTSLIBDIR = @FENCEAGENTSLIBDIR@ +FGREP = @FGREP@ +GNUTLSCLI_PATH = @GNUTLSCLI_PATH@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +IPMITOOL_PATH = @IPMITOOL_PATH@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOGDIR = @LOGDIR@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +MPATH_PATH = @MPATH_PATH@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NOVA_PATH = @NOVA_PATH@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +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@ +SG_TURS_PATH = @SG_TURS_PATH@ +SHELL = @SHELL@ +SNMPBIN = @SNMPBIN@ +SNMPGET_PATH = @SNMPGET_PATH@ +SNMPSET_PATH = @SNMPSET_PATH@ +SNMPWALK_PATH = @SNMPWALK_PATH@ +SSH_PATH = @SSH_PATH@ +STRIP = @STRIP@ +SUDO_PATH = @SUDO_PATH@ +TELNET_PATH = @TELNET_PATH@ +VERSION = @VERSION@ +VGS_PATH = @VGS_PATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +MAINTAINERCLEANFILES = Makefile.in +TARGET = fence_vbox +SRC = $(TARGET).py +EXTRA_DIST = $(SRC) +sbin_SCRIPTS = $(TARGET) +man_MANS = $(TARGET).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: +$(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 \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fence/agents/vbox/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu fence/agents/vbox/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + 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 $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-sbinSCRIPTS: $(sbin_SCRIPTS) + @$(NORMAL_INSTALL) + @list='$(sbin_SCRIPTS)'; 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 \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n' \ + -e 'h;s|.*|.|' \ + -e 'p;x;s,.*/,,;$(transform)' | 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; \ + if (++n[d] == $(am__install_max)) { \ + print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ + else { print "f", d "/" $$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_SCRIPT) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ + $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-sbinSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(sbin_SCRIPTS)'; test -n "$(sbindir)" || exit 0; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 's,.*/,,;$(transform)'`; \ + dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man8: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man8dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.8[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ + done; } + +uninstall-man8: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man8dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.8[a-z]*$$/p'; \ + } | 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: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(SCRIPTS) $(MANS) +installdirs: + for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +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 + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-sbinSCRIPTS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man8 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-man 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 \ + uninstall-am uninstall-man uninstall-man8 \ + uninstall-sbinSCRIPTS + +.PRECIOUS: Makefile + +$(TARGET): $(SRC) + bash $(top_srcdir)/scripts/fenceparse \ + $(top_srcdir)/make/copyright.cf REDHAT_COPYRIGHT \ + $(VERSION) \ + $(abs_srcdir) $@ | \ + sed \ + -e 's#@''FENCEAGENTSLIBDIR@#${FENCEAGENTSLIBDIR}#g' \ + -e 's#@''LOGDIR@#${LOGDIR}#g' \ + -e 's#@''SBINDIR@#${sbindir}#g' \ + -e 's#@''LIBEXECDIR@#${libexecdir}#g' \ + -e 's#@''IPMITOOL_PATH@#${IPMITOOL_PATH}#g' \ + -e 's#@''AMTTOOL_PATH@#${AMTTOOL_PATH}#g' \ + -e 's#@''GNUTLSCLI_PATH@#${GNUTLSCLI_PATH}#g' \ + -e 's#@''COROSYNC_CMAPCTL_PATH@#${COROSYNC_CMAPCTL_PATH}#g' \ + -e 's#@''SG_PERSIST_PATH@#${SG_PERSIST_PATH}#g' \ + -e 's#@''SG_TURS_PATH@#${SG_TURS_PATH}#g' \ + -e 's#@''VGS_PATH@#${VGS_PATH}#g' \ + -e 's#@''SUDO_PATH@#${SUDO_PATH}#g' \ + -e 's#@''SSH_PATH@#${SSH_PATH}#g' \ + -e 's#@''TELNET_PATH@#${TELNET_PATH}#g' \ + -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' \ + -e 's#@''SNMPSET_PATH@#${SNMPSET_PATH}#g' \ + -e 's#@''SNMPGET_PATH@#${SNMPGET_PATH}#g' \ + -e 's#@''NOVA_PATH@#${NOVA_PATH}#g' \ + > $@ + + if [ 0 -eq `echo "$(SRC)" | grep fence_ &> /dev/null; echo $$?` ]; then \ + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib $(top_srcdir)/fence/agents/lib/check_used_options.py $@; \ + else true ; fi + +clean: clean-man + rm -f $(TARGET) $(SYMTARGET) *.pyc *.wiki + +clean-local: clean +%.8: $(TARGET) $(top_srcdir)/fence/agents/lib/fence2man.xsl + set -e && \ + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib \ + python $(@:%.8=%) -o metadata > .$@.tmp && \ + xmllint --noout --relaxng $(abs_srcdir)/../lib/metadata.rng .$@.tmp && \ + xsltproc $(top_srcdir)/fence/agents/lib/fence2man.xsl .$@.tmp > $@ + xsltproc $(top_srcdir)/fence/agents/lib/fence2wiki.xsl .$@.tmp | grep -v ' $(@:%.8=%.wiki) + +clean-man: + rm -f *.8 .*.8.tmp *.wiki + +check: $(TARGET:%=xml-check.%) $(SYMTARGET:%=xml-check.%) $(TARGET:%=delay-check.%) $(TARGET:%=rng-check.%) + +xml-check.%: % + $(eval INPUT=$(subst xml-check.,,$@)) + $(eval TEMPFILE = $(shell mktemp)) + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | $(AWK) $(AWK_VAL) > $(TEMPFILE) + diff $(TEMPFILE) $(DATADIR)/$(INPUT).xml + rm $(TEMPFILE) + +xml-upload.%: % + $(eval INPUT=$(subst xml-upload.,,$@)) + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | $(AWK) $(AWK_VAL) > $(DATADIR)/$(INPUT).xml + +# If test will fail, rerun fence agents to show problems +delay-check.%: % + $(eval INPUT=$(subst delay-check.,,$@)) + test `PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \ + python ./$(INPUT) --delay 10 $(FENCE_TEST_ARGS) -- 2>&1 |\ + sed 's/\.//' | tail -n 1` -ge 1000 || ( \ + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib /usr/bin/time -f "%e" \ + python ./$(INPUT) --delay 0 $(FENCE_TEST_ARGS) --; false ) + +rng-check.%: % + PYTHONPATH=$(abs_srcdir)/../lib:$(abs_builddir)/../lib python ./$(INPUT) -o metadata | \ + /usr/bin/xsltproc ${abs_top_srcdir}/fence/agents/lib/fence2rng.xsl - | \ + sed -e 's/ rha:description=/ description=/g' -e 's/ rha:name=/ name=/g' | \ + xmllint --nsclean --noout - + +# 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 -Nru fence-agents-4.0.21/fence/agents/virsh/Makefile.in fence-agents-4.0.22/fence/agents/virsh/Makefile.in --- fence-agents-4.0.21/fence/agents/virsh/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/virsh/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/vmware/Makefile.in fence-agents-4.0.22/fence/agents/vmware/Makefile.in --- fence-agents-4.0.21/fence/agents/vmware/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/vmware/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/vmware_soap/Makefile.in fence-agents-4.0.22/fence/agents/vmware_soap/Makefile.in --- fence-agents-4.0.21/fence/agents/vmware_soap/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/vmware_soap/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/wti/Makefile.in fence-agents-4.0.22/fence/agents/wti/Makefile.in --- fence-agents-4.0.21/fence/agents/wti/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/wti/Makefile.in 2016-01-13 13:03:43.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/xenapi/Makefile.in fence-agents-4.0.22/fence/agents/xenapi/Makefile.in --- fence-agents-4.0.21/fence/agents/xenapi/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/xenapi/Makefile.in 2016-01-13 13:03:44.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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-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 @@ -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 -Nru fence-agents-4.0.21/fence/agents/zvm/fence_zvm.c fence-agents-4.0.22/fence/agents/zvm/fence_zvm.c --- fence-agents-4.0.21/fence/agents/zvm/fence_zvm.c 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/zvm/fence_zvm.c 2015-09-14 11:14:49.000000000 +0000 @@ -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 + * . + * + * Authors: + * Neale Ferguson + * + */ + +#ifdef __s390__ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#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, "\n"); + fprintf (stdout, "\n"); + fprintf (stdout, ""); + fprintf (stdout, "The fence_zvm agent is intended to be used with with z/VM SMAPI service."); + fprintf (stdout, "\n"); + fprintf (stdout, "http://www.ibm.com\n"); + + fprintf (stdout, "\n"); + + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t%s\n", + "Name of the Virtual Machine to be fenced"); + fprintf (stdout, "\t\n"); + + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t%s\n", + "Name of the SMAPI IUCV Server Virtual Machine"); + fprintf (stdout, "\t\n"); + + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t%s\n", + "Node of the SMAPI IUCV Server Virtual Machine"); + fprintf (stdout, "\t\n"); + + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t%s\n", + "Fencing action"); + fprintf (stdout, "\t\n"); + + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t%s\n", + "Time to delay fencing action in seconds"); + fprintf (stdout, "\t\n"); + + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t\n"); + fprintf (stdout, "\t\t%s\n", + "Print usage"); + fprintf (stdout, "\t\n"); + + fprintf (stdout, "\n"); + + fprintf (stdout, "\n"); + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\n"); + fprintf (stdout, "\t\n"); + fprintf (stdout, "\n"); + + fprintf (stdout, "\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 +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 -Nru fence-agents-4.0.21/fence/agents/zvm/fence_zvm_man_page fence-agents-4.0.22/fence/agents/zvm/fence_zvm_man_page --- fence-agents-4.0.21/fence/agents/zvm/fence_zvm_man_page 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/zvm/fence_zvm_man_page 2016-01-06 09:45:57.000000000 +0000 @@ -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 ). This authorizes use of IUCV +to connect to the SMAPI server. diff -Nru fence-agents-4.0.21/fence/agents/zvm/Makefile.am fence-agents-4.0.22/fence/agents/zvm/Makefile.am --- fence-agents-4.0.21/fence/agents/zvm/Makefile.am 2015-07-10 08:47:36.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/zvm/Makefile.am 2016-01-06 12:55:48.000000000 +0000 @@ -4,14 +4,24 @@ 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 -Nru fence-agents-4.0.21/fence/agents/zvm/Makefile.in fence-agents-4.0.22/fence/agents/zvm/Makefile.in --- fence-agents-4.0.21/fence/agents/zvm/Makefile.in 2015-09-03 14:49:32.000000000 +0000 +++ fence-agents-4.0.22/fence/agents/zvm/Makefile.in 2016-01-13 13:03:44.000000000 +0000 @@ -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 @@ 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 @@ $(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_@AM_V@) +am__v_lt_ = $(am__v_lt_@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 @@ || { 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_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -136,8 +157,30 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = -SOURCES = -DIST_SOURCES = +DEFAULT_INCLUDES = -I.@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_@AM_V@) +am__v_CC_ = $(am__v_CC_@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_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@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 @@ 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_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 @@ 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 @@ 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 @@ 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 @@ $(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 @@ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(sbindir)'; $(am__uninstall_files_from_dir) +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fence_zvm-fence_zvm.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@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@ +@am__fastdepCC_FALSE@ $(AM_V_CC@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@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +fence_zvm-fence_zvm.o: fence_zvm.c +@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 +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fence_zvm-fence_zvm.Tpo $(DEPDIR)/fence_zvm-fence_zvm.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fence_zvm.c' object='fence_zvm-fence_zvm.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@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 +@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` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fence_zvm-fence_zvm.Tpo $(DEPDIR)/fence_zvm-fence_zvm.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fence_zvm.c' object='fence_zvm-fence_zvm.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@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 @@ } | 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: +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 -cscope cscopelist: +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 @@ 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 @@ @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-am: -install-exec-am: install-sbinSCRIPTS +install-exec-am: install-sbinPROGRAMS install-sbinSCRIPTS install-html: install-html-am @@ -539,12 +752,14 @@ 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-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 @@ -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 @@ 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 -Nru fence-agents-4.0.21/fence/Makefile.in fence-agents-4.0.22/fence/Makefile.in --- fence-agents-4.0.21/fence/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/fence/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ 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 -Nru fence-agents-4.0.21/install-sh fence-agents-4.0.22/install-sh --- fence-agents-4.0.21/install-sh 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/install-sh 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ # 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 @@ 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 @@ 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 @@ -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 @@ 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 @@ *[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 @@ # 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 @@ 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 @@ # 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 + 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/ + 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 @@ # 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 @@ # 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 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 rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 diff -Nru fence-agents-4.0.21/make/clusterautoconfig.h.in fence-agents-4.0.22/make/clusterautoconfig.h.in --- fence-agents-4.0.21/make/clusterautoconfig.h.in 2015-09-03 14:49:38.000000000 +0000 +++ fence-agents-4.0.22/make/clusterautoconfig.h.in 2016-01-13 13:03:41.000000000 +0000 @@ -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 -Nru fence-agents-4.0.21/make/fencebuild.mk fence-agents-4.0.22/make/fencebuild.mk --- fence-agents-4.0.21/make/fencebuild.mk 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/make/fencebuild.mk 2016-01-06 09:45:57.000000000 +0000 @@ -19,6 +19,7 @@ -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 -Nru fence-agents-4.0.21/Makefile.in fence-agents-4.0.22/Makefile.in --- fence-agents-4.0.21/Makefile.in 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/Makefile.in 2016-01-13 13:03:42.000000000 +0000 @@ -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 @@ 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 @@ $(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 @@ 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_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 @@ 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 @@ $(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 @@ $(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 @@ 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 @@ 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 -Nru fence-agents-4.0.21/missing fence-agents-4.0.22/missing --- fence-agents-4.0.21/missing 2015-09-03 14:49:30.000000000 +0000 +++ fence-agents-4.0.22/missing 2016-01-13 13:03:42.000000000 +0000 @@ -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 , 1996. # This program is free software; you can redistribute it and/or modify @@ -160,7 +160,7 @@ ;; 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 -Nru fence-agents-4.0.21/.tarball-version fence-agents-4.0.22/.tarball-version --- fence-agents-4.0.21/.tarball-version 2015-09-03 14:49:39.000000000 +0000 +++ fence-agents-4.0.22/.tarball-version 2016-01-13 13:03:54.000000000 +0000 @@ -1 +1 @@ -4.0.21 +4.0.22 diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_compute.xml fence-agents-4.0.22/tests/data/metadata/fence_compute.xml --- fence-agents-4.0.21/tests/data/metadata/fence_compute.xml 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_compute.xml 2016-01-06 09:45:57.000000000 +0000 @@ -1,11 +1,11 @@ - -fence_nova_host is a Nova fencing notification agent + +Used to tell Nova that compute nodes are down and to reschedule flagged instances - + Fencing action @@ -48,6 +48,11 @@ DNS domain in which hosts live + + + + Only evacuate flagged instances + @@ -55,7 +60,7 @@ - + Only record the target as needing evacuation @@ -115,9 +120,8 @@ - + - diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_docker.xml fence-agents-4.0.22/tests/data/metadata/fence_docker.xml --- fence-agents-4.0.21/tests/data/metadata/fence_docker.xml 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_docker.xml 2016-01-06 09:45:57.000000000 +0000 @@ -131,6 +131,11 @@ Path to gnutls-cli binary + + + + Version of Docker Remote API (default: 1.11) + diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_idrac.xml fence-agents-4.0.22/tests/data/metadata/fence_idrac.xml --- fence-agents-4.0.21/tests/data/metadata/fence_idrac.xml 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_idrac.xml 2016-01-06 09:45:57.000000000 +0000 @@ -136,7 +136,7 @@ - + Wait X seconds after issuing ON/OFF @@ -168,5 +168,6 @@ + diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_ilo3.xml fence-agents-4.0.22/tests/data/metadata/fence_ilo3.xml --- fence-agents-4.0.21/tests/data/metadata/fence_ilo3.xml 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_ilo3.xml 2016-01-06 09:45:57.000000000 +0000 @@ -168,5 +168,6 @@ + diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_ilo4.xml fence-agents-4.0.22/tests/data/metadata/fence_ilo4.xml --- fence-agents-4.0.21/tests/data/metadata/fence_ilo4.xml 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_ilo4.xml 2016-01-06 09:45:57.000000000 +0000 @@ -136,7 +136,7 @@ - + Wait X seconds after issuing ON/OFF @@ -168,5 +168,6 @@ + diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_imm.xml fence-agents-4.0.22/tests/data/metadata/fence_imm.xml --- fence-agents-4.0.21/tests/data/metadata/fence_imm.xml 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_imm.xml 2016-01-06 09:45:57.000000000 +0000 @@ -136,7 +136,7 @@ - + Wait X seconds after issuing ON/OFF @@ -168,5 +168,6 @@ + diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_ipmilan.xml fence-agents-4.0.22/tests/data/metadata/fence_ipmilan.xml --- fence-agents-4.0.21/tests/data/metadata/fence_ipmilan.xml 2015-09-03 13:10:54.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_ipmilan.xml 2016-01-06 09:45:57.000000000 +0000 @@ -136,7 +136,7 @@ - + Wait X seconds after issuing ON/OFF @@ -168,5 +168,6 @@ + diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_sbd.xml fence-agents-4.0.22/tests/data/metadata/fence_sbd.xml --- fence-agents-4.0.21/tests/data/metadata/fence_sbd.xml 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_sbd.xml 2016-01-06 09:45:57.000000000 +0000 @@ -0,0 +1,101 @@ + + +fence_sbd is I/O Fencing agent which can be used in environments where sbd can be used (shared storage). + + + + + + Fencing action + + + + + SBD Device + + + + + + Method to fence + + + + + Physical plug number on device, UUID or identification of machine + + + + + Verbose mode + + + + + Write debug information to given file + + + + + Display version information and exit + + + + + Display help and exit + + + + + Separator for CSV created by 'list' operation + + + + + Wait X seconds before fencing is started + + + + + Wait X seconds for cmd prompt after login + + + + + Test X seconds for status change after ON/OFF + + + + + Wait X seconds after issuing ON/OFF + + + + + Path to SBD binary + + + + + Wait X seconds for cmd prompt after issuing command + + + + + Count of attempts to retry power on + + + + + + + + + + + + + + diff -Nru fence-agents-4.0.21/tests/data/metadata/fence_vbox.xml fence-agents-4.0.22/tests/data/metadata/fence_vbox.xml --- fence-agents-4.0.21/tests/data/metadata/fence_vbox.xml 1970-01-01 00:00:00.000000000 +0000 +++ fence-agents-4.0.22/tests/data/metadata/fence_vbox.xml 2016-01-06 09:45:57.000000000 +0000 @@ -0,0 +1,160 @@ + + +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. +https://www.virtualbox.org/ + + + + + Fencing action + + + + + Force Python regex for command prompt + + + + + Identity file (private key) for SSH + + + + + Forces agent to use IPv4 addresses only + + + + + Forces agent to use IPv6 addresses only + + + + + IP address or hostname of fencing device + + + + + TCP/UDP port to use for connection with device + + + + + Login name + + + + + Login password or passphrase + + + + + Script to run to retrieve password + + + + + Physical plug number on device, UUID or identification of machine + + + + + Use SSH connection + + + + + SSH options to use + + + + + Verbose mode + + + + + Write debug information to given file + + + + + Display version information and exit + + + + + Display help and exit + + + + + Separator for CSV created by 'list' operation + + + + + Wait X seconds before fencing is started + + + + + Wait X seconds for cmd prompt after login + + + + + Missing port returns OFF instead of failure + + + + + Test X seconds for status change after ON/OFF + + + + + Wait X seconds after issuing ON/OFF + + + + + Wait X seconds for cmd prompt after issuing command + + + + + Count of attempts to retry power on + + + + + Use sudo (without password) when calling 3rd party software + + + + + Path to ssh binary + + + + + Path to sudo binary + + + + + + + + + + + + + + diff -Nru fence-agents-4.0.21/.version fence-agents-4.0.22/.version --- fence-agents-4.0.21/.version 2015-09-03 14:49:38.000000000 +0000 +++ fence-agents-4.0.22/.version 2016-01-13 13:03:52.000000000 +0000 @@ -1 +1 @@ -4.0.21 +4.0.22