Page MenuHomeClusterLabs Projects

No OneTemporary

diff --git a/Makefile.am b/Makefile.am
index c90ce752..c23c80cb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,47 +1,127 @@
EXTRA_DIST = autogen.sh make/fencebuild.mk \
.version make/release.mk \
make/git-version-gen make/gitlog-to-changelog tests
AUTOMAKE_OPTIONS = foreign
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure depcomp \
config.guess config.sub missing install-sh \
autoheader automake autoconf libtool libtoolize \
ltmain.sh compile make/clusterautoconfig.h.in \
make/clusterautoconfig.h.in~ autoscan.log \
configure.scan
+SPEC = $(PACKAGE_NAME).spec
+
+TARFILES = $(PACKAGE_NAME)-$(VERSION).tar.bz2 \
+ $(PACKAGE_NAME)-$(VERSION).tar.gz \
+ $(PACKAGE_NAME)-$(VERSION).tar.xz
+
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = lib agents doc
install-exec-local:
$(INSTALL) -d $(DESTDIR)/$(LOGDIR)
$(INSTALL) -d $(DESTDIR)/$(CLUSTERVARRUN)
uninstall-local:
rmdir $(DESTDIR)/$(LOGDIR) || :;
rmdir $(DESTDIR)/$(CLUSTERVARRUN) || :;
BUILT_SOURCES = .version
.version:
echo $(VERSION) > $@-t && mv $@-t $@
dist-hook: gen-ChangeLog
echo $(VERSION) > $(distdir)/.tarball-version
gen_start_date = 2000-01-01
.PHONY: gen-ChangeLog
gen-ChangeLog:
if test -d .git; then \
$(top_srcdir)/make/gitlog-to-changelog \
--since=$(gen_start_date) > $(distdir)/cl-t; \
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
# this will get rid of "libtoolized" m4 files
maintainer-clean-local:
rm -rf $(filter-out \
$(top_srcdir)/m4/ac_python_module.m4,$(wildcard \
$(top_srcdir)/m4/*.m4))
+
+## make rpm/srpm section.
+$(SPEC): $(SPEC).in
+ rm -f $@-t $@
+ date="$(shell LC_ALL=C date "+%a %b %d %Y")" && \
+ specver="1" && \
+ rcver="" && \
+ dirty="" && \
+ alphatag="" && \
+ numcomm="" && \
+ ver="$(VERSION)" && \
+ if echo $$ver | grep -q -- "-dirty$$"; then \
+ dirty="dirty" && \
+ echo VERSION IS DIRTY && \
+ ver=`echo $$ver | sed -e "s/-dirty$$//"`; \
+ fi && \
+ echo $$ver && \
+ if echo $$ver | grep -q -- "-"; then \
+ alphatag=`echo $$ver | sed -e "s/.*-//"` && \
+ echo VERSION HAS ALPHATAG && \
+ ver=`echo $$ver | sed -e "s/-.*//"`; \
+ fi && \
+ echo $$ver && \
+ if [ -n "$$alphatag" ]; then \
+ echo VERSION HAS NUMCOMMITS && \
+ numcomm=`echo $$ver | sed -e 's/.*\.//'` && \
+ ver=`echo $$ver | sed -e 's/.'$$numcomm'$$//'`; \
+ fi && \
+ if echo $$ver | grep -q "\.[[:digit:]]rc[[:digit:]]"; then \
+ rpmver=`echo $$ver | sed -e "s/rc[[:digit:]].*//g"` && \
+ rcver=`echo $$ver | sed -e "s/.*\(rc[[:digit:]]\).*/\1/g"` && \
+ specver="0"; \
+ else \
+ rpmver=$$ver; \
+ fi && \
+ echo $$rpmver $$rcver && \
+ sed \
+ -e "s#@version@#$$rpmver#g" \
+ -e "s#@alphatag@#$$alphatag#g" \
+ -e "s#@numcomm@#$$numcomm#g" \
+ -e "s#@dirty@#$$dirty#g" \
+ -e "s#@date@#$$date#g" \
+ -e "s#@specver@#$$specver#g" \
+ -e "s#@rcver@#$$rcver#g" \
+ -e "s#@rgmanager@#$(RGMANAGER)#g" \
+ -e "s#@linux-ha@#$(LINUX_HA)#g" \
+ -e "s#@compat-habindir@#$(COMPAT_HABINDIR)#g" \
+ $< > $@-t; \
+ if [ -z "$$dirty" ]; then sed -i -e "s#%glo.*dirty.*##g" $@-t; fi; \
+ if [ -z "$$alphatag" ]; then sed -i -e "s#%glo.*alphatag.*##g" $@-t; fi; \
+ if [ -z "$$numcomm" ]; then sed -i -e "s#%glo.*numcomm.*##g" $@-t; fi; \
+ if [ -z "$$rcver" ]; then sed -i -e "s#%glo.*rcver.*##g" $@-t; fi
+ chmod a-w $@-t
+ mv $@-t $@
+
+$(TARFILES):
+ $(MAKE) dist
+
+RPMBUILDOPTS = --define "_sourcedir $(abs_builddir)" \
+ --define "_specdir $(abs_builddir)" \
+ --define "_builddir $(abs_builddir)" \
+ --define "_srcrpmdir $(abs_builddir)" \
+ --define "_rpmdir $(abs_builddir)"
+
+srpm: clean
+ $(MAKE) $(SPEC) $(TARFILES)
+ rpmbuild $(RPMBUILDOPTS) --nodeps -bs $(SPEC)
+
+rpm: clean
+ $(MAKE) $(SPEC) $(TARFILES)
+ rpmbuild $(RPMBUILDOPTS) -ba $(SPEC)
+
+clean-generic:
+ rm -rf $(SPEC) $(TARFILES) $(PACKAGE_NAME)-$(VERSION) *.rpm
diff --git a/agents/Makefile.am b/agents/Makefile.am
index 833d2af5..4d8d86d5 100644
--- a/agents/Makefile.am
+++ b/agents/Makefile.am
@@ -1,119 +1,119 @@
MAINTAINERCLEANFILES = Makefile.in
TARGET = $(AGENTS_LIST:%.py=%)
SRC = $(TARGET:=.py)
CLEAN_TARGET_ADDITIONAL = kdump/fence_kdump_send manual/fence_ack_manual */*.o
EXTRA_DIST = $(SRC)
sbin_PROGRAMS =
sbin_SCRIPTS = $(TARGET)
libexec_PROGRAMS =
-dist_man_MANS =
-
noinst_HEADERS = kdump/list.h kdump/message.h kdump/options.h kdump/version.h zvm/fence_zvm.h
-EXTRA_SCRIPTS =
-
man_MANS = $(sbin_SCRIPTS:=.8)
+dist_man_MANS =
+
+EXTRA_SCRIPTS =
if BUILD_FENCE_KDUMP
sbin_PROGRAMS += kdump/fence_kdump
libexec_PROGRAMS += kdump/fence_kdump_send
-dist_man_MANS += kdump/fence_kdump.8 kdump/fence_kdump_send.8
+man_MANS += kdump/fence_kdump.8
+dist_man_MANS += kdump/fence_kdump_send.8
kdump_fence_kdump_SOURCES = kdump/fence_kdump.c
kdump_fence_kdump_CFLAGS = -D_GNU_SOURCE -Ikdump
kdump_fence_kdump_send_SOURCES = kdump/fence_kdump_send.c
kdump_fence_kdump_send_CFLAGS = -D_GNU_SOURCE -Ikdump
endif
if BUILD_FENCE_MANUAL
EXTRA_DIST += manual/fence_ack_manual.in manual/fence_ack_manual.8
sbin_SCRIPTS += manual/fence_ack_manual
endif
if BUILD_FENCE_ZVM
EXTRA_DIST += zvm/fence_zvm_man_page
sbin_PROGRAMS += zvm/fence_zvm
-dist_man_MANS += zvm/fence_zvm.8
+man_MANS += zvm/fence_zvm.8
zvm_fence_zvm_SOURCES = zvm/fence_zvm.c
zvm_fence_zvm_CFLAGS = -D_GNU_SOURCE -Izvm
endif
if BUILD_FENCE_MPATH
mpathdatadir = $(CLUSTERDATA)
mpathdata_SCRIPTS = mpath/fence_mpath_check mpath/fence_mpath_check_hardreboot
endif
if BUILD_FENCE_SCSI
scsidatadir = $(CLUSTERDATA)
scsidata_SCRIPTS = scsi/fence_scsi_check scsi/fence_scsi_check_hardreboot
endif
FENCE_TEST_ARGS = \
login=test\n\
passwd=test\n\
ipaddr=test\n\
port=1\n\
managed=1\n\
devices=test\n\
session_url=http://test\n\
email=test@test.te\n\
ping_targets=localhost
manual/fence_ack_manual: manual/fence_ack_manual.in
mkdir -p $(@D)
cat $^ | sed \
-e 's#@clustervarrun@#${CLUSTERVARRUN}#g' \
> $@
mpath/fence_mpath_check: mpath/fence_mpath
cp $^ $@
mpath/fence_mpath_check_hardreboot: mpath/fence_mpath
cp $^ $@
scsi/fence_scsi_check: scsi/fence_scsi
cp $^ $@
scsi/fence_scsi_check_hardreboot: scsi/fence_scsi
cp $^ $@
kdump/fence_kdump.8: kdump/fence_kdump $(top_srcdir)/lib/fence2man.xsl
set -e && \
./$(@:%.8=%) -o metadata > $(@D)/.$(@F).tmp && \
xmllint --noout --relaxng $(top_srcdir)/lib/metadata.rng $(@D)/.$(@F).tmp && \
xsltproc $(top_srcdir)/lib/fence2man.xsl $(@D)/.$(@F).tmp > $@
xsltproc $(top_srcdir)/lib/fence2wiki.xsl $(@D)/.$(@F).tmp | grep -v '<?xml' > $(@D)/$(@F:%.8=%.wiki)
kdump/fence_kdump_send.8:
true
manual/fence_ack_manual.8:
true
zvm/fence_zvm.8: zvm/fence_zvm
cp $(top_srcdir)/agents/zvm/fence_zvm_man_page $(@D)/fence_zvm.8
cisco_mds/fence_cisco_mds.delay-check: cisco_mds/fence_cisco_mds
$(eval INPUT=$(subst .delay-check,,$@))
FENCE_TEST_ARGS_CISCO_MDS=$$(printf '$(FENCE_TEST_ARGS)' | sed 's#port=1#port=fc1/1#'); \
test `PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib /usr/bin/time -p \
sh -c "printf 'delay=10\n $$FENCE_TEST_ARGS_CISCO_MDS' | $(PYTHON) ./$(INPUT)" 2>&1 |\
awk -F"[. ]" -vOFS= '/real/ {print $$2,$$3}'` -ge 1000 || ( \
PYTHONPATH=$(abs_top_srcdir)/lib:$(abs_top_builddir)/lib /usr/bin/time -p \
sh -c "printf "delay=0\n $$FENCE_TEST_ARGS_CISCO_MDS" | $(PYTHON) ./$(INPUT)"; false )
include $(top_srcdir)/make/fencebuild.mk
include $(top_srcdir)/make/fenceman.mk
include $(top_srcdir)/make/agentpycheck.mk
diff --git a/configure.ac b/configure.ac
index dcd22f1e..9b88d5f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,406 +1,406 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.63])
AC_INIT([fence-agents],
m4_esyscmd([make/git-version-gen .tarball-version]),
- [linux-cluster@redhat.com])
+ [developers@clusterlabs.org])
AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE([-Wno-portability dist-bzip2 dist-xz subdir-objects])
LT_PREREQ([2.2.6])
LT_INIT
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([lib/fencing.py.py])
AC_CONFIG_HEADERS([make/clusterautoconfig.h])
AC_CANONICAL_HOST
AC_PROG_LIBTOOL
AC_LANG([C])
# 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
# 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_LN_S
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_AWK
AC_PROG_CXX
AC_PROG_RANLIB
## 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="$@"
AC_MSG_CHECKING([whether $CC supports "$@"])
AC_COMPILE_IFELSE([int main(){return 0;}] ,
[RC=0; AC_MSG_RESULT([yes])],
[RC=1; AC_MSG_RESULT([no])])
return $RC
}
# this function tests if a library has a certain function
# by using AC_CHECK_LIB but restores the original LIBS global
# envvar. This is required to avoid libtool to link everything
# with everything.
check_lib_no_libs() {
AC_CHECK_LIB([$1], [$2],,
[AC_MSG_ERROR([Unable to find $1 library])])
LIBS=$ac_check_lib_save_LIBS
}
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h netdb.h stddef.h sys/socket.h sys/time.h syslog.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_UINT32_T
# Checks for library functions.
AC_FUNC_FORK
AC_FUNC_MALLOC
AC_CHECK_FUNCS([alarm atexit bzero dup2 memmove memset select socket strcasecmp strchr strdup strerror strtol])
# 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([default-config-dir],
[ --with-default-config-dir=DIR
cluster config directory. ],
[ DEFAULT_CONFIG_DIR="$withval" ],
[ DEFAULT_CONFIG_DIR="$sysconfdir/cluster" ])
AC_ARG_WITH([default-config-file],
[ --with-default-config-file=FILE
cluster config file. ],
[ DEFAULT_CONFIG_FILE="$withval" ],
[ DEFAULT_CONFIG_FILE="cluster.conf" ])
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 "all|zvm( |$)"; then
FENCE_ZVM=1
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 exists])
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 '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)
dnl Ensure PYTHON is an absolute path
AC_PATH_PROG([PYTHON], [$PYTHON])
AM_PATH_PYTHON
if test -z "$PYTHON"; then
echo "*** Essential program python not found" 1>&2
exit 1
fi
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)
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
if echo "$AGENTS_LIST" | grep -q openstack; then
AC_PYTHON_MODULE(novaclient)
AC_PYTHON_MODULE(keystoneauth1)
AC_PYTHON_MODULE(keystoneclient)
if test "x${HAVE_PYMOD_NOVACLIENT}" != xyes || \
(test "x${HAVE_PYMOD_KEYSTONEAUTH1}" != xyes || \
test "x${HAVE_PYMOD_KEYSTONECLIENT}" != xyes); then
AGENTS_LIST=$(echo "$AGENTS_LIST" | sed -E "s#openstack/fence_openstack.py( |$)##")
AC_MSG_WARN("Not building fence_openstack")
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([DEFAULT_CONFIG_DIR])
AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_DIR], "$(eval echo ${DEFAULT_CONFIG_DIR})",
[Default config directory])
AC_SUBST([DEFAULT_CONFIG_FILE])
AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_FILE], "$(eval echo ${DEFAULT_CONFIG_FILE})",
[Default config file])
AC_SUBST([LOGDIR])
AC_DEFINE_UNQUOTED([LOGDIR], "$(eval echo ${LOGDIR})",
[Default logging directory])
AC_SUBST([CLUSTERVARRUN])
AC_DEFINE_UNQUOTED([CLUSTERVARRUN], "$(eval echo ${CLUSTERVARRUN})",
[Default cluster var/run directory])
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_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])
## *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="
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
CFLAGS="$ENV_CFLAGS $OPT_CFLAGS $GDB_FLAGS \
$EXTRA_WARNINGS $WERROR_CFLAGS"
CPPFLAGS="-I\$(top_builddir)/make -I\$(top_srcdir)/make -I. $ENV_CPPFLAGS"
LDFLAGS="$ENV_LDFLAGS"
AM_EXTRA_RECURSIVE_TARGETS([xml-check xml-upload])
AC_CONFIG_FILES([Makefile
agents/Makefile
lib/Makefile
doc/Makefile])
AC_OUTPUT
diff --git a/fence-agents.spec.in b/fence-agents.spec.in
new file mode 100644
index 00000000..8b478e30
--- /dev/null
+++ b/fence-agents.spec.in
@@ -0,0 +1,1018 @@
+###############################################################################
+###############################################################################
+##
+## Copyright (C) 2019 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
+
+# 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-azure-arm \\
+fence-agents-bladecenter \\
+fence-agents-brocade \\
+fence-agents-cisco-mds \\
+fence-agents-cisco-ucs \\
+fence-agents-compute \\
+fence-agents-docker \\
+fence-agents-drac \\
+fence-agents-drac5 \\
+fence-agents-eaton-snmp \\
+fence-agents-emerson \\
+fence-agents-eps \\
+fence-agents-hds-cb \\
+fence-agents-heuristics-ping \\
+fence-agents-hpblade \\
+fence-agents-ibmblade \\
+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-ironic \\
+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-agents-vmware \\
+fence-agents-vmware-rest \\
+fence-agents-vmware-soap \\
+fence-agents-vmware-vcloud \\
+fence-agents-wti \\
+fence-agents-xenapi \\
+fence-agents-zvm \\
+
+EOF)
+
+%if ! %{defined rhel7_s390x}
+%global allfenceagents %(cat <<EOF
+%{allfenceagents} \\
+fence-agents-aws \\
+fence-agents-gce
+
+EOF)
+%endif
+
+# Build dependencies
+## general
+BuildRequires: autoconf automake libtool
+## 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-suds
+%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
+BuildRequires: python3-google-api-client python3-boto3 openwsman-python3
+%endif
+%if 0%{?suse_version}
+BuildRequires: python3-google-api-python-client 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
+%endif
+%endif
+
+# 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
+./autogen.sh
+%{configure} PYTHON="%{__python3}"
+CFLAGS="$(echo '%{optflags}')" make %{_smp_mflags}
+
+%install
+make install DESTDIR=%{buildroot}
+# 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
+
+%post
+ccs_update_schema > /dev/null 2>&1 ||:
+
+%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_scsi_check*
+%exclude %{_sbindir}/*
+%exclude %{_mandir}/man8/*
+
+%package all
+License: GPLv2+, 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
+%if 0%{?fedora} || 0%{?centos} || 0%{?rhel} > 7 || 0%{?suse_version}
+BuildArch: noarch
+%endif
+%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
+
+%package alom
+License: GPLv2+ and LGPLv2+
+Summary: Fence agent for SUN ALOM
+Requires: telnet openssh-clients
+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: telnet openssh-clients
+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
+%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}
+Requires: python3-azure-sdk
+%else
+Requires: python-azure-sdk
+%endif
+BuildArch: noarch
+Obsoletes: fence-agents
+%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: telnet openssh-clients
+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: telnet openssh-clients
+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 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*
+
+%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
+%else
+Requires: python-requests
+%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*
+
+%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: telnet openssh-clients
+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
+%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
+%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: telnet openssh-clients
+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 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: telnet openssh-clients
+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: telnet openssh-clients
+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_imm
+%{_mandir}/man8/fence_imm.8*
+
+%package ironic
+License: GPLv2+ and LGPLv2+
+Summary: Fence agent for OpenStack's Ironic (Bare Metal as a service)
+Requires: /usr/bin/openstack
+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*
+
+%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 ldom
+License: GPLv2+ and LGPLv2+
+Summary: Fence agent for Sun LDom virtual machines
+Requires: telnet openssh-clients
+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: telnet openssh-clients
+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
+%{_mandir}/man8/fence_mpath.8*
+
+%package netio
+License: GPLv2+ and LGPLv2+
+Summary: Fence agent for Koukaam NETIO devices
+Requires: telnet openssh-clients
+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*
+
+%package ovh
+License: GPLv2+ and LGPLv2+
+Summary: Fence agent for OVH provider
+%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
+Requires: python3-suds
+%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
+%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: telnet openssh-clients
+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: telnet openssh-clients
+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
+%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}
+Requires: python3-suds
+%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
+%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: telnet openssh-clients
+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*
+
+%changelog
+* @date@ Autotools generated version <nobody@nowhere.org> - @version@-@specver@-@numcomm@.@alphatag@.@dirty@
+- Autotools generated version

File Metadata

Mime Type
text/x-diff
Expires
Thu, Feb 27, 5:03 AM (1 d, 17 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1466191
Default Alt Text
(48 KB)

Event Timeline