diff --git a/configure.ac b/configure.ac
index e3e87b40..1bad8e3b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,575 +1,563 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.63])
 
 # TODO: port .gitarchiver
 
 AC_INIT([fence-agents],
 	[m4_esyscmd([make/git-version-gen .tarball-version])],
 	[developers@clusterlabs.org])
 
 AC_CONFIG_AUX_DIR([.])
 
 # Don't let AC_PROC_CC (invoked by AC_USE_SYSTEM_EXTENSIONS) replace
 # undefined CFLAGS with -g -O2, overriding our special OPT_CFLAGS.
 : ${CFLAGS=""}
 AC_USE_SYSTEM_EXTENSIONS
 AM_INIT_AUTOMAKE([1.13 dist-bzip2 dist-xz color-tests -Wno-portability subdir-objects])
 
 # Sanitize path
 
 if test "$prefix" = "NONE"; then
 	prefix="/usr"
 	if test "$localstatedir" = "\${prefix}/var"; then
 		localstatedir="/var"
 	fi
 	if test "$sysconfdir" = "\${prefix}/etc"; then
 		sysconfdir="/etc"
 	fi
 	if test "$libdir" = "\${exec_prefix}/lib"; then
 		if test -e /usr/lib64; then
 			libdir="/usr/lib64"
 		else
 			libdir="/usr/lib"
 		fi
 	fi
 fi
 
 case $exec_prefix in
   NONE)   exec_prefix=$prefix;;
   prefix) exec_prefix=$prefix;;
 esac
 
 # It is necessary to have this done before libtool does linker detection.
 # See also: https://github.com/kronosnet/kronosnet/issues/107
 # --as-needed: Modern systems have builtin ceil() making -lm superfluous but
 # AC_SEARCH_LIBS can't detect this because it tests with a false prototype
 AX_CHECK_LINK_FLAG([-Wl,--enable-new-dtags],
 		   [AM_LDFLAGS=-Wl,--enable-new-dtags],
 		   [AC_MSG_ERROR(["Linker support for --enable-new-dtags is required"])])
 AX_CHECK_LINK_FLAG([-Wl,--as-needed], [AM_LDFLAGS="$AM_LDFLAGS -Wl,--as-needed"])
 
 LT_PREREQ([2.2.6])
 LT_INIT
 
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([lib/fencing.py.py])
 AC_CONFIG_HEADERS([make/config.h])
 
 AC_CANONICAL_HOST
 AC_PROG_LIBTOOL
 
 AC_LANG([C])
 
 # Checks for programs.
 
 # check stolen from gnulib/m4/gnu-make.m4
 if ! ${MAKE-make} --version /cannot/make/this >/dev/null 2>&1; then
 	AC_MSG_ERROR([you don't seem to have GNU make; it is required])
 fi
 
 AC_PROG_CC
 AM_PROG_CC_C_O
 AC_PROG_GCC_TRADITIONAL
 AC_PROG_LN_S
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 AC_PROG_AWK
 AC_PROG_CXX
 AC_PROG_YACC
 AC_PROG_LEX
 PKG_PROG_PKG_CONFIG
 
 ## local helper functions
 
 # this function checks if CC support options passed as
 # args. Global CFLAGS are ignored during this test.
 cc_supports_flag() {
 	local CFLAGS="-Werror $@"
 	AC_MSG_CHECKING([whether $CC supports "$@"])
 	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[ ]])],
 			  [RC=0; AC_MSG_RESULT([yes])],
 			  [RC=1; AC_MSG_RESULT([no])])
 	return $RC
 }
 
 # Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
 AC_HEADER_TIME
 AC_CHECK_HEADERS([arpa/inet.h fcntl.h malloc.h netdb.h netinet/in.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h syslog.h termios.h unistd.h libintl.h limits.h netdb.h stddef.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_INLINE
 AC_C_CONST
 AC_TYPE_SIZE_T
 AC_TYPE_SSIZE_T
 AC_TYPE_UINT32_T
 AC_TYPE_OFF_T
 AC_TYPE_SIGNAL
 
 # Checks for library functions.
 AC_FUNC_FORK
 AC_FUNC_MALLOC
 AC_FUNC_CLOSEDIR_VOID
 AC_FUNC_MEMCMP
 AC_FUNC_SELECT_ARGTYPES
 AC_FUNC_STAT
 AC_CHECK_FUNCS([alarm atexit bzero dup2 memmove memset select socket strcasecmp strchr strdup strerror strtol gettimeofday])
 
 # local options
 AC_ARG_ENABLE([debug],
 	[  --enable-debug          enable debug build. ],
 	[ default="no" ])
 
 AC_ARG_WITH([fenceagentslibdir],
 	[  --with-fenceagentslibdir=PATH
                           installation path for fence library. ],
 	[ FENCEAGENTSLIBDIR="$withval" ],
 	[ FENCEAGENTSLIBDIR="${datadir}/fence" ])
 
 AC_ARG_WITH([agents],
 	[  --with-agents=LIST
                           list of agents to build/ship (default: all). ],
 	[ AGENTS_LIST="$withval" ],
 	[ AGENTS_LIST="all" ])
 
 if test "x$AGENTS_LIST" = x; then
 	AC_ERROR([No agents selected])
 fi
 
 FENCE_KDUMP=0
 if echo "$AGENTS_LIST" | grep -q -E "all|kdump"; then
 	case "$host_os" in
 		*bsd*)
 			;;
 		*)
 			FENCE_KDUMP=1
 			;;
 	esac
 	AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s/kdump( |$)//")
 fi
 
 FENCE_MANUAL=0
 if echo "$AGENTS_LIST" | grep -q -E "all|manual"; then
 	FENCE_MANUAL=1
 	AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s/manual( |$)//")
 fi
 
 FENCE_MPATH=0
 if echo "$AGENTS_LIST" | grep -q -E "all|mpath"; then
 	FENCE_MPATH=1
 fi
 
 FENCE_SCSI=0
 if echo "$AGENTS_LIST" | grep -q -E "all|scsi"; then
 	FENCE_SCSI=1
 fi
 
 FENCE_ZVM=0
 if echo "$AGENTS_LIST" | grep -q -E "zvm( |$)"; then
 	FENCE_ZVM=1
 fi
 
 FENCE_VIRT=0
 if echo "$AGENTS_LIST" | grep -q -E "all|(^| )virt( |$)"; then
 	AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s/(^| )virt( |$)//")
 	case "$host_os" in
 		*bsd*)
 			;;
 		*)
 			FENCE_VIRT=1
 
 			VIRT_AM_LDFLAGS="$AM_LDFLAGS -fPIC -fPIE -Wl,-z,now"
 			AC_SUBST([VIRT_AM_LDFLAGS])
 
 			VIRT_AM_CFLAGS="-fPIC -fPIE -I\$(top_srcdir)/agents/virt/include -D_GNU_SOURCE"
 			AC_SUBST([VIRT_AM_CFLAGS])
 
 			VIRT_COMMON_LDFLAGS="-Wl,-wrap,syslog,-wrap,closelog"
 			AC_SUBST([VIRT_COMMON_LDFLAGS])
 
 			VIRT_COMMON_LIBS="-Wl,-Bstatic -L\$(top_builddir)/agents/virt/common -lfence_virt -Wl,-Bdynamic"
 			AC_SUBST([VIRT_COMMON_LIBS])
 
 			VIRT_CONFIG_LIBS="-L\$(top_builddir)/agents/virt/config -lsimpleconfig"
 			AC_SUBST([VIRT_CONFIG_LIBS])
 
 			# Checks for libraries.
 			AX_PTHREAD(,[AC_MSG_ERROR([POSIX threads support is required])])
 			PKG_CHECK_MODULES([nss], [nss])
 			PKG_CHECK_MODULES([xml2], [libxml-2.0])
 			PKG_CHECK_MODULES([uuid], [uuid])
 			saved_LIBS="$LIBS"
 			LIBS=
 			AC_SEARCH_LIBS([dlopen], [dl dld], , [AC_MSG_ERROR([dlopen not found])])
 			AC_SUBST([dl_LIBS], [$LIBS])
 			LIBS="$saved_LIBS"
 			;;
 	esac
 fi
 
 if test "x$AGENTS_LIST" != xall; then
 	for j in $AGENTS_LIST; do
 		if ! test -f agents/$j/fence_$j*.py; then
 			AC_ERROR([Agent $j does not exist])
 		fi
 		AGENTS_LIST=`echo "$AGENTS_LIST" | sed -E -e "s#$j([^_/]|$)#$j/fence_$j\1#g" -e "s#zvm/fence_zvm( |$)#zvm/fence_zvmip\1#g"`
 	done
 fi
 
 if test "x$AGENTS_LIST" = xall; then
 	AGENTS_LIST=`find $srcdir/agents -mindepth 2 -maxdepth 2 -name 'fence_*.py' -print0 | xargs -0 | sed -E -e 's#[^ ]*/agents/##g' -e 's#lib/[A-Za-z_.]*( |$)##g' -e 's#nss_wrapper/[A-Za-z_.]*( |$)##g' -e 's#autodetect/[A-Za-z_.]*( |$)##g'`
 fi
 
 XENAPILIB=0
 if echo "$AGENTS_LIST" | grep -q xenapi; then
 	XENAPILIB=1
 fi
 
 ## random vars
 
 LOGDIR=${localstatedir}/log/cluster
 CLUSTERVARRUN=${localstatedir}/run/cluster
 CLUSTERDATA=${datadir}/cluster
 
 AC_PATH_PROGS(XMLLINT, xmllint)
 AM_CONDITIONAL(BUILD_DOC, test "x$XMLLINT" != "x" )
 if test "x$XMLLINT" = "x"; then
    AC_MSG_WARN([xmllint not installed, unable to (re-)build manual pages])
    exit 1
 fi
 AC_SUBST(XMLLINT)
 
 AC_PATH_PROGS(XSLTPROC, xsltproc)
 AM_CONDITIONAL(BUILD_DOC, test "x$XSLTPROC" != "x" )
 if test "x$XSLTPROC" = "x"; then
    AC_MSG_WARN([xsltproc not installed, unable to (re-)build manual pages])
    exit 1
 fi
 AC_SUBST(XSLTPROC)
 
 AM_PATH_PYTHON
 if test -z "$PYTHON"; then
     echo "*** Essential program python not found" 1>&2
     exit 1
 fi
 
 dnl Ensure PYTHON is an absolute path
 AC_PATH_PROG([PYTHON], [$PYTHON])
 
 AC_PYTHON_MODULE(pexpect, 1)
 AC_PYTHON_MODULE(pycurl, 1)
 AC_PYTHON_MODULE(requests, 1)
 
 if echo "$AGENTS_LIST" | grep -q amt_ws; then
 	AC_PYTHON_MODULE(pywsman)
 	if test "x${HAVE_PYMOD_PYWSMAN}" != xyes; then
 		AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s#amt_ws/fence_amt_ws.py( |$)##")
 		AC_MSG_WARN("Not building fence_amt_ws")
 	fi
 fi
