From a8f6774ad2693bebb5c45b437815a3dfc777627f Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 08:50:18 +0200 Subject: Adding debian version 4.12.1-1. Signed-off-by: Daniel Baumann --- debian/changelog | 406 +++++++++++++++++++++++++++++++++ debian/clean | 2 + debian/control | 103 +++++++++ debian/copyright | 61 +++++ debian/fence-agents.docs | 2 + debian/fence-agents.install | 9 + debian/fence-virt.docs | 3 + debian/fence-virt.install | 4 + debian/fence-virtd.docs | 3 + debian/fence-virtd.fence_virtd.init | 26 +++ debian/fence-virtd.install | 5 + debian/fence-virtd.postinst | 45 ++++ debian/fence-virtd.postrm | 41 ++++ debian/patches/disable-network-access | 27 +++ debian/patches/enable-zvm-agent | 17 ++ debian/patches/fence-virt-key | 17 ++ debian/patches/logging-warn-deprecated | 65 ++++++ debian/patches/series | 6 + debian/patches/spelling | 37 +++ debian/patches/systemd-syslog-target | 16 ++ debian/rules | 93 ++++++++ debian/salsa-ci.yml | 4 + debian/source/format | 1 + debian/tests/control | 20 ++ debian/tests/delay | 34 +++ debian/tests/fence-aws | 47 ++++ debian/tests/fence-dummy | 14 ++ debian/tests/metadata | 23 ++ debian/upstream/metadata | 4 + debian/watch | 2 + 30 files changed, 1137 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/clean create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/fence-agents.docs create mode 100644 debian/fence-agents.install create mode 100644 debian/fence-virt.docs create mode 100644 debian/fence-virt.install create mode 100644 debian/fence-virtd.docs create mode 100644 debian/fence-virtd.fence_virtd.init create mode 100644 debian/fence-virtd.install create mode 100644 debian/fence-virtd.postinst create mode 100644 debian/fence-virtd.postrm create mode 100644 debian/patches/disable-network-access create mode 100644 debian/patches/enable-zvm-agent create mode 100644 debian/patches/fence-virt-key create mode 100644 debian/patches/logging-warn-deprecated create mode 100644 debian/patches/series create mode 100644 debian/patches/spelling create mode 100644 debian/patches/systemd-syslog-target create mode 100755 debian/rules create mode 100644 debian/salsa-ci.yml create mode 100644 debian/source/format create mode 100644 debian/tests/control create mode 100755 debian/tests/delay create mode 100755 debian/tests/fence-aws create mode 100755 debian/tests/fence-dummy create mode 100755 debian/tests/metadata create mode 100644 debian/upstream/metadata create mode 100644 debian/watch diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..1eeea82 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,406 @@ +fence-agents (4.12.1-1) unstable; urgency=medium + + * New upstream version 4.12.1 (Closes: #1029768) + + -- Valentin Vidic Sat, 28 Jan 2023 09:06:44 +0100 + +fence-agents (4.12.0-1) unstable; urgency=medium + + [ Lucas Kanashiro ] + * d/rules: use $DEB_HOST_ARCH variable to detect host architecture + * d/rules: disable -Wstringop-truncation in s390x to fix a FTBFS with GCC 12 + + [ Valentin Vidic ] + * New upstream version 4.12.0 + * Refresh patches for new version + * Update Debian copyright year + * Update Standards-Version to 4.6.2 + * Update metadata test for new version + * Create temporary directory for agents + * Leave zvm agent enabled + * Generate secret key on package install + + -- Valentin Vidic Sat, 14 Jan 2023 15:44:02 +0100 + +fence-agents (4.11.0-1) unstable; urgency=medium + + * New upstream version 4.11.0 + * Refresh patches for new version + * Create packages for fence-virt and fence-virtd + * Update watch file url + * Update Debian copyright + * Update Standards-Version to 4.6.0 + * Cleanup lintian-overrides + * Fix lintian warning for syslog.target + * Replace deprecated logging.warn calls + * Ignore warnings in metadata output + + -- Valentin Vidic Sun, 01 May 2022 17:51:59 +0200 + +fence-agents (4.7.1-1) unstable; urgency=medium + + * New upstream version 4.7.1 + * Update dependencies for new version + + -- Valentin Vidic Mon, 08 Feb 2021 20:32:01 +0100 + +fence-agents (4.7.0-1) unstable; urgency=medium + + * New upstream version 4.7.0 + * Run delay test using dash again + * Update watch file version + * Include pkgconfig in the package + + -- Valentin Vidic Thu, 10 Dec 2020 21:25:57 +0100 + +fence-agents (4.6.0-3) unstable; urgency=medium + + * Run delay test using bash (Closes: #975543) + * Update Standards-Version to 4.5.1 + + -- Valentin Vidic Tue, 01 Dec 2020 22:28:44 +0100 + +fence-agents (4.6.0-2) unstable; urgency=medium + + [ Rafael David Tinoco ] + * d/t/metadata: force gawk and fix warning message + + [ Valentin Vidic ] + * Cleanup unused lintian-overrides + * Fix failing reproducible build with some locales + * Run delay test in parallel to save time + + -- Valentin Vidic Sat, 17 Oct 2020 11:15:38 +0200 + +fence-agents (4.6.0-1) unstable; urgency=medium + + * New upstream version 4.6.0 + * Refresh patches for new version + * Update lintian-overrides for new version + * Fix awk warning in autopkgtest + + -- Valentin Vidic Wed, 02 Sep 2020 22:27:26 +0200 + +fence-agents (4.5.2-3) unstable; urgency=medium + + * Move fence_kdump_send to /usr/libexec + * Remove Build-Depends on openstack modules + * Remove explicit dh_missing call + * Fix package description + * Add comment why tests are disabled during build + + -- Valentin Vidic Sat, 16 May 2020 12:13:29 +0200 + +fence-agents (4.5.2-2) unstable; urgency=medium + + [ Valentin Vidic ] + * Enable CI on salsa + * Fix lintian manpage warnings + * Move testing to autopkgtest + * Fix build error on autodetect agents + * Add skippable test for fence_aws + * Update Standards-Version to 4.5.0 + * Use debhelper-compat version 13 + * Update Maintainer mailing list + + [ Debian Janitor ] + * debian/copyright: use spaces rather than tabs to start continuation lines. + * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, + Repository-Browse. + + -- Valentin Vidic Wed, 13 May 2020 20:14:32 +0200 + +fence-agents (4.5.2-1) unstable; urgency=medium + + * New upstream version 4.5.2 + * Update Standards-Version to 4.4.1 + * Build using Rules-Requires-Root: no + + -- Valentin Vidic Wed, 23 Oct 2019 19:40:34 +0200 + +fence-agents (4.5.1-1) unstable; urgency=medium + + * New upstream version 4.5.1 + * Drop patch remove-fence_amt_ws + * Use debhelper-compat version 12 + + -- Valentin Vidic Sun, 29 Sep 2019 12:48:33 +0200 + +fence-agents (4.4.0-2) unstable; urgency=medium + + * Update patch for removing fence_amt_ws (Closes: #934519) + + -- Valentin Vidic Fri, 16 Aug 2019 15:07:06 +0200 + +fence-agents (4.4.0-1) unstable; urgency=medium + + * New upstream version 4.4.0 + * Update Standards-Version to 4.4.0 + * Refresh patches for new version + * Update lintian override for manpage + + -- Valentin Vidic Sun, 14 Jul 2019 14:00:16 +0200 + +fence-agents (4.3.3-2) unstable; urgency=high + + * fence_rhevm: add patch for CVE-2019-10153 (Closes: #930887) + Including non-ASCII characters in a guest VM's comment or other fields + would cause fence_rhevm to exit with an exception. + + -- Valentin Vidic Sun, 23 Jun 2019 19:53:35 +0200 + +fence-agents (4.3.3-1) unstable; urgency=medium + + * New upstream version 4.3.3 + + -- Valentin Vidic Mon, 03 Dec 2018 19:32:54 +0100 + +fence-agents (4.3.2-2) unstable; urgency=medium + + * Pass PING{,4,6}_CMD to configure (Closes: #915240) + + -- Valentin Vidic Sun, 02 Dec 2018 10:17:57 +0100 + +fence-agents (4.3.2-1) unstable; urgency=medium + + * New upstream version 4.3.2 + + -- Valentin Vidic Thu, 29 Nov 2018 16:34:08 +0100 + +fence-agents (4.3.1-1) unstable; urgency=medium + + * New upstream version 4.3.1 + * Refresh patches for new version + * Update openstack dependencies + + -- Valentin Vidic Thu, 18 Oct 2018 09:02:10 +0200 + +fence-agents (4.3.0-1) unstable; urgency=medium + + * New upstream version 4.3.0 + * fence_sbd: fix location of sbd binary + * fence_openstack: add required python modules + * Skip disabled agents in package description + * Refresh patches for new version + * Update Standards-Version to 4.2.1 + * Update my email address in Uploaders + + -- Valentin Vidic Sat, 06 Oct 2018 22:30:26 +0200 + +fence-agents (4.2.1-1) unstable; urgency=medium + + * New upstream version 4.2.1 + * Refresh patches for new version + + -- Valentin Vidic Thu, 31 May 2018 14:44:59 +0200 + +fence-agents (4.2.0-3) unstable; urgency=medium + + * Move python3-requests and python3-suds to Depends (Closes: #899381) + + -- Valentin Vidic Wed, 23 May 2018 17:41:54 +0200 + +fence-agents (4.2.0-2) unstable; urgency=medium + + * fence_scsi: fix Unicode error with python3 (Closes: #899310) + * Add autopkgtest for agent metadata + + -- Valentin Vidic Wed, 23 May 2018 16:37:33 +0200 + +fence-agents (4.2.0-1) unstable; urgency=medium + + * New upstream version 4.2.0 + * Refresh patches for new version + * Ignore long line in manpage + * Update debian/copyright after file rename + * Include upstream README and API documents + * Rename debian/install file + * Disable testing for agents accessing the network + + -- Valentin Vidic Sun, 20 May 2018 21:41:39 +0200 + +fence-agents (4.1.1-2) unstable; urgency=medium + + * Update Vcs URLs to use salsa + * Update Standards-Version to 4.1.4 + + -- Valentin Vidic Wed, 11 Apr 2018 16:22:49 +0200 + +fence-agents (4.1.1-1) unstable; urgency=medium + + * New upstream version 4.1.1 + * Switch the agents to python3 + * Refresh patches for new version + * Reoder paragraphs in debian/copyright + * Switch to debhelper v11 + * Remove XS-Testsuite from debian/control + * Add cleanup of autogenerated files + * Enable hardening for compiled agents + * BUILD_DATE not needed for reproducible builds anymore + * Suggest python3 modules required for fence_azure_arm + * Remove unused paragraphs from debian/copyright + * Update Standards-Version to 4.1.3 + * Replace cman Conflicts with Breaks + * Add patch for spelling errors reported by lintian + * Add descriptions for Debian patches + * Add iputils-ping to Build-Depends + * Fix version reported by agents + + -- Valentin Vidic Sun, 18 Feb 2018 15:29:05 +0100 + +fence-agents (4.0.25-2) unstable; urgency=medium + + [ Christoph Berg ] + * Update watch file and homepage to point at github. + * Remove myself from Uploaders. + + [ Valentin Vidic ] + * Add myself to uploaders. + * Ignore lintian warning for fence_ironic description. + * Disable Internet access during build (Closes: #849336) + * Update Standards-Version to 4.1.1. + * Update debhelper to v10. + * Use dh_missing --fail-missing. + * Remove trailing whitespace in debian/changelog. + * Use versioned URL for debian/copyright Format. + + -- Valentin Vidic Sun, 03 Dec 2017 20:12:11 +0100 + +fence-agents (4.0.25-1) unstable; urgency=medium + + * Team upload. + * New upstream version. + + -- Christoph Berg Mon, 23 Jan 2017 11:36:48 +0100 + +fence-agents (4.0.24-1) unstable; urgency=medium + + * New upstream version. + + -- Adrian Vondendriesch Sat, 17 Sep 2016 15:56:50 +0200 + +fence-agents (4.0.23-2) unstable; urgency=medium + + * Set LC_ALL=C when sorting list of agents in the description to get + reproducible ordering. + + -- Christoph Berg Thu, 07 Jul 2016 15:53:39 +0200 + +fence-agents (4.0.23-1) unstable; urgency=medium + + * New upstream version. + * Disable the new fence_amt_ws agent because we don't have openwsman + (and sblim-sfcc) in Debian yet + * Include list of agents in package description. + + -- Christoph Berg Wed, 06 Jul 2016 13:33:49 +0200 + +fence-agents (4.0.22-3) unstable; urgency=medium + + * Add dh_python2 override to compile python files. (Closes: #816270) + + -- Adrian Vondendriesch Sun, 13 Mar 2016 14:41:07 +0100 + +fence-agents (4.0.22-2) unstable; urgency=medium + + * Grab missing fence_zvm.h from upstream. + * Remove fence_zvm on non-s390x, it's a no-op anyway. + + -- Christoph Berg Sat, 06 Feb 2016 12:34:18 +0100 + +fence-agents (4.0.22-1) unstable; urgency=medium + + * New upstream version. + + -- Christoph Berg Fri, 05 Feb 2016 16:55:20 +0100 + +fence-agents (4.0.21-2) unstable; urgency=medium + + * fence_scsi: Fix /sbin/vgs path. + + -- Christoph Berg Thu, 24 Sep 2015 13:43:17 +0200 + +fence-agents (4.0.21-1) unstable; urgency=medium + + * New upstream version. + + -- Christoph Berg Sat, 12 Sep 2015 18:42:15 +0200 + +fence-agents (4.0.19-1) unstable; urgency=medium + + [ Adrian Vondendriesch ] + * New upstream version. + * Remove obsolete "fix-agents" patch. Changes are merged upstream. + * Add myself to uploaders. + * Add "--fail-missing" to debian/rules. + * Add fix-virsh-man-page-unexpected-special-character patch to prevent nroff + related lintian errors. + + -- Christoph Berg Mon, 27 Jul 2015 20:29:03 +0200 + +fence-agents (4.0.18-1) unstable; urgency=medium + + * New upstream version. + * Use debian/changelog date for BUILD_DATE in scripts to make package builds + reproducible. + * Promote python-pycurl and python-pexpect to Depends, they are needed by + all scripts. + * Remove deprecated XS-Python-Version: current. + * Run a simple --help test on all agents. + + -- Christoph Berg Sat, 16 May 2015 19:22:41 +0200 + +fence-agents (4.0.17-1) unstable; urgency=medium + + * New upstream version. + + Verifies remote SSL certificates (implemented in 4.0.12, Closes: #764801). + CVE-2014-0104 + + fence_zvmip was rewritten in Python (Closes: #765191). + * Add python-requests and time to Build-Depends, add python-requests and + python-suds to Suggests (needed by fence_vmware_soap). + * Add dh-python to Build-Depends. + * Fix perl dependencies. + * Remove hardening-wrapper, use buildflags.mk instead. + * Remove obsolete lintian override file. + * Add autopkgtest script provided by Alexander Sosna. + * Add myself to Uploaders; bump Standards-Version. + + -- Christoph Berg Wed, 22 Apr 2015 14:18:52 +0200 + +fence-agents (4.0.7.1-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Add libxml2-utils to Build-Depends to get xmllint (Closes: #741813). + + -- Aurelien Jarno Tue, 23 Sep 2014 20:58:23 +0200 + +fence-agents (4.0.7.1-2) unstable; urgency=medium + + * New upstream release + * debian/control: Bump Standards-Version + + -- Martin Loschwitz Fri, 21 Feb 2014 13:09:10 +0000 + +fence-agents (4.0.0-1) experimental; urgency=low + + * New upstream version + * debian/patches/fix_manpages.patch: Drop; it's included upstream now + + -- Martin Loschwitz Thu, 21 Mar 2013 08:26:47 +0000 + +fence-agents (3.1.5-2) unstable; urgency=low + + * Adopted numerous changes from the fence-agents Ubuntu package in order + to make co-maintaining this package easier, including these changes: + - debian/patches/fix_manpages.patch: Fix some manpage errors. + - debian/lintian.overrides: Add lintian overrides. + Special thanks goes to Andres Rodriguez from Ubuntu! + * Include the files in /usr/share/cluster/relaxng/ in the package + + -- Martin Loschwitz Thu, 24 Nov 2011 10:14:01 +0000 + +fence-agents (3.1.5-1) unstable; urgency=low + + * Initial release (Closes: #538203) + + -- Martin Loschwitz Mon, 29 Aug 2011 12:43:41 +0000 diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..d83890e --- /dev/null +++ b/debian/clean @@ -0,0 +1,2 @@ +.tarball-version +.version diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..26e8d27 --- /dev/null +++ b/debian/control @@ -0,0 +1,103 @@ +Source: fence-agents +Section: admin +Priority: optional +Maintainer: Debian HA Maintainers +Uploaders: Adrian Vondendriesch , + Valentin Vidic +Build-Depends: autoconf, + automake, + bison, + debhelper-compat (= 13), + dh-python, + flex, + iputils-ping, + libcpg-dev, + libglib2.0-dev, + libnet-telnet-perl, + libnspr4-dev, + libnss3-dev, + libtool, + libvirt-dev, + libxml2-dev, + libxml2-utils, + perl, + python3, + python3-boto3, + python3-googleapi, + python3-kubernetes, + python3-oauth2client, + python3-pexpect, + python3-pycurl, + python3-requests, + python3-suds, + systemd, + time, + uuid-dev, + xsltproc, +Rules-Requires-Root: no +Standards-Version: 4.6.2 +Homepage: https://github.com/ClusterLabs/fence-agents +Vcs-Browser: https://salsa.debian.org/ha-team/fence-agents +Vcs-Git: https://salsa.debian.org/ha-team/fence-agents.git + +Package: fence-agents +Architecture: any +Depends: ${misc:Depends}, ${perl:Depends}, ${python3:Depends}, ${shlibs:Depends}, + python3-boto3, + python3-googleapi, + python3-oauth2client, + python3-pycurl, + python3-pexpect, + python3-requests, + python3-suds +Breaks: cman (<= 3.0.12-2ubuntu4) +Replaces: cman (<= 3.0.12-2ubuntu4) +Recommends: libnet-telnet-perl, + openssh-client, + sg3-utils, + snmp +Suggests: fence-virt, +# Needed by fence_azure_arm: + python3-adal, + python3-azure, +# Needed by fence_openstack: + python3-keystoneauth1, + python3-keystoneclient, + python3-novaclient, +# Needed by fence_kubevirt: + python3-kubernetes, +Description: Fence Agents for Red Hat Cluster + Red Hat Fence Agents is a collection of scripts to handle remote + power management for several devices. They allow failed or + unreachable nodes to be forcibly restarted and removed from the + cluster. + . + Fence agents included: + ${agents} + +Package: fence-virt +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Pluggable fencing framework for virtual machines - agent + The fencing framework consists of the agent (fence_virt) and + the host daemon (fence_virtd). The fence_virtd host daemon is + responsible for processing fencing requests from fence_virt agents + running in virtual machines and routing the requests to the + appropriate physical machine for action. + . + This package contains the fence_virt agent to be used inside the + virtual machine. + +Package: fence-virtd +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: Pluggable fencing framework for virtual machines - daemon + The fencing framework consists of the agent (fence_virt) and + the host daemon (fence_virtd). The fence_virtd host daemon is + responsible for processing fencing requests from fence_virt agents + running in virtual machines and routing the requests to the + appropriate physical machine for action. + . + This package contains the fence_virtd daemon to be used on the + physical host. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..d1628f7 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,61 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: fence-agents +Source: https://github.com/ClusterLabs/fence-agents + +Files: * +Copyright: 1997-2003 Sistina Software, Inc. All rights reserved. + 2004-2008 Red Hat, Inc. All rights reserved. +License: GPL-2+ + +Files: debian/* +Copyright: 2011 Andres Rodriguez + 2011-2014 Martin Loschwitz + 2014 Aurelien Jarno + 2014-2017 Christoph Berg + 2016 Adrian Vondendriesch + 2017-2023 Valentin Vidic +License: GPL-2+ + +Files: agents/apc_snmp/powernet369.mib +Copyright: 2005 American Power Conversion, Inc. +License: GPL-2+ + +Files: agents/ifmib/fence_ifmib.py +Copyright: 2008 Ross Vandegrift. +License: GPL-2+ + +Files: agents/vmware/fence_vmware_helper.pl +Copyright: Zach Lowry +License: GPL-2+ + +Files: agents/zvm/fence_zvm.* +Copyright: (C) 2012 Sine Nomine Associates +License: LGPL-2.1+ + +License: GPL-2+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. diff --git a/debian/fence-agents.docs b/debian/fence-agents.docs new file mode 100644 index 0000000..37737c2 --- /dev/null +++ b/debian/fence-agents.docs @@ -0,0 +1,2 @@ +README.md +doc/FenceAgentAPI.md diff --git a/debian/fence-agents.install b/debian/fence-agents.install new file mode 100644 index 0000000..61a726a --- /dev/null +++ b/debian/fence-agents.install @@ -0,0 +1,9 @@ +usr/lib/tmpfiles.d/fence-agents.conf +usr/libexec/fence-agents/fence_kdump_send +usr/sbin/fence* +usr/share/cluster/fence* +usr/share/cluster/relaxng* +usr/share/doc +usr/share/fence* +usr/share/man/man8/fence* +usr/share/pkgconfig/fence-agents.pc diff --git a/debian/fence-virt.docs b/debian/fence-virt.docs new file mode 100644 index 0000000..8049b66 --- /dev/null +++ b/debian/fence-virt.docs @@ -0,0 +1,3 @@ +agents/virt/docs/architecture.txt +agents/virt/docs/fence_virt.txt +agents/virt/docs/README diff --git a/debian/fence-virt.install b/debian/fence-virt.install new file mode 100644 index 0000000..7bbfe98 --- /dev/null +++ b/debian/fence-virt.install @@ -0,0 +1,4 @@ +usr/sbin/fence_virt +usr/sbin/fence_xvm +usr/share/man/man8/fence_virt.8 +usr/share/man/man8/fence_xvm.8 diff --git a/debian/fence-virtd.docs b/debian/fence-virtd.docs new file mode 100644 index 0000000..8049b66 --- /dev/null +++ b/debian/fence-virtd.docs @@ -0,0 +1,3 @@ +agents/virt/docs/architecture.txt +agents/virt/docs/fence_virt.txt +agents/virt/docs/README diff --git a/debian/fence-virtd.fence_virtd.init b/debian/fence-virtd.fence_virtd.init new file mode 100644 index 0000000..bef63c3 --- /dev/null +++ b/debian/fence-virtd.fence_virtd.init @@ -0,0 +1,26 @@ +#!/bin/sh +# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing. +if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then + set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script +fi +### BEGIN INIT INFO +# Provides: fence_virtd +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Should-Start: corosync libvirtd +# Should-Stop: corosync libvirtd +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Fence-Virt system host daemon +# Description: Starts and stops fence_virtd daemon. +### END INIT INFO + +NAME="fence_virtd" +DESC="fence_virtd daemon" +DAEMON="/usr/sbin/$NAME" +PIDFILE="/run/$NAME.pid" + +CONFIG="/etc/default/$NAME" +[ -f "$CONFIG" ] && . "$CONFIG" + +DAEMON_ARGS="${FENCE_VIRTD_ARGS:--w}" diff --git a/debian/fence-virtd.install b/debian/fence-virtd.install new file mode 100644 index 0000000..3f9f6f1 --- /dev/null +++ b/debian/fence-virtd.install @@ -0,0 +1,5 @@ +etc/fence_virt.conf +usr/lib/*/fence-virt/*.so +usr/sbin/fence_virtd +usr/share/man/man5/fence_virt.conf.5 +usr/share/man/man8/fence_virtd.8 diff --git a/debian/fence-virtd.postinst b/debian/fence-virtd.postinst new file mode 100644 index 0000000..a2fc829 --- /dev/null +++ b/debian/fence-virtd.postinst @@ -0,0 +1,45 @@ +#!/bin/sh +# postinst script for fence-virtd +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + if ! test -e /etc/fence_virt.key; then + OLD_UMASK=$(umask) + umask 077 + dd if=/dev/urandom of=/etc/fence_virt.key bs=4096 count=1 status=none + umask "$OLD_UMASK" + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/fence-virtd.postrm b/debian/fence-virtd.postrm new file mode 100644 index 0000000..22cc7ba --- /dev/null +++ b/debian/fence-virtd.postrm @@ -0,0 +1,41 @@ +#!/bin/sh +# postrm script for fence-virtd +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge) + rm -f /etc/fence_virt.key + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/patches/disable-network-access b/debian/patches/disable-network-access new file mode 100644 index 0000000..772f614 --- /dev/null +++ b/debian/patches/disable-network-access @@ -0,0 +1,27 @@ +Description: Disable Internet access during build + Agents try to resolve and access hostname 'test', use + 127.0.0.1 instead. + . + Disable testing for ovh as it tries to access SOAP service + on www.ovh.com. +Author: Valentin Vidic +Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849336 +Last-Update: 2017-12-03 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/agents/Makefile.am ++++ b/agents/Makefile.am +@@ -67,11 +67,11 @@ + FENCE_TEST_ARGS = \ + login=test\n\ + passwd=test\n\ +-ipaddr=test\n\ ++ipaddr=127.0.0.1\n\ + port=1\n\ + managed=1\n\ + devices=test\n\ +-session_url=http://test\n\ ++session_url=http://127.0.0.1\n\ + email=test@test.te\n\ + ping_targets=localhost + diff --git a/debian/patches/enable-zvm-agent b/debian/patches/enable-zvm-agent new file mode 100644 index 0000000..4b50e40 --- /dev/null +++ b/debian/patches/enable-zvm-agent @@ -0,0 +1,17 @@ +Description: Leave zvm enabled + Remove agent after bookworm release. +Author: Valentin Vidic +Last-Update: 2023-01-14 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/configure.ac ++++ b/configure.ac +@@ -196,7 +196,7 @@ + fi + + FENCE_ZVM=0 +-if echo "$AGENTS_LIST" | grep -q -E "zvm( |$)"; then ++if echo "$AGENTS_LIST" | grep -q -E "all|zvm( |$)"; then + FENCE_ZVM=1 + fi + diff --git a/debian/patches/fence-virt-key b/debian/patches/fence-virt-key new file mode 100644 index 0000000..8b517eb --- /dev/null +++ b/debian/patches/fence-virt-key @@ -0,0 +1,17 @@ +Description: Update path for key file + Daemon does not start if the key file is missing. +Author: Valentin Vidic +Last-Update: 2023-01-14 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/agents/virt/config/fence_virt.conf ++++ b/agents/virt/config/fence_virt.conf +@@ -5,7 +5,7 @@ + + listeners { + multicast { +- key_file = "/etc/cluster/fence_xvm.key"; ++ key_file = "/etc/fence_virt.key"; + address = "225.0.0.12"; + # Needed on Fedora systems + interface = "virbr0"; diff --git a/debian/patches/logging-warn-deprecated b/debian/patches/logging-warn-deprecated new file mode 100644 index 0000000..77ab206 --- /dev/null +++ b/debian/patches/logging-warn-deprecated @@ -0,0 +1,65 @@ +Description: Replace deprecated logging function +Author: Valentin Vidic +Last-Update: 2022-05-01 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/agents/aliyun/fence_aliyun.py ++++ b/agents/aliyun/fence_aliyun.py +@@ -15,7 +15,7 @@ + from aliyunsdkcore.auth.credentials import EcsRamRoleCredential + from aliyunsdkcore.profile import region_provider + except ImportError as e: +- logging.warn("The 'aliyunsdkcore' module has been not installed or is unavailable, try to execute the command 'pip install aliyun-python-sdk-core --upgrade' to solve. error: %s" % e) ++ logging.warning("The 'aliyunsdkcore' module has been not installed or is unavailable, try to execute the command 'pip install aliyun-python-sdk-core --upgrade' to solve. error: %s" % e) + + + try: +@@ -24,7 +24,7 @@ + from aliyunsdkecs.request.v20140526.StopInstanceRequest import StopInstanceRequest + from aliyunsdkecs.request.v20140526.RebootInstanceRequest import RebootInstanceRequest + except ImportError as e: +- logging.warn("The 'aliyunsdkecs' module has been not installed or is unavailable, try to execute the command 'pip install aliyun-python-sdk-ecs --upgrade' to solve. error: %s" % e) ++ logging.warning("The 'aliyunsdkecs' module has been not installed or is unavailable, try to execute the command 'pip install aliyun-python-sdk-ecs --upgrade' to solve. error: %s" % e) + + + def _send_request(conn, request): +@@ -182,7 +182,7 @@ + try: + region_provider.modify_point('Ecs', region, 'ecs.%s.aliyuncs.com' % region) + except Exception as e: +- logging.warn("Failed: failed to modify endpoint to 'ecs.%s.aliyuncs.com': %s" % (region, e)) ++ logging.warning("Failed: failed to modify endpoint to 'ecs.%s.aliyuncs.com': %s" % (region, e)) + + # Operate the fencing device + result = fence_action(conn, options, set_power_status, get_power_status, get_nodes_list) +--- a/agents/compute/fence_compute.py ++++ b/agents/compute/fence_compute.py +@@ -98,7 +98,7 @@ + # Since it's about forcing back to a default value, there is + # no real worries to just consider it's still okay even if the + # command failed +- logging.warn("Exception from attempt to force " ++ logging.warning("Exception from attempt to force " + "host back up via nova API: " + "%s: %s" % (e.__class__.__name__, e)) + +--- a/agents/sbd/fence_sbd.py ++++ b/agents/sbd/fence_sbd.py +@@ -170,7 +170,7 @@ + if "msgwait" in line: + tmp_msg_timeout = int(line.split(':')[1]) + if -1 != msg_timeout and tmp_msg_timeout != msg_timeout: +- logging.warn(\ ++ logging.warning(\ + "sbd message timeouts differ in different devices") + # we only save the highest timeout + if tmp_msg_timeout > msg_timeout: +@@ -418,7 +418,7 @@ + power_timeout = int(options["--power-timeout"]) + sbd_msg_timeout = get_msg_timeout(options) + if 0 < power_timeout <= sbd_msg_timeout: +- logging.warn("power timeout needs to be \ ++ logging.warning("power timeout needs to be \ + greater then sbd message timeout") + + result = fence_action(\ diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..9c1a18a --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,6 @@ +disable-network-access +spelling +systemd-syslog-target +logging-warn-deprecated +enable-zvm-agent +fence-virt-key diff --git a/debian/patches/spelling b/debian/patches/spelling new file mode 100644 index 0000000..c1cacd9 --- /dev/null +++ b/debian/patches/spelling @@ -0,0 +1,37 @@ +Description: Fix spelling errors reported by lintian +Author: Valentin Vidic +Forwarded: not-needed +Last-Update: 2018-02-18 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/agents/ironic/fence_ironic.py ++++ b/agents/ironic/fence_ironic.py +@@ -110,7 +110,7 @@ + options = check_input(device_opt, process_input(device_opt)) + + docs = {} +- docs["shortdesc"] = "Fence agent for OpenStack's Ironic (Bare Metal as a service) service" ++ docs["shortdesc"] = "Fence agent for OpenStack's Ironic (Bare Metal as a service)" + docs["longdesc"] = "fence_ironic is a Fencing agent \ + which can be used with machines controlled by the Ironic service. \ + This agent calls the openstack CLI. \ +--- a/tests/data/metadata/fence_ironic.xml ++++ b/tests/data/metadata/fence_ironic.xml +@@ -1,5 +1,5 @@ + +- ++ + fence_ironic is a Fencing agent which can be used with machines controlled by the Ironic service. This agent calls the openstack CLI. WARNING! This fence agent is not intended for production use. Relying on a functional ironic service for fencing is not a good design choice. + https://wiki.openstack.org/wiki/Ironic + +--- a/tests/data/metadata/fence_kdump.xml ++++ b/tests/data/metadata/fence_kdump.xml +@@ -3,7 +3,7 @@ + fence_kdump is an I/O fencing agent to be used with the kdump + crash recovery service. When the fence_kdump agent is invoked, + it will listen for a message from the failed node that acknowledges +-that the failed node it executing the kdump crash kernel. ++that the failed node is executing the kdump crash kernel. + Note that fence_kdump is not a replacement for traditional + fencing methods. The fence_kdump agent can only detect that a + node has entered the kdump crash recovery service. This allows the diff --git a/debian/patches/systemd-syslog-target b/debian/patches/systemd-syslog-target new file mode 100644 index 0000000..f8bf295 --- /dev/null +++ b/debian/patches/systemd-syslog-target @@ -0,0 +1,16 @@ +Description: Remove syslog target from systemd service file + Fixes systemd-service-file-refers-to-obsolete-target lintian warning +Author: Valentin Vidic +Last-Update: 2022-05-01 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/agents/virt/fence_virtd.service.in ++++ b/agents/virt/fence_virtd.service.in +@@ -5,7 +5,6 @@ + + After=basic.target + After=network.target +-After=syslog.target + After=libvirtd.service + After=corosync.service + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..56ca903 --- /dev/null +++ b/debian/rules @@ -0,0 +1,93 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk +include /usr/share/dpkg/pkg-info.mk +include /usr/share/dpkg/architecture.mk + +# Fix FTBFS in s390x with GCC 12 +ifeq ($(DEB_HOST_ARCH),s390x) +export DEB_CFLAGS_MAINT_APPEND=-Wno-stringop-truncation +endif + +%: + dh $@ --with python3 + +override_dh_autoreconf: + # fix version reported by agents + echo $(DEB_VERSION_UPSTREAM) > .tarball-version + dh_autoreconf ./autogen.sh + +override_dh_auto_configure: + dh_auto_configure -- \ + --libexecdir=/usr/libexec/fence-agents \ + --with-fencetmpdir=/run/fence-agents \ + PING_CMD=/bin/ping \ + PING6_CMD=/bin/ping6 \ + PING4_CMD="/bin/ping -4" \ + PYTHON=/usr/bin/python3 \ + SBD_PATH=/usr/sbin/sbd \ + VGS_PATH=/sbin/vgs + +override_dh_auto_build: + LC_ALL=C dh_auto_build + +override_dh_auto_install: + $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp + +override_dh_install: + rm -v debian/tmp/usr/share/doc/fence-agents/COPY* + rm -v debian/tmp/usr/share/doc/fence-agents/README.licence + rmdir debian/tmp/usr/share/doc/fence-agents +ifneq ($(DEB_HOST_ARCH),s390x) + # remove fence_zvm because it doesn't do anything except on 390x + rm -v debian/tmp/usr/sbin/fence_zvm + rm -v debian/tmp/usr/share/man/man8/fence_zvm.8 +endif + dh_install + # test agents (skip ack_manual, it doesn't have --help, skip vmware_helper, it wants VIRuntime.pm) + # we test in tmp after install so the .pyc files generated don't make it into the package + for agent in debian/tmp/usr/sbin/*; do \ + case $${agent##*/} in fence_ack_manual|fence_vmware_helper|fence_virt) continue;; esac; \ + echo "Testing $$agent"; \ + PYTHONPATH=debian/tmp/usr/share/fence $$agent --help >/dev/null || exit; \ + done + # fence_virt is in a separate package + rm -v debian/fence-agents/usr/sbin/fence_virt + rm -v debian/fence-agents/usr/sbin/fence_virtd + rm -v debian/fence-agents/usr/sbin/fence_xvm + rm -v debian/fence-agents/usr/share/man/man8/fence_virt.8 + rm -v debian/fence-agents/usr/share/man/man8/fence_virtd.8 + rm -v debian/fence-agents/usr/share/man/man8/fence_xvm.8 + +# tests are slow and require network access so moved to debian/tests/{delay,metadata} +override_dh_auto_test: + +override_dh_python3: + dh_python3 + dh_python3 /usr/share/fence + +override_dh_installsystemd: + mkdir -p debian/fence-virtd/lib/systemd/system/ + cp agents/virt/fence_virtd.service debian/fence-virtd/lib/systemd/system/ + dh_installsystemd -pfence-virtd + +override_dh_installinit: + dh_installinit -pfence-virtd --name=fence_virtd + +override_dh_missing: + rm debian/tmp/usr/lib/*/fence-virt/*.*a + dh_missing --fail-missing + +override_dh_gencontrol: + # extract agent descriptions for use in debian/control + export LC_ALL=C; \ + ( echo -n "agents="; \ + sed -ne 's/> debian/fence-agents.substvars + dh_gencontrol diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml new file mode 100644 index 0000000..33c3a64 --- /dev/null +++ b/debian/salsa-ci.yml @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..0abf418 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,20 @@ +Tests: metadata +Depends: fence-agents, python3-openstackclient, xsltproc, libxml2-utils, gawk + +Tests: delay +Depends: fence-agents, python3-openstackclient, time, iputils-ping + +Tests: fence-dummy +Depends: fence-agents +Restrictions: allow-stderr + +Tests: fence-aws +Depends: fence-agents +Restrictions: skippable + +Test-Command: /usr/sbin/fence_virt -h +Depends: fence-virt + +Test-Command: service fence_virtd status +Depends: fence-virtd +Restrictions: needs-root, isolation-container diff --git a/debian/tests/delay b/debian/tests/delay new file mode 100755 index 0000000..ad0af03 --- /dev/null +++ b/debian/tests/delay @@ -0,0 +1,34 @@ +#!/bin/sh + +set -e + +DEFAULT_ARGS='delay=10\n login=test\n passwd=test\n ipaddr=127.0.0.1\n port=1\n managed=1\n devices=test\n session_url=http://127.0.0.1\n email=test@test.te\n ping_targets=localhost' +OUTPUT=$AUTOPKGTEST_TMP/delay +mkdir -p $OUTPUT + +for agent in /usr/sbin/fence_*; do + [ "$agent" = "/usr/sbin/fence_ack_manual" ] && continue + [ "$agent" = "/usr/sbin/fence_kdump" ] && continue + + ARGS="$DEFAULT_ARGS" + if [ "$agent" = "/usr/sbin/fence_cisco_mds" ]; then + ARGS=$(echo "$ARGS" | sed 's#port=1#port=fc1/1#') + fi + LOG="$OUTPUT/$(basename $agent)" + + ( + TIME=$(/usr/bin/time -p sh -c "printf '$ARGS' | $agent " 2>&1 | awk -F"[. ]" -vOFS= '/real/ {print $2,$3}') + if [ "$TIME" -lt 1000 ]; then + echo "$agent delay too low: $TIME" | tee $LOG + else + echo "$agent delay ok: $TIME" | tee $LOG + fi + ) & + pids="$pids $!" +done + +wait $pids + +if grep -qr 'delay too low' $OUTPUT; then + exit 1 +fi diff --git a/debian/tests/fence-aws b/debian/tests/fence-aws new file mode 100755 index 0000000..21a3dab --- /dev/null +++ b/debian/tests/fence-aws @@ -0,0 +1,47 @@ +#!/bin/sh + +set -e + +if [ -z "$AWS_INSTANCE_ID" ] || [ -z "$AWS_REGION" ] || \ + [ -z "$AWS_ACCESS_KEY" ] || [ -z "$AWS_SECRET_KEY" ]; +then + echo "AWS environment not found, skipping test." + exit 77 +fi + +test_aws() { + printf "\n=== $1 ===\n" + /usr/sbin/fence_aws -r $AWS_REGION -a $AWS_ACCESS_KEY -s $AWS_SECRET_KEY -n $AWS_INSTANCE_ID -o $1 +} + +printf "=== version ===\n" +/usr/sbin/fence_aws -V + +test_aws list + +if test_aws status +then # instance is running + test_aws reboot + sleep 30 + test_aws status + + test_aws off + sleep 30 + test_aws status || true + + test_aws on + sleep 30 + test_aws status +else # instance is stopped + test_aws on + sleep 30 + test_aws status + + test_aws reboot + sleep 30 + test_aws status + + test_aws off + sleep 30 + test_aws status || true +fi diff --git a/debian/tests/fence-dummy b/debian/tests/fence-dummy new file mode 100755 index 0000000..c0b2ba3 --- /dev/null +++ b/debian/tests/fence-dummy @@ -0,0 +1,14 @@ +#!/bin/sh + +set -ex + +# clean up +rm -f /tmp/fence_dummy.status +trap "rm -f /tmp/fence_dummy.status" 0 2 3 15 + +/usr/sbin/fence_dummy -V + +/usr/sbin/fence_dummy -v + +# show status from /tmp/fence_dummy.status +/usr/sbin/fence_dummy -o status diff --git a/debian/tests/metadata b/debian/tests/metadata new file mode 100755 index 0000000..21c1ece --- /dev/null +++ b/debian/tests/metadata @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +TMPXML=$AUTOPKGTEST_TMP/xml + +for agent in /usr/sbin/fence_*; do + [ "$agent" = "/usr/sbin/fence_ack_manual" ] && continue + + printf '\nTesting %s...\n' "$agent" + $agent -o metadata > "$TMPXML" 2> /dev/null + cat "$TMPXML" + + TESTXML=tests/data/metadata/${agent##*/}.xml + if [ -f "$TESTXML" ]; then + gawk 'BEGIN {store=-1} /name=".*_path"/ || /name=".*_file"/ {store=2} {if (store!=0) {print}; store--}' "$TMPXML" \ + | diff -u "$TESTXML" - + fi + + xsltproc lib/fence2rng.xsl "$TMPXML" \ + | sed -e 's/ rha:description=/ description=/g' -e 's/ rha:name=/ name=/g' \ + | xmllint --nsclean --noout - +done diff --git a/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 0000000..d687187 --- /dev/null +++ b/debian/upstream/metadata @@ -0,0 +1,4 @@ +Bug-Database: https://github.com/ClusterLabs/fence-agents/issues +Bug-Submit: https://github.com/ClusterLabs/fence-agents/issues/new +Repository: https://github.com/ClusterLabs/fence-agents.git +Repository-Browse: https://github.com/ClusterLabs/fence-agents diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..135e13e --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=4 +https://github.com/ClusterLabs/fence-agents/tags .*/v([\d\.]*.*)\.tar\.gz -- cgit v1.2.3