aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Millet <florian.millet@ovhcloud.com>2023-04-03 13:20:11 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2023-04-03 13:24:36 +0000
commit8ab3666e9a903031a556ecaa3f2514169143d94d (patch)
tree7e7c8c7798b86d913e2ef138e578e40c0a9cbf1f
parent2a4844d8f2edc1e8d9c1eabc860973ff1cfa15e3 (diff)
net-mgmt/fence-agents: new port
Fence agents were developed as device "drivers" which are able to prevent computers from destroying data on shared storage. Their aim is to isolate a corrupted computer, using one of three methods: - Power - A computer that is switched off cannot corrupt data, but it is important to not do a "soft-reboot" as we won't know if this is possible. This also works for virtual machines when the fence device is a hypervisor. - Network - Switches can prevent routing to a given computer, so even if a computer is powered on it won't be able to harm the data. - Configuration - Fibre-channel switches or SCSI devices allow us to limit who can write to managed disks. This is used by the Pacemaker cluster resource management. Note: A lot of these agents have Linuxism and have to be adapted, they will be patched later to work out of the box on FreeBSD. PR: 270623 Sponsored by: OVHcloud
-rw-r--r--net-mgmt/Makefile1
-rw-r--r--net-mgmt/fence-agents/Makefile35
-rw-r--r--net-mgmt/fence-agents/distinfo3
-rw-r--r--net-mgmt/fence-agents/pkg-descr13
-rw-r--r--net-mgmt/fence-agents/pkg-plist184
5 files changed, 236 insertions, 0 deletions
diff --git a/net-mgmt/Makefile b/net-mgmt/Makefile
index 81ec96d74b72..bd967e4f9e97 100644
--- a/net-mgmt/Makefile
+++ b/net-mgmt/Makefile
@@ -70,6 +70,7 @@
SUBDIR += ettercap
SUBDIR += fastnetmon
SUBDIR += fetchconfig
+ SUBDIR += fence-agents
SUBDIR += flow-tools
SUBDIR += flowd
SUBDIR += flowviewer
diff --git a/net-mgmt/fence-agents/Makefile b/net-mgmt/fence-agents/Makefile
new file mode 100644
index 000000000000..88fddeaf69a4
--- /dev/null
+++ b/net-mgmt/fence-agents/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= fence-agents
+PORTVERSION= 4.12.1
+DISTVERSIONPREFIX=v
+CATEGORIES= net-mgmt
+
+MAINTAINER= bapt@FreeBSD.org
+COMMENT= OCF Compliant Fence Agents
+WWW= https://github.com/ClusterLabs/fence-agents
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pycurl>0:ftp/py-pycurl@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pycurl>0:ftp/py-pycurl@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}
+
+USES= autoreconf gmake libtool pkgconfig python
+
+USE_GITHUB= yes
+GH_ACCOUNT= ClusterLabs
+
+GNU_CONFIGURE= yes
+CONFLICTS= heartbeat
+
+OPTIONS_DEFINE= DOCS MANPAGES
+OPTIONS_DEFAULT=MANPAGES
+OPTIONS_SUB= yes
+
+MANPAGES_BUILD_DEPENDS= docbook-xsl>0:textproc/docbook-xsl \
+ xsltproc:textproc/libxslt
+
+post-patch:
+ echo "echo -n ${PORTVERSION}" > ${WRKSRC}/make/git-version-gen
+
+.include <bsd.port.mk>
diff --git a/net-mgmt/fence-agents/distinfo b/net-mgmt/fence-agents/distinfo
new file mode 100644
index 000000000000..e7b0766ade82
--- /dev/null
+++ b/net-mgmt/fence-agents/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1678367001
+SHA256 (ClusterLabs-fence-agents-v4.12.1_GH0.tar.gz) = a30349759931bc19eed100225615215b9c26e005cefa394993b5cbee13b72145
+SIZE (ClusterLabs-fence-agents-v4.12.1_GH0.tar.gz) = 475073
diff --git a/net-mgmt/fence-agents/pkg-descr b/net-mgmt/fence-agents/pkg-descr
new file mode 100644
index 000000000000..33aef6812d82
--- /dev/null
+++ b/net-mgmt/fence-agents/pkg-descr
@@ -0,0 +1,13 @@
+Fence agents were developed as device "drivers" which are able to prevent
+computers from destroying data on shared storage.
+Their aim is to isolate a corrupted computer, using one of three methods:
+
+- Power - A computer that is switched off cannot corrupt data, but it is
+ important to not do a "soft-reboot" as we won't know if this is possible.
+ This also works for virtual machines when the fence device is a hypervisor.
+- Network - Switches can prevent routing to a given computer, so even if a
+ computer is powered on it won't be able to harm the data.
+- Configuration - Fibre-channel switches or SCSI devices allow us to limit who
+ can write to managed disks.
+
+This is used by the Pacemaker cluster resource management.
diff --git a/net-mgmt/fence-agents/pkg-plist b/net-mgmt/fence-agents/pkg-plist
new file mode 100644
index 000000000000..ba789371d6a9
--- /dev/null
+++ b/net-mgmt/fence-agents/pkg-plist
@@ -0,0 +1,184 @@
+%%MANPAGES%%man/man8/fence_ack_manual.8.gz
+%%MANPAGES%%man/man8/fence_aliyun.8.gz
+%%MANPAGES%%man/man8/fence_alom.8.gz
+%%MANPAGES%%man/man8/fence_amt.8.gz
+%%MANPAGES%%man/man8/fence_apc.8.gz
+%%MANPAGES%%man/man8/fence_apc_snmp.8.gz
+%%MANPAGES%%man/man8/fence_aws.8.gz
+%%MANPAGES%%man/man8/fence_azure_arm.8.gz
+%%MANPAGES%%man/man8/fence_bladecenter.8.gz
+%%MANPAGES%%man/man8/fence_brocade.8.gz
+%%MANPAGES%%man/man8/fence_cdu.8.gz
+%%MANPAGES%%man/man8/fence_cisco_mds.8.gz
+%%MANPAGES%%man/man8/fence_cisco_ucs.8.gz
+%%MANPAGES%%man/man8/fence_compute.8.gz
+%%MANPAGES%%man/man8/fence_crosslink.8.gz
+%%MANPAGES%%man/man8/fence_cyberpower_ssh.8.gz
+%%MANPAGES%%man/man8/fence_docker.8.gz
+%%MANPAGES%%man/man8/fence_drac.8.gz
+%%MANPAGES%%man/man8/fence_drac5.8.gz
+%%MANPAGES%%man/man8/fence_dummy.8.gz
+%%MANPAGES%%man/man8/fence_eaton_snmp.8.gz
+%%MANPAGES%%man/man8/fence_ecloud.8.gz
+%%MANPAGES%%man/man8/fence_emerson.8.gz
+%%MANPAGES%%man/man8/fence_eps.8.gz
+%%MANPAGES%%man/man8/fence_evacuate.8.gz
+%%MANPAGES%%man/man8/fence_gce.8.gz
+%%MANPAGES%%man/man8/fence_hds_cb.8.gz
+%%MANPAGES%%man/man8/fence_heuristics_ping.8.gz
+%%MANPAGES%%man/man8/fence_hpblade.8.gz
+%%MANPAGES%%man/man8/fence_ibm_powervs.8.gz
+%%MANPAGES%%man/man8/fence_ibm_vpc.8.gz
+%%MANPAGES%%man/man8/fence_ibmblade.8.gz
+%%MANPAGES%%man/man8/fence_ibmz.8.gz
+%%MANPAGES%%man/man8/fence_idrac.8.gz
+%%MANPAGES%%man/man8/fence_ifmib.8.gz
+%%MANPAGES%%man/man8/fence_ilo.8.gz
+%%MANPAGES%%man/man8/fence_ilo2.8.gz
+%%MANPAGES%%man/man8/fence_ilo3.8.gz
+%%MANPAGES%%man/man8/fence_ilo3_ssh.8.gz
+%%MANPAGES%%man/man8/fence_ilo4.8.gz
+%%MANPAGES%%man/man8/fence_ilo4_ssh.8.gz
+%%MANPAGES%%man/man8/fence_ilo5.8.gz
+%%MANPAGES%%man/man8/fence_ilo5_ssh.8.gz
+%%MANPAGES%%man/man8/fence_ilo_moonshot.8.gz
+%%MANPAGES%%man/man8/fence_ilo_mp.8.gz
+%%MANPAGES%%man/man8/fence_ilo_ssh.8.gz
+%%MANPAGES%%man/man8/fence_imm.8.gz
+%%MANPAGES%%man/man8/fence_intelmodular.8.gz
+%%MANPAGES%%man/man8/fence_ipdu.8.gz
+%%MANPAGES%%man/man8/fence_ipmilan.8.gz
+%%MANPAGES%%man/man8/fence_ipmilanplus.8.gz
+%%MANPAGES%%man/man8/fence_ironic.8.gz
+%%MANPAGES%%man/man8/fence_kubevirt.8.gz
+%%MANPAGES%%man/man8/fence_ldom.8.gz
+%%MANPAGES%%man/man8/fence_lindypdu.8.gz
+%%MANPAGES%%man/man8/fence_lpar.8.gz
+%%MANPAGES%%man/man8/fence_mpath.8.gz
+%%MANPAGES%%man/man8/fence_netio.8.gz
+%%MANPAGES%%man/man8/fence_openstack.8.gz
+%%MANPAGES%%man/man8/fence_powerman.8.gz
+%%MANPAGES%%man/man8/fence_pve.8.gz
+%%MANPAGES%%man/man8/fence_raritan.8.gz
+%%MANPAGES%%man/man8/fence_raritan_px3.8.gz
+%%MANPAGES%%man/man8/fence_rcd_serial.8.gz
+%%MANPAGES%%man/man8/fence_redfish.8.gz
+%%MANPAGES%%man/man8/fence_rhevm.8.gz
+%%MANPAGES%%man/man8/fence_rsa.8.gz
+%%MANPAGES%%man/man8/fence_rsb.8.gz
+%%MANPAGES%%man/man8/fence_sanbox2.8.gz
+%%MANPAGES%%man/man8/fence_sbd.8.gz
+%%MANPAGES%%man/man8/fence_scsi.8.gz
+%%MANPAGES%%man/man8/fence_skalar.8.gz
+%%MANPAGES%%man/man8/fence_tripplite_snmp.8.gz
+%%MANPAGES%%man/man8/fence_vbox.8.gz
+%%MANPAGES%%man/man8/fence_virsh.8.gz
+%%MANPAGES%%man/man8/fence_vmware.8.gz
+%%MANPAGES%%man/man8/fence_vmware_rest.8.gz
+%%MANPAGES%%man/man8/fence_vmware_vcloud.8.gz
+%%MANPAGES%%man/man8/fence_wti.8.gz
+%%MANPAGES%%man/man8/fence_xenapi.8.gz
+%%MANPAGES%%man/man8/fence_zvmip.8.gz
+sbin/fence_ack_manual
+sbin/fence_aliyun
+sbin/fence_alom
+sbin/fence_amt
+sbin/fence_apc
+sbin/fence_apc_snmp
+sbin/fence_aws
+sbin/fence_azure_arm
+sbin/fence_bladecenter
+sbin/fence_brocade
+sbin/fence_cdu
+sbin/fence_cisco_mds
+sbin/fence_cisco_ucs
+sbin/fence_compute
+sbin/fence_crosslink
+sbin/fence_cyberpower_ssh
+sbin/fence_docker
+sbin/fence_drac
+sbin/fence_drac5
+sbin/fence_dummy
+sbin/fence_eaton_snmp
+sbin/fence_ecloud
+sbin/fence_emerson
+sbin/fence_eps
+sbin/fence_evacuate
+sbin/fence_gce
+sbin/fence_hds_cb
+sbin/fence_heuristics_ping
+sbin/fence_hpblade
+sbin/fence_ibm_powervs
+sbin/fence_ibm_vpc
+sbin/fence_ibmblade
+sbin/fence_ibmz
+sbin/fence_idrac
+sbin/fence_ifmib
+sbin/fence_ilo
+sbin/fence_ilo2
+sbin/fence_ilo3
+sbin/fence_ilo3_ssh
+sbin/fence_ilo4
+sbin/fence_ilo4_ssh
+sbin/fence_ilo5
+sbin/fence_ilo5_ssh
+sbin/fence_ilo_moonshot
+sbin/fence_ilo_mp
+sbin/fence_ilo_ssh
+sbin/fence_imm
+sbin/fence_intelmodular
+sbin/fence_ipdu
+sbin/fence_ipmilan
+sbin/fence_ipmilanplus
+sbin/fence_ironic
+sbin/fence_kubevirt
+sbin/fence_ldom
+sbin/fence_lindypdu
+sbin/fence_lpar
+sbin/fence_mpath
+sbin/fence_netio
+sbin/fence_openstack
+sbin/fence_powerman
+sbin/fence_pve
+sbin/fence_raritan
+sbin/fence_raritan_px3
+sbin/fence_rcd_serial
+sbin/fence_redfish
+sbin/fence_rhevm
+sbin/fence_rsa
+sbin/fence_rsb
+sbin/fence_sanbox2
+sbin/fence_sbd
+sbin/fence_scsi
+sbin/fence_skalar
+sbin/fence_tripplite_snmp
+sbin/fence_vbox
+sbin/fence_virsh
+sbin/fence_vmware
+sbin/fence_vmware_rest
+sbin/fence_vmware_vcloud
+sbin/fence_wti
+sbin/fence_xenapi
+sbin/fence_zvmip
+share/cluster/fence_mpath_check
+share/cluster/fence_mpath_check_hardreboot
+share/cluster/fence_scsi_check
+share/cluster/fence_scsi_check_hardreboot
+share/cluster/relaxng/fence.rng.head
+share/cluster/relaxng/fence.rng.tail
+share/cluster/relaxng/fence2man.xsl
+share/cluster/relaxng/fence2rng.xsl
+share/cluster/relaxng/fence2wiki.xsl
+share/cluster/relaxng/metadata.rng
+%%PORTDOCS%%%%DOCSDIR%%/COPYING.applications
+%%PORTDOCS%%%%DOCSDIR%%/COPYING.libraries
+%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
+%%PORTDOCS%%%%DOCSDIR%%/README.licence
+share/fence/XenAPI.py
+share/fence/azure_fence.py
+share/fence/fencing.py
+share/fence/fencing_snmp.py
+share/pkgconfig/fence-agents.pc
+@dir /var/log/cluster
+@dir /var/run/cluster
+@dir /var/run/fence-agents