-if echo "$AGENTS_LIST" | grep -q aws; then
-	AC_PYTHON_MODULE(boto3)
-	if test "x${HAVE_PYMOD_BOTO3}" != xyes; then
-		AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s#aws/fence_aws.py( |$)##")
-		AC_MSG_WARN("Not building fence_aws")
-	fi
-fi
 if echo "$AGENTS_LIST" | grep -q -E "ovh|vmware_soap"; then
 	AC_PYTHON_MODULE(suds)
 	if test "x${HAVE_PYMOD_SUDS}" != xyes; then
 		AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s#(ovh/fence_ovh|vmware_soap/fence_vmware_soap).py( |$)##g")
 		AC_MSG_WARN("Not building fence_ovh and fence_vmware_soap")
 	fi
 fi
 if echo "$AGENTS_LIST" | grep -q gce; then
-	AC_PYTHON_MODULE(googleapiclient)
 	AC_PYTHON_MODULE(oauth2client)
-	if test "x${HAVE_PYMOD_GOOGLEAPICLIENT}" != xyes; then
-		AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s#gce/fence_gce.py( |$)##")
-		AC_MSG_WARN("Not building fence_ovh and fence_gce")
-	fi
 fi
 
 ## path to 3rd-party binaries
 AC_PATH_PROG([IPMITOOL_PATH], [ipmitool], [/usr/bin/ipmitool])
 AC_PATH_PROG([OPENSTACK_PATH], [openstack], [/usr/bin/openstack])
 AC_PATH_PROG([AMTTOOL_PATH], [amttool], [/usr/bin/amttool])
 AC_PATH_PROG([GNUTLSCLI_PATH], [gnutlscli], [/usr/bin/gnutls-cli])
 AC_PATH_PROG([COROSYNC_CMAPCTL_PATH], [corosync-cmapctl], [/usr/sbin/corosync-cmapctl])
 AC_PATH_PROG([SG_PERSIST_PATH], [sg_persist], [/usr/bin/sg_persist])
 AC_PATH_PROG([SG_TURS_PATH], [sg_turs], [/usr/bin/sg_turs])
 AC_PATH_PROG([VGS_PATH], [vgs], [/usr/sbin/vgs])
 AC_PATH_PROG([SUDO_PATH], [sudo], [/usr/bin/sudo])
 AC_PATH_PROG([SSH_PATH], [ssh], [/usr/bin/ssh])
 AC_PATH_PROG([TELNET_PATH], [telnet], [/usr/bin/telnet])
 AC_PATH_PROG([MPATH_PATH], [mpathpersist], [/usr/sbin/mpathpersist])
 AC_PATH_PROG([SBD_PATH], [sbd], [/sbin/sbd])
 AC_PATH_PROG([SUDO_PATH], [sudo], [/usr/bin/sudo])
 AC_PATH_PROG([SNMPWALK_PATH], [snmpwalk], [/usr/bin/snmpwalk])
 AC_PATH_PROG([SNMPSET_PATH], [snmpset], [/usr/bin/snmpset])
 AC_PATH_PROG([SNMPGET_PATH], [snmpget], [/usr/bin/snmpget])
 AC_PATH_PROG([NOVA_PATH], [nova], [/usr/bin/nova])
 AC_PATH_PROG([POWERMAN_PATH], [powerman], [/usr/bin/powerman])
 
 AC_PATH_PROG([PING_CMD], [ping])
 AC_PATH_PROG([PING6_CMD], [ping6])
 AC_PATH_PROG([PING4_CMD], [ping4])
 
 if test "x${ac_cv_path_PING_CMD}" = x; then
 	# assume multicall-ping just not available in build-environment
 	PING_CMD="/bin/ping"
 	PING4_CMD="/bin/ping -4"
 	PING6_CMD="/bin/ping -6"
 elif test "x${ac_cv_path_PING6_CMD}" = x; then
 	# just IPv4
 	PING4_CMD="${ac_cv_path_PING_CMD}"
 elif test -L ${ac_cv_path_PING6_CMD}; then
 	# assume multicall-ping
 	PING4_CMD="${ac_cv_path_PING_CMD} -4"
 else
 	# ping is just IPv4
 	PING4_CMD="${ac_cv_path_PING_CMD}"
 fi
 
 
 ## do subst
 
 AC_SUBST([LOGDIR])
 AC_SUBST([CLUSTERVARRUN])
 AC_SUBST([CLUSTERDATA])
 AC_SUBST([FENCEAGENTSLIBDIR])
 AC_SUBST([SNMPBIN])
 AC_SUBST([AGENTS_LIST])
 AM_CONDITIONAL(BUILD_FENCE_KDUMP, test $FENCE_KDUMP -eq 1)
 AM_CONDITIONAL(BUILD_FENCE_MANUAL, test $FENCE_MANUAL -eq 1)
 AM_CONDITIONAL(BUILD_FENCE_MPATH, test $FENCE_MPATH -eq 1)
 AM_CONDITIONAL(BUILD_FENCE_SCSI, test $FENCE_SCSI -eq 1)
 AM_CONDITIONAL(BUILD_FENCE_ZVM, test $FENCE_ZVM -eq 1)
 AM_CONDITIONAL(BUILD_FENCE_VIRT, test $FENCE_VIRT -eq 1)
 AM_CONDITIONAL(BUILD_XENAPILIB, test $XENAPILIB -eq 1)
 
 AC_SUBST([IPMITOOL_PATH])
 AC_SUBST([OPENSTACK_PATH])
 AC_SUBST([AMTTOOL_PATH])
 AC_SUBST([COROSYNC_CMAPCTL_PATH])
 AC_SUBST([SG_PERSIST_PATH])
 AC_SUBST([SG_TURS_PATH])
 AC_SUBST([VGS_PATH])
 AC_SUBST([POWERMAN_PATH])
 
 ## fence-virt stuff
 
 if test "x$FENCE_VIRT" = "x1"; then
 	sysconf=$(eval echo $sysconfdir)
 	AC_DEFINE_UNQUOTED([SYSCONFDIR], ["$sysconf"], [Default config dir])
 fi
 
 ### The following options only are used when $modules="yes" ###
 
 # libvirt plugin: Enabled by default
 AC_ARG_ENABLE(libvirt-plugin,
 [AS_HELP_STRING([--disable-libvirt-plugin],
 		[Disable local-mode libvirt backend plugin])],
 [ modlibvirt=$enableval ], [ modlibvirt=yes ])
 
 AM_CONDITIONAL([modlibvirt], [test "x$modlibvirt" == "xyes"])
 if test "x$modlibvirt" == "xyes" && test "x$FENCE_VIRT" = "x1"; then
 	PKG_CHECK_MODULES([virt], [libvirt])
 fi
 
 # cpg plugin: Disabled by default
 AC_ARG_ENABLE(cpg-plugin,
 [AS_HELP_STRING([--disable-cpg-plugin],
 		[Enable CPG/libvirt backend plugin])],
 [ modcpg=$enableval ], [ modcpg=yes ])
 
 AM_CONDITIONAL([modcpg], [test "x$modcpg" == "xyes"])
 
 if test "x$modcpg" == "xyes" && test "x$FENCE_VIRT" = "x1"; then
 	PKG_CHECK_MODULES([cpg], [libcpg])
 fi
 
 # multicast plugin: Enabled by default
 AC_ARG_ENABLE(multicast-plugin,
 [AS_HELP_STRING([--disable-multicast-plugin],
 		[Disable multicast listener plugin])],
 [ modmulticast=$enableval ], [ modmulticast=yes ])
 
 AM_CONDITIONAL([modmulticast], [test "x$modmulticast" == "xyes"])
 
 # tcp plugin: Enabled by default
 AC_ARG_ENABLE(tcp-plugin,
 [AS_HELP_STRING([--disable-tcp-plugin],
 		[Disable TCP listener plugin])],
 [ modtcp=$enableval ], [ modtcp=yes ])
 
 AM_CONDITIONAL([modtcp], [test "x$modtcp" == "xyes"])
 
 # serial/libvirt plugin: Enabled by default
 AC_ARG_ENABLE(serial-plugin,
 [AS_HELP_STRING([--disable-serial-plugin],
 		[Disable serial listener plugin])],
 [ modserial=$enableval ], [ modserial=yes ])
 
 AM_CONDITIONAL([modserial], [test "x$modserial" == "xyes"])
 
 # vsock plugin: Enabled by default
 AC_ARG_ENABLE(vsock-plugin,
 [AS_HELP_STRING([--disable-vsock-plugin],
 		[Disable TCP listener plugin])],
 [ modvsock=$enableval ], [ modvsock=yes ])
 
 AM_CONDITIONAL([modvsock], [test "x$modvsock" == "xyes"])
 
 #
 # Compatibility symlink: enabled by default
 #
 AC_ARG_ENABLE(xvm-compat,
 [AS_HELP_STRING([--disable-xvm-compat],
 		[Disable fence_xvm symlink compatibility])],
 [ xvmcompat=$enableval ], [ xvmcompat=yes ])
 
 AM_CONDITIONAL([xvmcompat], [test "x$xvmcompat" == "xyes"])
 
 # Try to detect the appropriate conf dir. Several systems have both /etc/default
 # and /etc/sysconfig but latter is always primary.
 AC_ARG_VAR(initconfdir, [directory for initscripts configuration])
 if test "x$initconfdir" = x && test "x$FENCE_VIRT" = "x1"; then
 	AC_CHECK_FILE(/etc/conf.d, [initconfdir='$(sysconfdir)/conf.d}'], [# Gentoo/Arch
 	AC_CHECK_FILE(/etc/sysconfig, [initconfdir='$(sysconfdir)/sysconfig'], [# RedHat/Fedora/Slax/Mandriva/S
 	AC_CHECK_FILE(/etc/default, [initconfdir='$(sysconfdir)/default'], [# Debian/Ubuntu
 	AC_MSG_ERROR([could not determine system initscripts config dir; please set initconfdir manually.])])])])
 fi
 
 ## *FLAGS handling
 
 ENV_CFLAGS="$CFLAGS"
 ENV_CPPFLAGS="$CPPFLAGS"
 ENV_LDFLAGS="$LDFLAGS"
 
 # debug build stuff
 if test "x${enable_debug}" = xyes; then
 	AC_DEFINE_UNQUOTED([DEBUG], [1], [Compiling Debugging code])
 	OPT_CFLAGS="-O0"
 else
 	OPT_CFLAGS="-O2"
 fi
 
 # gdb flags
 if test "x${GCC}" = xyes; then
 	GDB_FLAGS="-ggdb3"
 else
 	GDB_FLAGS="-g"
 fi
 
 # extra warnings
 EXTRA_WARNINGS=""
 
 WARNLIST="
 	error
 	all
 	shadow
 	missing-prototypes
 	missing-declarations
 	strict-prototypes
 	declaration-after-statement
 	pointer-arith
 	write-strings
 	cast-align
 	bad-function-cast
 	missing-format-attribute
 	format=2
 	format-security
 	format-nonliteral
 	no-long-long
 	unsigned-char
 	gnu89-inline
 	no-strict-aliasing
 	"
 
 for j in $WARNLIST; do
 	if cc_supports_flag -W$j; then
 		EXTRA_WARNINGS="$EXTRA_WARNINGS -W$j";
 	fi
 done
 
 AM_CFLAGS="$ENV_CFLAGS $OPT_CFLAGS $GDB_FLAGS $EXTRA_WARNINGS"
 
 AC_SUBST([AM_CFLAGS])
 
 CPPFLAGS="-I\$(top_builddir)/make -I\$(top_srcdir)/make -I. $ENV_CPPFLAGS"
 LDFLAGS="$ENV_LDFLAGS"
 
 AM_EXTRA_RECURSIVE_TARGETS([delay-check xml-check xml-upload])
 
 AX_PROG_DATE
 AS_IF([test "$ax_cv_prog_date_gnu_date:$ax_cv_prog_date_gnu_utc" = yes:yes],
 	[UTC_DATE_AT="date -u -d@"],
 	[AS_IF([test "x$ax_cv_prog_date_bsd_date" = xyes],
 		[UTC_DATE_AT="date -u -r"],
 		[AC_MSG_ERROR([date utility unable to convert epoch to UTC])])])
 AC_SUBST([UTC_DATE_AT])
 
 AC_ARG_VAR([SOURCE_EPOCH],[last modification date of the source])
 AC_MSG_NOTICE([trying to determine source epoch])
 AC_MSG_CHECKING([for source epoch in \$SOURCE_EPOCH])
 AS_IF([test -n "$SOURCE_EPOCH"],
 	[AC_MSG_RESULT([yes])],
 	[AC_MSG_RESULT([no])
 	 AC_MSG_CHECKING([for source epoch in source_epoch file])
 	 AS_IF([test -e "$srcdir/source_epoch"],
 		[read SOURCE_EPOCH <"$srcdir/source_epoch"
 		 AC_MSG_RESULT([yes])],
 		[AC_MSG_RESULT([no])
 		 AC_MSG_CHECKING([for source epoch baked in by gitattributes export-subst])
 		 SOURCE_EPOCH='$Format:%at$' # template for rewriting by git-archive
 		 AS_CASE([$SOURCE_EPOCH],
 			[?Format:*], # was not rewritten
 				[AC_MSG_RESULT([no])
 				 AC_MSG_CHECKING([for source epoch in \$SOURCE_DATE_EPOCH])
 				 AS_IF([test "x$SOURCE_DATE_EPOCH" != x],
 					[SOURCE_EPOCH="$SOURCE_DATE_EPOCH"
 					 AC_MSG_RESULT([yes])],
 					[AC_MSG_RESULT([no])
 					 AC_MSG_CHECKING([whether git log can provide a source epoch])
 					 SOURCE_EPOCH=f${SOURCE_EPOCH#\$F} # convert into git log --pretty format
 					 SOURCE_EPOCH=$(cd "$srcdir" && git log -1 --pretty=${SOURCE_EPOCH%$} 2>/dev/null)
 					 AS_IF([test -n "$SOURCE_EPOCH"],
 						[AC_MSG_RESULT([yes])],
 						[AC_MSG_RESULT([no, using current time and breaking reproducibility])
 						 SOURCE_EPOCH=$(date +%s)])])],
 			[AC_MSG_RESULT([yes])]
 		 )])
 	])
 AC_MSG_NOTICE([using source epoch $($UTC_DATE_AT$SOURCE_EPOCH +'%F %T %Z')])
 
 if test "x$VERSION" = "xUNKNOWN"; then
 	AC_MSG_ERROR([m4_text_wrap([
   configure was unable to determine the source tree's current version. This
   generally happens when using git archive (or the github download button)
   generated tarball/zip file. In order to workaround this issue, either use git
   clone https://github.com/ClusterLabs/fence-virt.git or use an official release
   tarball. Alternatively you can add a compatible version in a .tarball-version
   file at the top of the source tree, wipe your autom4te.cache dir and generated
   configure, and rerun autogen.sh.
   ], [  ], [   ], [76])])
 fi
 
 
 AC_CONFIG_FILES([Makefile
 		 fence-agents.pc
 		 agents/Makefile
 		 lib/Makefile
 		 doc/Makefile
 		 agents/virt/Makefile
 		 agents/virt/config/Makefile
 		 agents/virt/common/Makefile
 		 agents/virt/client/Makefile
 		 agents/virt/server/Makefile
 		 agents/virt/man/Makefile
 		 ])
 
 AC_OUTPUT
diff --git a/fence-agents.spec.in b/fence-agents.spec.in
index 4dba269c..a31767e8 100644
--- a/fence-agents.spec.in
+++ b/fence-agents.spec.in
@@ -1,1409 +1,1414 @@
 ###############################################################################
 ###############################################################################
 ##
 ##  Copyright (C) 2019-2021 Red Hat, Inc.  All rights reserved.
 ##
 ##  This copyrighted material is made available to anyone wishing to use,
 ##  modify, copy, or redistribute it subject to the terms and conditions
 ##  of the GNU General Public License v.2.
 ##
 ###############################################################################
 ###############################################################################
 
 %global rcver @rcver@
 %global alphatag @alphatag@
 %global numcomm @numcomm@
 %global dirty @dirty@
 
 Name: fence-agents
 Summary: Set of unified programs capable of host isolation ("fencing")
 Version: @version@
 Release: @specver@%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
 License: GPLv2+ and LGPLv2+
 Group: System Environment/Base
 URL: https://github.com/ClusterLabs/fence-agents
 Source0: %{name}-%{version}%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}.tar.bz2
 
 %if 0%{?rhel} == 7
 %ifarch s390x
 %define rhel7_s390x 1
 %endif
 %endif
 
