b562448
###############################################################################
b562448
###############################################################################
b562448
##
b562448
##  Copyright (C) 2019 Red Hat, Inc.  All rights reserved.
b562448
##
b562448
##  This copyrighted material is made available to anyone wishing to use,
b562448
##  modify, copy, or redistribute it subject to the terms and conditions
b562448
##  of the GNU General Public License v.2.
b562448
##
b562448
###############################################################################
b562448
###############################################################################
b562448
b562448
Name:    fence-virt
b562448
Summary: A pluggable fencing framework for virtual machines
cb042eb
Version: 1.0.0
53cac0f
Release: 4%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
b562448
License: GPLv2+
b562448
URL:     https://github.com/ClusterLabs/fence-virt
b562448
Source0: %{name}-%{version}%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}.tar.bz2
b562448
b562448
%if 0%{?suse_version}
b562448
%define nss_devel mozilla-nss-devel
b562448
%define nspr_devel mozilla-nspr-devel
b562448
%define systemd_units systemd
b562448
%else
b562448
%define nss_devel nss-devel
b562448
%define nspr_devel nspr-devel
b562448
%define systemd_units systemd-units
a97cf20
%endif
a97cf20
b562448
BuildRequires: gcc
b562448
BuildRequires: corosynclib-devel libvirt-devel
b562448
BuildRequires: automake autoconf libtool libxml2-devel %{nss_devel} %{nspr_devel}
b562448
BuildRequires: flex bison libuuid-devel
f397fde
b562448
BuildRequires:    systemd-units
7087a0d
BuildRequires: make
b562448
Requires(post):   systemd-sysv systemd-units
b562448
Requires(preun):  systemd-units
b562448
Requires(postun): systemd-units
f397fde
beaa089
Conflicts:	fence-agents < 3.0.5-2
e654b11
e654b11
%prep
52afa6c
%autosetup -p1
e654b11
e654b11
%build
e654b11
./autogen.sh
2ce4ee5
%{configure} --disable-libvirt-qmf-plugin --enable-cpg-plugin
e654b11
make %{?_smp_mflags}
e654b11
e654b11
%install
e654b11
rm -rf %{buildroot}
e654b11
make install DESTDIR=%{buildroot}
e654b11
f397fde
# Systemd unit file
f397fde
mkdir -p %{buildroot}/%{_unitdir}/
f397fde
install -m 0644 fence_virtd.service %{buildroot}/%{_unitdir}/
e654b11
b562448
rm -f %{buildroot}/%{_libdir}/%{name}/*.*a
f397fde
a0773bf
%post
a0773bf
ccs_update_schema > /dev/null 2>&1 ||:
f397fde
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
3f2cf57
if [ $1 -eq 1 ]; then
b562448
    # Initial installation
f397fde
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
f397fde
fi
f397fde
f397fde
%preun
f397fde
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
3f2cf57
if [ $1 -eq 0 ]; then
f397fde
    # Package removal, not upgrade
f397fde
    /bin/systemctl --no-reload disable fence_virtd.service &> /dev/null || :
f397fde
    /bin/systemctl stop fence_virtd.service &> /dev/null || :
f397fde
fi
f397fde
f397fde
%postun
f397fde
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
f397fde
/bin/systemctl daemon-reload &> /dev/null || :
3f2cf57
if [ $1 -ge 1 ]; then
f397fde
    # Package upgrade, not uninstall
f397fde
    /bin/systemctl try-restart fence_virtd.service &> /dev/null || :
f397fde
fi
f397fde
f397fde
%triggerun -- fence_virtd < 0.3.0-1
f397fde
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Packages_migrating_to_a_systemd_unit_file_from_a_SysV_initscript
f397fde
/usr/bin/systemd-sysv-convert --save fence_virtd &> /dev/null || :
f397fde
/sbin/chkconfig --del fence_virtd &> /dev/null || :
f397fde
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
f397fde
/bin/systemctl try-restart fence_virtd.service &> /dev/null || :
f397fde
b562448
%description
b562448
Fencing agent for virtual machines.
b562448
b562448
%files
b562448
%doc COPYING TODO README
b562448
%{_sbindir}/fence_virt
b562448
%{_sbindir}/fence_xvm
b562448
%{_mandir}/man8/fence_virt.*
b562448
%{_mandir}/man8/fence_xvm.*
a0773bf
b562448
%package -n fence-virtd
b562448
Summary: Daemon which handles requests from fence-virt
b562448
%description -n fence-virtd
b562448
This package provides the host server framework, fence_virtd,
b562448
for fence_virt.  The fence_virtd host daemon is resposible for
b562448
processing fencing requests from virtual machines and routing
b562448
the requests to the appropriate physical machine for action.
e654b11
%files -n fence-virtd
e654b11
%{_sbindir}/fence_virtd
f397fde
%{_unitdir}/fence_virtd.service
beaa089
%config(noreplace) %{_sysconfdir}/fence_virt.conf
e654b11
%dir %{_libdir}/%{name}
b562448
%{_libdir}/%{name}/vsock.so
4ee46d9
%{_mandir}/man5/fence_virt.conf.*
4ee46d9
%{_mandir}/man8/fence_virtd.*
e654b11
b562448
%package -n fence-virtd-multicast
b562448
Summary:  Multicast listener for fence-virtd
b562448
Requires: fence-virtd
b562448
%description -n fence-virtd-multicast
b562448
Provides multicast listener capability for fence-virtd.
e654b11
%files -n fence-virtd-multicast
e654b11
%{_libdir}/%{name}/multicast.so
e654b11
b562448
%package -n fence-virtd-serial
b562448
Summary:  Serial VMChannel listener for fence-virtd
b562448
Requires: libvirt >= 0.6.2
b562448
Requires: fence-virtd
b562448
%description -n fence-virtd-serial
b562448
Provides serial VMChannel listener capability for fence-virtd.
4ee46d9
%files -n fence-virtd-serial
4ee46d9
%{_libdir}/%{name}/serial.so
e654b11
b562448
%package -n fence-virtd-tcp
b562448
Summary:  TCP listener for fence-virtd
b562448
Requires: fence-virtd
b562448
%description -n fence-virtd-tcp
b562448
Provides TCP listener capability for fence-virtd.
2ce4ee5
%files -n fence-virtd-tcp
2ce4ee5
%{_libdir}/%{name}/tcp.so
2ce4ee5
b562448
%package -n fence-virtd-libvirt
b562448
Summary:  Libvirt backend for fence-virtd
b562448
Requires: libvirt >= 0.6.0
b562448
Requires: fence-virtd
b562448
%description -n fence-virtd-libvirt
b562448
Provides fence_virtd with a connection to libvirt to fence
b562448
virtual machines.  Useful for running a cluster of virtual
b562448
machines on a desktop.
4ee46d9
%files -n fence-virtd-libvirt
b562448
%{_libdir}/%{name}/virt.so
e654b11
b562448
%package -n fence-virtd-cpg
b562448
Summary:  CPG/libvirt backend for fence-virtd
b562448
Requires: corosynclib
b562448
Requires: fence-virtd
b562448
%description -n fence-virtd-cpg
b562448
Provides fence_virtd with a connection to libvirt to fence
b562448
virtual machines. Uses corosync CPG to keep track of VM
b562448
locations to allow for non-local VMs to be fenced when VMs
b562448
are located on corosync cluster nodes.
2ce4ee5
%files -n fence-virtd-cpg
2ce4ee5
%{_libdir}/%{name}/cpg.so
2ce4ee5
e654b11
%changelog
53cac0f
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-4
53cac0f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
53cac0f
00cce8d
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
00cce8d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
00cce8d
3f2cf57
* Mon May 18 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 1.0.0-2
3f2cf57
- Rebuilt for libqb2.0
3f2cf57
cb042eb
* Tue Mar 10 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 1.0.0-1
cb042eb
- Rebase to fence-virt-1.0.0
cb042eb
536b979
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-2
536b979
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
536b979
b562448
* Thu Nov 21 2019 Oyvind Albrigtsen <oalbrigt@redhat.com> - 0.9.0-1
b562448
- Rebase to fence-virt-0.9.0
b562448
cb778ec
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-11
cb778ec
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
cb778ec
92efecc
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-10
92efecc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
92efecc
7e82ab2
* Fri Jul 13 2018 Ryan McCabe <rmccabe@redhat.com> - 0.4.0-9
7e82ab2
- Add gcc-c++ to build deps.
7e82ab2
31467d6
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-8
31467d6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
31467d6
85eda63
* Thu May 31 2018 Ryan McCabe <rmccabe@redhat.com> - 0.4.0-7
9855619
- Return control to the dispatch loop if select is interrupted by a signal.
9855619
52afa6c
* Tue May 29 2018 Rafael dos Santos <rdossant@redhat.com> - 0.4.0-5
52afa6c
- Use Fedora standard build/linker flags (rhbz#1548424)
52afa6c
da127fa
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-4
da127fa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
da127fa
21cbefd
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-3
21cbefd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
21cbefd
cf9dda0
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-2
cf9dda0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
cf9dda0
2ce4ee5
* Mon Jun 05 2017 Ryan McCabe <rmccabe@redhat.com> - 0.4.0-1
2ce4ee5
- Rebase to fence-virt-0.4.0
2ce4ee5
22ffd1e
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-7
22ffd1e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
22ffd1e
b54713a
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-6
b54713a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
b54713a
a9bd483
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-5
a9bd483
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
a9bd483
56da80c
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.3.2-4
56da80c
- Rebuilt for GCC 5 C++11 ABI change
56da80c
9d02ff5
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-3
9d02ff5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
9d02ff5
3651b93
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-2
3651b93
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
3651b93
7f6fcc9
* Mon Nov 04 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.2-1
7f6fcc9
- New upstream version 0.3.2
7f6fcc9
21b6e7f
* Sun Nov 03 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.1-1
1aeef05
- Drop executable flags of manual pages
1aeef05
- Fix for missed libvirtd events
1aeef05
- Fix for broken systemd service file
1aeef05
7aabfc5
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-15
7aabfc5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
7aabfc5
0a4814f
* Wed Jul 10 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-14
0a4814f
- Fail properly when unable to bind the TCP listener socket.
0a4814f
- Resolves: rhbz#814515
0a4814f
a97cf20
* Tue May 07 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-13
a97cf20
- Rebuild
a97cf20
b80e15c
* Tue May 07 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-12
b80e15c
- Drop libvirt-qmf-plugin
b80e15c
a8ea911
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-11
a8ea911
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
a8ea911
beb7932
* Fri Nov 02 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-10
beb7932
- bswap fix for big endian
beb7932
c2310e9
* Fri Nov 02 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-9
c2310e9
- Return success if a domain exists but is already off.
c2310e9
6548f64
* Thu Oct 25 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-8
6548f64
- Version bump
6548f64
43bec86
* Thu Oct 25 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-7
43bec86
- Fix uninitialized variable for the -w option.
43bec86
65786b0
* Mon Oct 15 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-6
65786b0
- Add a -w (delay) option.
65786b0
- Return failure when attempting to fence a nonexistent domain
65786b0
- Improve man pages
65786b0
b0b3e1f
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-5
b0b3e1f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
b0b3e1f
375529f
* Tue Mar 27 2012 Ryan McCabe <rmccabe@fedoraproject.org> 0.3.0-4
375529f
- Add QPid build fix patch from upstream.
375529f
134849f
* Fri Feb 10 2012 Lon Hohberger <lon@fedoraproject.org> 0.3.0-2
134849f
- Fix URL / Source0 lines
134849f
  Resolves: Fedora#706560
134849f
f397fde
* Tue Feb 07 2012 Lon Hohberger <lhh@redhat.com> 0.3.0-1
f397fde
- Rebase from upstream to 0.3.0
f397fde
- Systemd unit file integration
f397fde
- Pacemaker backend
f397fde
- Various fixes for startup
f397fde
- Rename libvirt-qpid to libvirt-qmf backend
f397fde
- Updated default configuration for easier deployment on
f397fde
  Fedora systems
f397fde
f397fde
* Tue Feb 07 2012 Lon Hohberger <lhh@redhat.com> - 0.2.3-6
97a8707
- Bump and rebuild
97a8707
f397fde
* Tue Feb 07 2012 Lon Hohberger <lhh@redhat.com> - 0.2.3-5
b7969af
- Fixup changelog
b7969af
1d21f34
* Mon Feb 06 2012 Lon Hohberger <lhh@redhat.com> - 0.2.3-4
1d21f34
- Drop checkpoint backend since cman and openais are gone
1d21f34
2301820
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.3-3
2301820
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2301820
a0773bf
* Fri Jul  8 2011 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.2.3-2
a0773bf
- add post call to fence-virt to integrate with cluster 3.1.4
a0773bf
74e174d
* Wed Jun 29 2011 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.3-1
74e174d
- new upstream release fix compat regression
74e174d
74e174d
* Mon Jun 27 2011 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.2-1
828057a
- new upstream release
828057a
74e174d
* Mon May 09 2011 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.1-5
5925bb8
- Rebuilt for libqmfconsole soname change
5925bb8
652f644
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.1-4
652f644
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
652f644
4e926fa
* Thu Apr 01 2010 Lon Hohberger <lhh@redhat.com> 0.2.1-3
4e926fa
- Update specfile to require correct qpid/qmf libraries
4e926fa
- Resolves: bz#565111
4e926fa
6e43707
* Tue Feb 23 2010 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.1-2
6e43707
- Update spec file to handle correctly versioned Requires
6e43707
ca8f116
* Fri Jan 15 2010 Lon Hohberger <lhh@redhat.com> 0.2.1-1
ca8f116
- Update to latest upstream version
ca8f116
- Fix bug around status return codes for VMs which are 'off'
ca8f116
4ee46d9
* Thu Jan 14 2010 Lon Hohberger <lhh@redhat.com> 0.2-1
4ee46d9
- Update to latest upstream version
4ee46d9
- Serial & VMChannel listener support
4ee46d9
- Static permission map support
4ee46d9
- Man pages
4ee46d9
- Init script
4ee46d9
- Various bugfixes
4ee46d9
beaa089
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1.3-1
beaa089
- Update to latest upstream version
beaa089
- Adds libvirt-qpid backend support
beaa089
- Fixes UUID operation with libvirt backend
beaa089
- Adds man page for fence_xvm and fence_virt
beaa089
- Provides fence_xvm compatibility for cluster 3.0.6
beaa089
e654b11
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1.2-1
e654b11
- Update to latest upstream version
e654b11
- Fix build issue on i686
e654b11
e654b11
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1.1-1
e654b11
- Update to latest upstream version
e654b11
- Clean up spec file
e654b11
e654b11
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1-2
e654b11
- Spec file cleanup
e654b11
e654b11
* Thu Sep 17 2009 Lon Hohberger <lhh@redhat.com> 0.1-1
e654b11
- Initial build for rawhide