+%if 0%{?rhel} == 9
+%ifarch ppc64le s390x
+%define rhel9_ppc64le_s390x 1
+%endif
+%endif
+
 # skipped: pve, raritan, rcd-serial, virsh
 %global allfenceagents %(cat <<EOF
 fence-agents-alom \\
 fence-agents-amt \\
 fence-agents-amt-ws \\
 fence-agents-apc \\
 fence-agents-apc-snmp \\
 fence-agents-aws \\
 fence-agents-azure-arm \\
 fence-agents-bladecenter \\
 fence-agents-brocade \\
 fence-agents-cdu \\
 fence-agents-cisco-mds \\
 fence-agents-cisco-ucs \\
 fence-agents-cyberpower-ssh \\
 fence-agents-docker \\
 fence-agents-drac \\
 fence-agents-drac5 \\
 fence-agents-eaton-snmp \\
 fence-agents-emerson \\
 fence-agents-eps \\
 fence-agents-gce \\
 fence-agents-hds-cb \\
 fence-agents-heuristics-ping \\
 fence-agents-hpblade \\
 fence-agents-ibmblade \\
 fence-agents-ibmz \\
 fence-agents-ibm-powervs \\
 fence-agents-ibm-vpc \\
 fence-agents-ifmib \\
 fence-agents-ilo-moonshot \\
 fence-agents-ilo-mp \\
 fence-agents-ilo-ssh \\
 fence-agents-ilo2 \\
 fence-agents-intelmodular \\
 fence-agents-ipdu \\
 fence-agents-ipmilan \\
 fence-agents-kdump \\
 fence-agents-ldom \\
 fence-agents-lpar \\
 fence-agents-mpath \\
 fence-agents-netio \\
 fence-agents-ovh \\
 fence-agents-redfish \\
 fence-agents-rhevm \\
 fence-agents-rsa \\
 fence-agents-rsb \\
 fence-agents-sanbox2 \\
 fence-agents-sbd \\
 fence-agents-scsi \\
 fence-agents-vbox \\
 fence-virt \\
 fence-agents-vmware \\
 fence-agents-vmware-rest \\
 fence-agents-vmware-soap \\
 fence-agents-vmware-vcloud \\
 fence-agents-wti \\
 fence-agents-xenapi \\
 fence-agents-zvm \\
 
 EOF)
 
 %ifarch x86_64 ppc64le
 %global allfenceagents %(cat <<EOF
 %{allfenceagents} \\
 fence-agents-compute \\
 fence-agents-ironic \\
 fence-agents-openstack
 
 EOF)
 %endif
 
 %if ! %{defined rhel7_s390x}
 %global allfenceagents %(cat <<EOF
 %{allfenceagents} \\
 fence-agents-aws \\
 fence-agents-gce
 
 EOF)
 %endif
 
 # Build dependencies
 ## general
 BuildRequires: autoconf automake libtool make
 ## compiled code (-kdump)
 BuildRequires: gcc
 ## man pages generating
 BuildRequires: libxslt
 ## Python dependencies
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 BuildRequires: python3-devel
-BuildRequires: python3-pexpect python3-pycurl python3-requests
+BuildRequires: python3-httplib2 python3-pexpect python3-pycurl python3-requests
 %if 0%{?suse_version} > 1500
 BuildRequires: python3-suds-community
 %else
 BuildRequires: python3-suds
 %endif
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
-BuildRequires: python3-google-api-client python3-boto3 openwsman-python3
+BuildRequires: openwsman-python3
+%if ! %{defined rhel9_ppc64le_s390x}
+BuildRequires: python3-boto3
 %endif
-# (-openstack)
-%ifarch x86_64 ppc64le
-BuildRequires: python3-novaclient python3-keystoneclient
 %endif
 %if 0%{?suse_version}
-BuildRequires: python3-google-api-python-client python3-openwsman python3-boto3
+BuildRequires: python3-openwsman python3-boto3
 %endif
 %else
 BuildRequires: python-devel
 BuildRequires: pexpect python-pycurl python-requests
 BuildRequires: python-suds openwsman-python
 %if ! %{defined rhel7_s390x}
-BuildRequires: python-google-api-client python-boto3
+BuildRequires: python-boto3 python-httplib2
 %endif
 # (-openstack)
 %ifarch x86_64 ppc64le
 BuildRequires: python-novaclient python-keystoneclient
 %endif
 %endif
 
 # fence-virt
 %if 0%{?suse_version}
 %define nss_devel mozilla-nss-devel
 %define nspr_devel mozilla-nspr-devel
 %define systemd_units systemd
 %else
 %define nss_devel nss-devel
 %define nspr_devel nspr-devel
 %define systemd_units systemd-units
 %endif
 
 BuildRequires:  corosynclib-devel libvirt-devel
 BuildRequires:  libxml2-devel %{nss_devel} %{nspr_devel}
 BuildRequires:  flex bison libuuid-devel
 BuildRequires: %{systemd_units}
 
 
 # turn off the brp-python-bytecompile script
 # (for F28+ or equivalent, the latter is the preferred form)
 %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompilespace:.*$!!g')
 #undefine __brp_python_bytecompile
 
 %prep
 %setup -q -n %{name}-%{version}%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
 %autopatch -p1
 # prevent compilation of something that won't get used anyway
 sed -i.orig 's|FENCE_ZVM=1|FENCE_ZVM=0|' configure.ac
 
 %build
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 	export PYTHON="%{__python3}"
 %endif
 
 ./autogen.sh
 %{configure} --disable-libvirt-qmf-plugin
 CFLAGS="$(echo '%{optflags}')" make %{_smp_mflags}
 
 %install
 rm -rf %{buildroot}
 make install DESTDIR=%{buildroot}
 mkdir -p %{buildroot}/%{_unitdir}/
 install -m 0644 agents/virt/fence_virtd.service %{buildroot}/%{_unitdir}/
 # bytecompile Python source code in a non-standard location
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
 %py_byte_compile %{__python3} %{buildroot}%{_datadir}/fence
 %endif
 # XXX unsure if /usr/sbin/fence_* should be compiled as well
 
 ## tree fix up
 # fix libfence permissions
 chmod 0755 %{buildroot}%{_datadir}/fence/*.py
 # remove docs
 rm -rf %{buildroot}/usr/share/doc/fence-agents
 # remove .a files
 rm -f %{buildroot}/%{_libdir}/%{name}/*.*a
 rm -f %{buildroot}/%{_libdir}/fence-virt/*.*a
 
 %post
 ccs_update_schema > /dev/null 2>&1 ||:
 # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
 if [ $1 -eq 1 ] ; then
     # Initial installation
     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 
 %preun
 # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
 if [ $1 -eq 0 ] ; then
     # Package removal, not upgrade
     /bin/systemctl --no-reload disable fence_virtd.service &> /dev/null || :
     /bin/systemctl stop fence_virtd.service &> /dev/null || :
 fi
 
 %postun
 # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
 /bin/systemctl daemon-reload &> /dev/null || :
 if [ $1 -ge 1 ] ; then
     # Package upgrade, not uninstall
     /bin/systemctl try-restart fence_virtd.service &> /dev/null || :
 fi
 
 %triggerun -- fence_virtd < 0.3.0-1
 # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Packages_migrating_to_a_systemd_unit_file_from_a_SysV_initscript
 /usr/bin/systemd-sysv-convert --save fence_virtd &> /dev/null || :
 /sbin/chkconfig --del fence_virtd &> /dev/null || :
 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
 /bin/systemctl try-restart fence_virtd.service &> /dev/null || :
 
 %description
 A collection of executables to handle isolation ("fencing") of possibly
 misbehaving hosts by the means of remote power management, blocking
 network, storage, or similar. They operate through a unified interface
 (calling conventions) devised for the original Red Hat clustering solution.
 
 %package common
 License: GPLv2+ and LGPLv2+
 Summary: Common base for Fence Agents
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-pexpect python3-pycurl
 %else
 Requires: pexpect python-pycurl
 %endif
 BuildArch: noarch
 %description common
 A collection of executables to handle isolation ("fencing") of possibly
 misbehaving hosts by the means of remote power management, blocking
 network, storage, or similar.
 
 This package contains support files including the Python fencing library.
 %files common
 %doc doc/COPYING.* doc/COPYRIGHT doc/README.licence
 %{_datadir}/fence
 %exclude %{_datadir}/fence/azure_fence.*
 %exclude %{_datadir}/fence/__pycache__/azure_fence.*
 %exclude %{_datadir}/fence/XenAPI.*
 %exclude %{_datadir}/fence/__pycache__/XenAPI.*
 %{_datadir}/cluster
 %exclude %{_datadir}/cluster/fence_mpath_check*
 %exclude %{_datadir}/cluster/fence_scsi_check*
 %{_datadir}/pkgconfig/%{name}.pc
 %exclude %{_sbindir}/*
 %exclude %{_mandir}/man8/*
 
 %package all
 License: GPLv2+ and LGPLv2+ and ASL 2.0
 Summary: Set of unified programs capable of host isolation ("fencing")
 Requires: %{allfenceagents}
 Provides: fence-agents = %{version}-%{release}
 Obsoletes: fence-agents < 3.1.13
 %description all
 A collection of executables to handle isolation ("fencing") of possibly
 misbehaving hosts by the means of remote power management, blocking
 network, storage, or similar.
 
 This package serves as a catch-all for all supported fence agents.
 %files all
 
 %ifarch x86_64
 %package aliyun
 License: GPLv2+ and LGPLv2+ and ASL 2.0 and BSD and MIT
 Group: System Environment/Base
 Summary: Fence agent for Alibaba Cloud (Aliyun)
 Requires: fence-agents-common >= %{version}-%{release}
 Requires: python3-jmespath >= 0.9.0
 Obsoletes: %{name} < %{version}-%{release}
 %description aliyun
 The fence-agents-aliyun package contains a fence agent for Alibaba Cloud (Aliyun) instances.
 %files aliyun
 %defattr(-,root,root,-)
 %{_sbindir}/fence_aliyun
 %{_mandir}/man8/fence_aliyun.8*
 %endif
 
 %package alom
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for SUN ALOM
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description alom
 Fence agent for SUN ALOM.
 %files alom
 %{_sbindir}/fence_alom
 %{_mandir}/man8/fence_alom.8*
 
 %package amt
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Intel AMT devices
 Requires: amtterm
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description amt
 Fence agent for AMT compatibile devices that are accessed via
 3rd party software.
 %files amt
 %{_sbindir}/fence_amt
 %{_mandir}/man8/fence_amt.8*
 
 %package amt-ws
 License: ASL 2.0
 Summary: Fence agent for Intel AMT (WS-Man) devices
 Requires: fence-agents-common = %{version}-%{release}
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
 Requires: openwsman-python3
 %endif
 %if 0%{?suse_version}
 Requires: python3-openwsman
 %endif
 %else
 Requires: openwsman-python
 %endif
 BuildArch: noarch
 %description amt-ws
 Fence agent for AMT (WS-Man) devices.
 %files amt-ws
 %{_sbindir}/fence_amt_ws
 %{_mandir}/man8/fence_amt_ws.8*
 
 %package apc
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for APC devices
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description apc
 Fence agent for APC devices that are accessed via telnet or SSH.
 %files apc
 %{_sbindir}/fence_apc
 %{_mandir}/man8/fence_apc.8*
 
 %package apc-snmp
 License: GPLv2+ and LGPLv2+
 Summary: Fence agents for APC devices (SNMP)
 Requires: net-snmp-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description apc-snmp
 Fence agents for APC devices that are accessed via the SNMP protocol.
 %files apc-snmp
 %{_sbindir}/fence_apc_snmp
 %{_mandir}/man8/fence_apc_snmp.8*
 %{_sbindir}/fence_tripplite_snmp
 %{_mandir}/man8/fence_tripplite_snmp.8*
 
 %if ! %{defined rhel7_s390x}
 %package aws
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Amazon AWS
 Requires: fence-agents-common = %{version}-%{release}
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-boto3
 %else
 Requires: python-boto3
 %endif
 BuildArch: noarch
 Obsoletes: fence-agents < 3.1.13
 %description aws
 Fence agent for Amazon AWS instances.
 %files aws
 %{_sbindir}/fence_aws
 %{_mandir}/man8/fence_aws.8*
 %endif
 
 %package azure-arm
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Azure Resource Manager
 Requires: fence-agents-common = %{version}-%{release}
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 %if 0%{?fedora} > 34
 Requires: python3-azure-common
 Requires: python3-azure-identity
 Requires: python3-azure-mgmt-compute
 Requires: python3-azure-mgmt-network
 Requires: python3-msrestazure
 %else
 Requires: python3-azure-sdk
 %endif
 %else
 Requires: python-azure-sdk
 %endif
 BuildArch: noarch
 Obsoletes: fence-agents < 3.1.13
 %description azure-arm
 Fence agent for Azure Resource Manager instances.
 %files azure-arm
 %{_sbindir}/fence_azure_arm
 %{_datadir}/fence/azure_fence.py*
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
 %{_datadir}/fence/__pycache__/azure_fence.*
 %endif
 %{_mandir}/man8/fence_azure_arm.8*
 
 %package bladecenter
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM BladeCenter
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description bladecenter
 Fence agent for IBM BladeCenter devices that are accessed
 via telnet or SSH.
 %files bladecenter
 %{_sbindir}/fence_bladecenter
 %{_mandir}/man8/fence_bladecenter.8*
 
 %package brocade
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Brocade switches
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description brocade
 Fence agent for Brocade devices that are accessed via telnet or SSH.
 %files brocade
 %{_sbindir}/fence_brocade
 %{_mandir}/man8/fence_brocade.8*
 
 %package cdu
 License: GPLv3-only
 Summary: Fence agent for a Sentry Switch CDU
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description cdu
 Fence agent for Sentry Switch CDU power switch.
 %files cdu
 %{_sbindir}/fence_cdu
 %{_mandir}/man8/fence_cdu.8*
 
 %package cisco-mds
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Cisco MDS 9000 series
 Requires: net-snmp-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description cisco-mds
 Fence agent for Cisco MDS 9000 series devices that are accessed
 via the SNMP protocol.
 %files cisco-mds
 %{_sbindir}/fence_cisco_mds
 %{_mandir}/man8/fence_cisco_mds.8*
 
 %package cisco-ucs
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Cisco UCS series
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-pycurl
 %else
 Requires: python-pycurl
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description cisco-ucs
 Fence agent for Cisco UCS series devices that are accessed
 via the SNMP protocol.
 %files cisco-ucs
 %{_sbindir}/fence_cisco_ucs
 %{_mandir}/man8/fence_cisco_ucs.8*
 
 %ifarch x86_64 ppc64le
 %package compute
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Nova compute nodes
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-requests
 Requires: python3-novaclient
 %else
 Requires: python-requests
 Requires: python2-novaclient
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description compute
 Fence agent for Nova compute nodes.
 %files compute
 %{_sbindir}/fence_compute
 %{_sbindir}/fence_evacuate
 %{_mandir}/man8/fence_compute.8*
 %{_mandir}/man8/fence_evacuate.8*
 %endif
 
 %package cyberpower-ssh
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for CyberPower network PDUs
 Requires: openssh-clients
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description cyberpower-ssh
 %files cyberpower-ssh
 %{_sbindir}/fence_cyberpower_ssh
 %{_mandir}/man8/fence_cyberpower_ssh.8*
 
 %package docker
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Docker
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-pycurl
 %else
 Requires: python-pycurl
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description docker
 Fence agent for Docker images that are accessed over HTTP.
 %files docker
 %{_sbindir}/fence_docker
 %{_mandir}/man8/fence_docker.8*
 
 %package drac
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Dell DRAC
 Requires: telnet
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description drac
 Fence agent for Dell DRAC IV series devices that are accessed
 via telnet.
 %files drac
 %{_sbindir}/fence_drac
 %{_mandir}/man8/fence_drac.8*
 
 %package drac5
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Dell DRAC 5
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description drac5
 Fence agent for Dell DRAC 5 series devices that are accessed
 via telnet or SSH.
 %files drac5
 %{_sbindir}/fence_drac5
 %{_mandir}/man8/fence_drac5.8*
 
 %package eaton-snmp
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Eaton network power switches
 Requires: net-snmp-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description eaton-snmp
 Fence agent for Eaton network power switches that are accessed
 via the SNMP protocol.
 %files eaton-snmp
 %{_sbindir}/fence_eaton_snmp
 %{_mandir}/man8/fence_eaton_snmp.8*
 
 %package emerson
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Emerson devices (SNMP)
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description emerson
 Fence agent for Emerson devices that are accessed via
 the SNMP protocol.
 %files emerson
 %{_sbindir}/fence_emerson
 %{_mandir}/man8/fence_emerson.8*
 
 %package eps
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for ePowerSwitch 8M+ power switches
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description eps
 Fence agent for ePowerSwitch 8M+ power switches that are accessed
 via the HTTP(s) protocol.
 %files eps
 %{_sbindir}/fence_eps
 %{_mandir}/man8/fence_eps.8*
 
 %if ! %{defined rhel7_s390x}
 %package gce
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for GCE (Google Cloud Engine)
 Requires: fence-agents-common = %{version}-%{release}
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
 Requires: python3-google-api-client
 %endif
 %if 0%{?suse_version}
 Requires: python3-google-api-python-client
 %endif
 %else
 Requires: python-google-api-client
 %endif
 BuildArch: noarch
 Obsoletes: fence-agents < 3.1.13
 %description gce
 Fence agent for GCE (Google Cloud Engine) instances.
 %files gce
 %{_sbindir}/fence_gce
 %{_mandir}/man8/fence_gce.8*
 %endif
 
 %package hds-cb
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Hitachi Compute Blade systems
 Requires: telnet
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description hds-cb
 Fence agent for Hitachi Compute Blades that are accessed via telnet.
 %files hds-cb
 %{_sbindir}/fence_hds_cb
 %{_mandir}/man8/fence_hds_cb.8*
 
 %package heuristics-ping
 License: GPLv2+ and LGPLv2+
 Summary: Pseudo fence agent to affect other agents based on ping-heuristics
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 Obsoletes: fence-agents < 3.1.13
 %description heuristics-ping
 Fence pseudo agent used to affect other agents based on
 ping-heuristics.
 %files heuristics-ping
 %{_sbindir}/fence_heuristics_ping
 %{_mandir}/man8/fence_heuristics_ping.8*
 
 %package hpblade
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for HP BladeSystem devices
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description hpblade
 Fence agent for HP BladeSystem devices that are accessed via telnet
 or SSH.
 %files hpblade
 %{_sbindir}/fence_hpblade
 %{_mandir}/man8/fence_hpblade.8*
 
 %package ibmblade
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM BladeCenter
 Requires: net-snmp-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ibmblade
 Fence agent for IBM BladeCenter devices that are accessed
 via the SNMP protocol.
 %files ibmblade
 %{_sbindir}/fence_ibmblade
 %{_mandir}/man8/fence_ibmblade.8*
 
 %package ibmz
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM z LPARs
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-requests
 %else
 Requires: python-requests
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ibmz
 Fence agent for IBM z LPARs that are accessed via the HMC
 Web Services REST API.
 %files ibmz
 %{_sbindir}/fence_ibmz
 %{_mandir}/man8/fence_ibmz.8*
 
 %package ibm-powervs
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM PowerVS
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ibm-powervs
 Fence agent for IBM PowerVS that are accessed via REST API.
 %files ibm-powervs
 %{_sbindir}/fence_ibm_powervs
 %{_mandir}/man8/fence_ibm_powervs.8*
 
 %package ibm-vpc
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM Cloud VPC
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ibm-vpc
 Fence agent for IBM Cloud VPC that are accessed via REST API.
 %files ibm-vpc
 %{_sbindir}/fence_ibm_vpc
 %{_mandir}/man8/fence_ibm_vpc.8*
 
 %package ifmib
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for devices with IF-MIB interfaces
 Requires: net-snmp-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ifmib
 Fence agent for IF-MIB interfaces that are accessed via
 the SNMP protocol.
 %files ifmib
 %{_sbindir}/fence_ifmib
 %{_mandir}/man8/fence_ifmib.8*
 
 %package ilo2
 License: GPLv2+ and LGPLv2+
 Summary: Fence agents for HP iLO2 devices
 Requires: gnutls-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ilo2
 Fence agents for HP iLO2 devices that are accessed via
 the HTTP(s) protocol.
 %files ilo2
 %{_sbindir}/fence_ilo
 %{_sbindir}/fence_ilo2
 %{_mandir}/man8/fence_ilo.8*
 %{_mandir}/man8/fence_ilo2.8*
 
 %package ilo-moonshot
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for HP iLO Moonshot devices
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ilo-moonshot
 Fence agent for HP iLO Moonshot devices that are accessed
 via telnet or SSH.
 %files ilo-moonshot
 %{_sbindir}/fence_ilo_moonshot
 %{_mandir}/man8/fence_ilo_moonshot.8*
 
 %package ilo-mp
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for HP iLO MP devices
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ilo-mp
 Fence agent for HP iLO MP devices that are accessed via telnet or SSH.
 %files ilo-mp
 %{_sbindir}/fence_ilo_mp
 %{_mandir}/man8/fence_ilo_mp.8*
 
 %package ilo-ssh
 License: GPLv2+ and LGPLv2+
 Summary: Fence agents for HP iLO devices over SSH
 Requires: openssh-clients
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ilo-ssh
 Fence agents for HP iLO devices that are accessed via telnet or SSH.
 %files ilo-ssh
 %{_sbindir}/fence_ilo_ssh
 %{_mandir}/man8/fence_ilo_ssh.8*
 %{_sbindir}/fence_ilo3_ssh
 %{_mandir}/man8/fence_ilo3_ssh.8*
 %{_sbindir}/fence_ilo4_ssh
 %{_mandir}/man8/fence_ilo4_ssh.8*
 %{_sbindir}/fence_ilo5_ssh
 %{_mandir}/man8/fence_ilo5_ssh.8*
 
 %package intelmodular
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for devices with Intel Modular interfaces
 Requires: net-snmp-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description intelmodular
 Fence agent for Intel Modular interfaces that are accessed
 via the SNMP protocol.
 %files intelmodular
 %{_sbindir}/fence_intelmodular
 %{_mandir}/man8/fence_intelmodular.8*
 
 %package ipdu
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM iPDU network power switches
 Requires: net-snmp-utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ipdu
 Fence agent for IBM iPDU network power switches that are accessed
 via the SNMP protocol.
 %files ipdu
 %{_sbindir}/fence_ipdu
 %{_mandir}/man8/fence_ipdu.8*
 
 %package ipmilan
 License: GPLv2+ and LGPLv2+
 Summary: Fence agents for devices with IPMI interface
 Requires: /usr/bin/ipmitool
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ipmilan
 Fence agents for devices with IPMI interface.
 %files ipmilan
 %{_sbindir}/fence_ipmilan
 %{_mandir}/man8/fence_ipmilan.8*
 %{_sbindir}/fence_idrac
 %{_mandir}/man8/fence_idrac.8*
 %{_sbindir}/fence_ilo3
 %{_mandir}/man8/fence_ilo3.8*
 %{_sbindir}/fence_ilo4
 %{_mandir}/man8/fence_ilo4.8*
 %{_sbindir}/fence_ilo5
 %{_mandir}/man8/fence_ilo5.8*
 %{_sbindir}/fence_ipmilanplus
 %{_mandir}/man8/fence_ipmilanplus.8*
 %{_sbindir}/fence_imm
 %{_mandir}/man8/fence_imm.8*
 
 %ifarch x86_64 ppc64le
 %package ironic
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for OpenStack's Ironic (Bare Metal as a service)
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ironic
 Fence agent for OpenStack's Ironic (Bare Metal as a service) service.
 %files ironic
 %{_sbindir}/fence_ironic
 %{_mandir}/man8/fence_ironic.8*
 %endif
 
 %package kdump
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for use with kdump crash recovery service
 Requires: fence-agents-common = %{version}-%{release}
 # this cannot be noarch since it's compiled
 %description kdump
 Fence agent for use with kdump crash recovery service.
 %files kdump
 %{_sbindir}/fence_kdump
 %{_libexecdir}/fence_kdump_send
 %{_mandir}/man8/fence_kdump.8*
 %{_mandir}/man8/fence_kdump_send.8*
 
 %package kubevirt
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for KubeVirt platform
 Requires: python3-openshift >= 0.12.1
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description kubevirt
 Fence agent for KubeVirt platform.
 %files kubevirt
 %{_sbindir}/fence_kubevirt
 %{_mandir}/man8/fence_kubevirt.8*
 
 %package ldom
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Sun LDom virtual machines
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ldom
 Fence agent for APC devices that are accessed via telnet or SSH.
 %files ldom
 %{_sbindir}/fence_ldom
 %{_mandir}/man8/fence_ldom.8*
 
 %package lpar
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM LPAR
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description lpar
 Fence agent for IBM LPAR devices that are accessed via telnet or SSH.
 %files lpar
 %{_sbindir}/fence_lpar
 %{_mandir}/man8/fence_lpar.8*
 
 %package mpath
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for reservations over Device Mapper Multipath
 Requires: device-mapper-multipath
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description mpath
 Fence agent for SCSI persistent reservation over
 Device Mapper Multipath.
 %files mpath
 %{_sbindir}/fence_mpath
 %{_datadir}/cluster/fence_mpath_check*
 %{_mandir}/man8/fence_mpath.8*
 
 %package netio
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Koukaam NETIO devices
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description netio
 Fence agent for Koukaam NETIO devices that are accessed
 via telnet or SSH.
 %files netio
 %{_sbindir}/fence_netio
 %{_mandir}/man8/fence_netio.8*
 
 %ifarch x86_64 ppc64le
 %package openstack
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for OpenStack's Nova service
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-requests
 %else
 Requires: python-requests
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description openstack
 Fence agent for OpenStack's Nova service.
 %files openstack
 %{_sbindir}/fence_openstack
 %{_mandir}/man8/fence_openstack.8*
 %endif
 
 %package ovh
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for OVH provider
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 %if 0%{?suse_version} > 1500
 Requires: python3-suds-community
 %else
 Requires: python3-suds
 %endif
 %else
 Requires: python-suds
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description ovh
 Fence agent for OVH hosting provider.
 %files ovh
 %{_sbindir}/fence_ovh
 %{_mandir}/man8/fence_ovh.8*
 
 # skipped from allfenceagents
 %package pve
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for PVE
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-pycurl
 %else
 Requires: python-pycurl
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description pve
 Fence agent for PVE.
 %files pve
 %{_sbindir}/fence_pve
 %{_mandir}/man8/fence_pve.8*
 
 # skipped from allfenceagents
 %package raritan
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Raritan Dominion PX
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description raritan
 Fence agent for Raritan Dominion PX.
 %files raritan
 %{_sbindir}/fence_raritan
 %{_mandir}/man8/fence_raritan.8*
 
 # skipped from allfenceagents
 %package rcd-serial
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for RCD serial
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description rcd-serial
 Fence agent for RCD serial.
 %files rcd-serial
 %{_sbindir}/fence_rcd_serial
 %{_mandir}/man8/fence_rcd_serial.8*
 
 %package redfish
 License: GPLv2+ and LGPLv2+
 Group: System Environment/Base
 Summary: Fence agent for Redfish
 Requires: fence-agents-common >= %{version}-%{release}
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-requests
 %else
 Requires: python-requests
 %endif
 Obsoletes: fence-agents < 3.1.13
 %description redfish
 The fence-agents-redfish package contains a fence agent for Redfish
 %files redfish
 %defattr(-,root,root,-)
 %{_sbindir}/fence_redfish
 %{_mandir}/man8/fence_redfish.8*
 
 %package rhevm
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for RHEV-M
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description rhevm
 Fence agent for RHEV-M via REST API.
 %files rhevm
 %{_sbindir}/fence_rhevm
 %{_mandir}/man8/fence_rhevm.8*
 
 %package rsa
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM RSA II
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description rsa
 Fence agent for IBM RSA II devices that are accessed
 via telnet or SSH.
 %files rsa
 %{_sbindir}/fence_rsa
 %{_mandir}/man8/fence_rsa.8*
 
 %package rsb
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Fujitsu RSB
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description rsb
 Fence agent for Fujitsu RSB devices that are accessed
 via telnet or SSH.
 %files rsb
 %{_sbindir}/fence_rsb
 %{_mandir}/man8/fence_rsb.8*
 
 %package sanbox2
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for QLogic SANBox2 FC switches
 Requires: telnet
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description sanbox2
 Fence agent for QLogic SANBox2 switches that are accessed via telnet.
 %files sanbox2
 %{_sbindir}/fence_sanbox2
 %{_mandir}/man8/fence_sanbox2.8*
 
 %package sbd
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for SBD (storage-based death)
 Requires: sbd
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description sbd
 Fence agent for SBD (storage-based death).
 %files sbd
 %{_sbindir}/fence_sbd
 %{_mandir}/man8/fence_sbd.8*
 
 %package scsi
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for SCSI persistent reservations
 Requires: sg3_utils
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description scsi
 Fence agent for SCSI persistent reservations.
 %files scsi
 %{_sbindir}/fence_scsi
 %{_datadir}/cluster/fence_scsi_check
 %{_datadir}/cluster/fence_scsi_check_hardreboot
 %{_mandir}/man8/fence_scsi.8*
 
 %package vbox
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for VirtualBox
 Requires: openssh-clients
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description vbox
 Fence agent for VirtualBox dom0 accessed via SSH.
 %files vbox
 %{_sbindir}/fence_vbox
 %{_mandir}/man8/fence_vbox.8*
 
 # skipped from allfenceagents
 %package virsh
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for virtual machines based on libvirt
 Requires: openssh-clients /usr/bin/virsh
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description virsh
 Fence agent for virtual machines that are accessed via SSH.
 %files virsh
 %{_sbindir}/fence_virsh
 %{_mandir}/man8/fence_virsh.8*
 
 %package vmware
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for VMWare with VI Perl Toolkit or vmrun
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-pexpect
 %else
 Requires: pexpect
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description vmware
 Fence agent for VMWare accessed with VI Perl Toolkit or vmrun.
 %files vmware
 %{_sbindir}/fence_vmware
 %{_mandir}/man8/fence_vmware.8*
 
 %package vmware-rest
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for VMWare with REST API
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 Obsoletes: fence-agents < 3.1.13
 %description vmware-rest
 Fence agent for VMWare with REST API.
 %files vmware-rest
 %{_sbindir}/fence_vmware_rest
 %{_mandir}/man8/fence_vmware_rest.8*
 
 %package vmware-soap
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for VMWare with SOAP API v4.1+
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 %if 0%{?suse_version} > 1500
 Requires: python3-suds-community
 %else
 Requires: python3-suds
 %endif
 %else
 Requires: python-suds
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description vmware-soap
 Fence agent for VMWare with SOAP API v4.1+.
 %files vmware-soap
 %{_sbindir}/fence_vmware_soap
 %{_mandir}/man8/fence_vmware_soap.8*
 
 %package vmware-vcloud
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for VMWare vCloud Director
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 Obsoletes: fence-agents < 3.1.13
 %description vmware-vcloud
 Fence agent for VMWare vCloud Director.
 %files vmware-vcloud
 %{_sbindir}/fence_vmware_vcloud
 %{_mandir}/man8/fence_vmware_vcloud.8*
 
 %package wti
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for WTI Network power switches
 Requires: openssh-clients
 %if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version}
 %if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8)
 Requires: telnet
 %else
 Recommends: telnet
 %endif
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description wti
 Fence agent for WTI network power switches that are accessed
 via telnet or SSH.
 %files wti
 %{_sbindir}/fence_wti
 %{_mandir}/man8/fence_wti.8*
 
 %package xenapi
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for Citrix XenServer over XenAPI
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
 Requires: python3-pexpect
 %else
 Requires: pexpect
 %endif
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description xenapi
 Fence agent for Citrix XenServer accessed over XenAPI.
 %files xenapi
 %{_sbindir}/fence_xenapi
 %{_datadir}/fence/XenAPI.py*
 %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
 %{_datadir}/fence/__pycache__/XenAPI.*
 %endif
 %{_mandir}/man8/fence_xenapi.8*
 
 %package zvm
 License: GPLv2+ and LGPLv2+
 Summary: Fence agent for IBM z/VM over IP
 Requires: fence-agents-common = %{version}-%{release}
 BuildArch: noarch
 %description zvm
 Fence agent for IBM z/VM over IP.
 %files zvm
 %{_sbindir}/fence_zvmip
 %{_mandir}/man8/fence_zvmip.8*
 
 # fence-virt
 
 %package -n fence-virt
 Summary: A pluggable fencing framework for virtual machines
 Requires(post):	systemd-sysv %{systemd_units}
 Requires(preun):	%{systemd_units}
 Requires(postun):	%{systemd_units}
 %description -n fence-virt
 Fencing agent for virtual machines.
 %files -n fence-virt
 %doc agents/virt/docs/*
 %{_sbindir}/fence_virt
 %{_sbindir}/fence_xvm
 %{_mandir}/man8/fence_virt.*
 %{_mandir}/man8/fence_xvm.*
 
 %package -n fence-virtd
 Summary: Daemon which handles requests from fence-virt
 %description -n fence-virtd
 This package provides the host server framework, fence_virtd,
 for fence_virt.  The fence_virtd host daemon is resposible for
 processing fencing requests from virtual machines and routing
 the requests to the appropriate physical machine for action.
 %files -n fence-virtd
 %{_sbindir}/fence_virtd
 %{_unitdir}/fence_virtd.service
 %config(noreplace) %{_sysconfdir}/fence_virt.conf
 %dir %{_libdir}/fence-virt
 %{_libdir}/fence-virt/vsock.so
 %{_mandir}/man5/fence_virt.conf.*
 %{_mandir}/man8/fence_virtd.*
 
 %package -n fence-virtd-multicast
 Summary:  Multicast listener for fence-virtd
 Requires: fence-virtd
 %description -n fence-virtd-multicast
 Provides multicast listener capability for fence-virtd.
 %files -n fence-virtd-multicast
 %{_libdir}/fence-virt/multicast.so
 
 %package -n fence-virtd-serial
 Summary:  Serial VMChannel listener for fence-virtd
 Requires: libvirt >= 0.6.2
 Requires: fence-virtd
 %description -n fence-virtd-serial
 Provides serial VMChannel listener capability for fence-virtd.
 %files -n fence-virtd-serial
 %{_libdir}/fence-virt/serial.so
 
 %package -n fence-virtd-tcp
 Summary:  TCP listener for fence-virtd
 Requires: fence-virtd
 %description -n fence-virtd-tcp
 Provides TCP listener capability for fence-virtd.
 %files -n fence-virtd-tcp
 %{_libdir}/fence-virt/tcp.so
 
 %package -n fence-virtd-libvirt
 Summary:  Libvirt backend for fence-virtd
 Requires: libvirt >= 0.6.0
 Requires: fence-virtd
 %description -n fence-virtd-libvirt
 Provides fence_virtd with a connection to libvirt to fence
 virtual machines.  Useful for running a cluster of virtual
 machines on a desktop.
 %files -n fence-virtd-libvirt
 %{_libdir}/fence-virt/virt.so
 
 %package -n fence-virtd-cpg
 Summary:  CPG/libvirt backend for fence-virtd
 Requires: corosynclib
 Requires: fence-virtd
 %description -n fence-virtd-cpg
 Provides fence_virtd with a connection to libvirt to fence
 virtual machines. Uses corosync CPG to keep track of VM
 locations to allow for non-local VMs to be fenced when VMs
 are located on corosync cluster nodes.
 %files -n fence-virtd-cpg
 %{_libdir}/fence-virt/cpg.so
 
 %changelog
 * @date@ Autotools generated version <nobody@nowhere.org> - @version@-@specver@-@numcomm@.@alphatag@.@dirty@
 - Autotools generated version