From 9d98832086fe7300e06a4e8f75c387106910fb9a Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Thu, 11 Feb 2021 17:01:39 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/fence-agents.git#5080433ba9bd0d56e94a26de43d8410b9c97ad55 --- .gitignore | 6 +- fence-agents.spec | 503 ++++++++++++++----- fence_gce-google-auth-oauthlib-support.patch | 43 -- ha-cloud-support-aliyun.patch | 10 - ha-cloud-support-aws.patch | 10 - ha-cloud-support-azure.patch | 12 - ha-cloud-support-google.patch | 10 - sources | 51 -- update-ha-cloud.sh | 24 - 9 files changed, 375 insertions(+), 294 deletions(-) delete mode 100644 fence_gce-google-auth-oauthlib-support.patch delete mode 100644 ha-cloud-support-aliyun.patch delete mode 100644 ha-cloud-support-aws.patch delete mode 100644 ha-cloud-support-azure.patch delete mode 100644 ha-cloud-support-google.patch delete mode 100755 update-ha-cloud.sh diff --git a/.gitignore b/.gitignore index a7b3a3c..f18cf35 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ -/*.gz -/*.rpm +/fence-agents-*.tar.?z +/fence-agents-*.src.rpm /.build-*.log -/*.whl -/*.txt /*/ diff --git a/fence-agents.spec b/fence-agents.spec index b869072..00e0c53 100644 --- a/fence-agents.spec +++ b/fence-agents.spec @@ -13,103 +13,38 @@ Release: 3%{?alphatag:.%{alphatag}}%{?dist} License: GPLv2+ and LGPLv2+ URL: https://github.com/ClusterLabs/fence-agents Source0: https://fedorahosted.org/releases/f/e/fence-agents/%{name}-%{version}.tar.gz -### HA cloud requirements-*.txt ### -Source100: requirements-aliyun.txt -Source101: requirements-aws.txt -Source102: requirements-azure.txt -Source103: requirements-google.txt -### HA cloud support libs/utils ### -# update with ./update-ha-cloud.sh and replace lines below with output -### BEGIN ### -# aliyun -Source1000: aliyun-python-sdk-core-2.13.30.tar.gz -Source1001: aliyun_python_sdk_ecs-4.23.9-py2.py3-none-any.whl -Source1002: cffi-1.14.4-cp39-cp39-manylinux1_x86_64.whl -Source1003: cryptography-3.2.1-cp35-abi3-manylinux2010_x86_64.whl -Source1004: jmespath-0.10.0-py2.py3-none-any.whl -Source1005: pycparser-2.20-py2.py3-none-any.whl -Source1006: six-1.15.0-py2.py3-none-any.whl -# aws -Source1007: boto3-1.17.5-py2.py3-none-any.whl -Source1008: botocore-1.20.5-py2.py3-none-any.whl -Source1009: python_dateutil-2.8.1-py2.py3-none-any.whl -Source1010: s3transfer-0.3.4-py2.py3-none-any.whl -Source1011: urllib3-1.26.3-py2.py3-none-any.whl -# azure -Source1012: adal-1.2.6-py2.py3-none-any.whl -Source1013: azure_common-1.1.26-py2.py3-none-any.whl -Source1014: azure_core-1.11.0-py2.py3-none-any.whl -Source1015: azure_mgmt_compute-18.2.0-py2.py3-none-any.whl -Source1016: azure_mgmt_core-1.2.2-py2.py3-none-any.whl -Source1017: azure_mgmt_network-17.1.0-py2.py3-none-any.whl -Source1018: certifi-2020.12.5-py2.py3-none-any.whl -Source1019: chardet-4.0.0-py2.py3-none-any.whl -Source1020: cryptography-3.4.4-cp36-abi3-manylinux2014_x86_64.whl -Source1021: idna-2.10-py2.py3-none-any.whl -Source1022: isodate-0.6.0-py2.py3-none-any.whl -Source1023: msrest-0.6.21-py2.py3-none-any.whl -Source1024: msrestazure-0.6.4-py2.py3-none-any.whl -Source1025: oauthlib-3.1.0-py2.py3-none-any.whl -Source1026: PyJWT-2.0.1-py3-none-any.whl -Source1027: requests-2.25.1-py2.py3-none-any.whl -Source1028: requests_oauthlib-1.3.0-py2.py3-none-any.whl -# google -Source1029: cachetools-4.2.1-py3-none-any.whl -Source1030: chardet-3.0.4-py2.py3-none-any.whl -Source1031: google_api_core-1.26.0-py2.py3-none-any.whl -Source1032: google_api_python_client-1.12.8-py2.py3-none-any.whl -Source1033: googleapis_common_protos-1.52.0-py2.py3-none-any.whl -Source1034: google_auth-1.26.0-py2.py3-none-any.whl -Source1035: google_auth_httplib2-0.0.4-py2.py3-none-any.whl -Source1036: httplib2-0.19.0-py3-none-any.whl -Source1037: packaging-20.9-py2.py3-none-any.whl -Source1038: protobuf-3.14.0-py2.py3-none-any.whl -Source1039: pyasn1-0.4.8-py2.py3-none-any.whl -Source1040: pyasn1_modules-0.2.8-py2.py3-none-any.whl -Source1041: pyparsing-2.4.7-py2.py3-none-any.whl -Source1042: pyroute2-0.5.14.tar.gz -Source1043: pytz-2021.1-py2.py3-none-any.whl -Source1044: rsa-4.7-py3-none-any.whl -Source1045: setuptools-53.0.0-py3-none-any.whl -Source1046: uritemplate-3.0.1-py2.py3-none-any.whl -### END ### -Patch0: fence_gce-google-auth-oauthlib-support.patch -Patch1: ha-cloud-support-aliyun.patch -Patch2: ha-cloud-support-aws.patch -Patch3: ha-cloud-support-azure.patch -Patch4: ha-cloud-support-google.patch - -%global supportedagents amt_ws apc apc_snmp bladecenter brocade cisco_mds cisco_ucs compute drac5 eaton_snmp emerson eps evacuate hpblade ibmblade ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan kdump lpar mpath redfish rhevm rsa rsb sbd scsi vmware_rest vmware_soap wti -%ifarch x86_64 -%global testagents virsh heuristics_ping aliyun aws azure_arm gce -%endif -%ifarch ppc64le -%global testagents virsh heuristics_ping -%endif +%if 0%{?rhel} == 7 %ifarch s390x -%global testagents virsh zvm heuristics_ping +%define rhel7_s390x 1 %endif -%ifnarch x86_64 ppc64le s390x -%global testagents virsh heuristics_ping %endif # skipped: pve, raritan, rcd-serial, virsh %global allfenceagents %(cat < 7 || 0%{?rhel} > 7 || 0%{?suse_version} -BuildRequires: python3-devel python3-pip -# wheel for HA cloud support -BuildRequires: python3-wheel +BuildRequires: python3-devel BuildRequires: python3-pexpect python3-pycurl python3-requests BuildRequires: python3-suds %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 -BuildRequires: openwsman-python3 +BuildRequires: python3-google-api-client python3-boto3 openwsman-python3 +%endif +# (-openstack) +%ifarch x86_64 ppc64le +BuildRequires: python3-novaclient python3-keystoneclient %endif %if 0%{?suse_version} -BuildRequires: python3-openwsman +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 +# (-openstack) +%ifarch x86_64 ppc64le +BuildRequires: python-novaclient python-keystoneclient +%endif %endif # turn off the brp-python-bytecompile script @@ -165,34 +138,20 @@ BuildRequires: python-suds openwsman-python #undefine __brp_python_bytecompile %prep -%autosetup -b0 -p1 +%autosetup -p1 # prevent compilation of something that won't get used anyway sed -i.orig 's|FENCE_ZVM=1|FENCE_ZVM=0|' configure.ac %build -%ifarch x86_64 -# support libs -for x in aliyun azure aws google; do - %{__python3} -m pip install --target support/$x --no-index --find-links %{_sourcedir} -r %{_sourcedir}/requirements-$x.txt -done -%endif - if [ -z "$PYTHON " ]; then PYTHON="%{__python3}" fi ./autogen.sh -%{configure} PYTHONPATH="support/aliyun:support/aws:support/azure:support/google" --with-agents='%{supportedagents} %{testagents}' +%{configure} CFLAGS="$(echo '%{optflags}')" make %{_smp_mflags} %install -%ifarch x86_64 -# support libs -mkdir -p %{buildroot}%{_usr}/lib/%{name} -mv support %{buildroot}%{_usr}/lib/%{name} -%endif - -export PYTHONPATH=%{buildroot}%{_usr}/lib/%{name}/support make install DESTDIR=%{buildroot} # bytecompile Python source code in a non-standard location %if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 @@ -243,32 +202,11 @@ This package contains support files including the Python fencing library. %{_datadir}/pkgconfig/%{name}.pc %exclude %{_sbindir}/* %exclude %{_mandir}/man8/* -%exclude /usr/lib/%{name}/support - -%ifarch x86_64 -%package -n ha-cloud-support -License: GPLv2+ and LGPLv2+ -Summary: Support libraries for HA Cloud agents -%description -n ha-cloud-support -Support libraries for Fence Agents. -%files -n ha-cloud-support -%dir %{_usr}/lib/%{name} -%{_usr}/lib/%{name}/support -%endif %package all License: GPLv2+, LGPLv2+ and ASL 2.0 Summary: Set of unified programs capable of host isolation ("fencing") Requires: %{allfenceagents} -%ifarch i686 x86_64 -Requires: fence-virt -%endif -%ifarch ppc64le -Requires: fence-agents-lpar >= %{version}-%{release} -%endif -%ifarch s390x -Requires: fence-agents-zvm >= %{version}-%{release} -%endif Provides: fence-agents = %{version}-%{release} Obsoletes: fence-agents < 3.1.13 %description all @@ -281,11 +219,10 @@ This package serves as a catch-all for all supported fence agents. %ifarch x86_64 %package aliyun -License: GPLv2+ and LGPLv2+ +License: GPLv2+ and LGPLv2+ and ASL 2.0 and BSD and MIT Group: System Environment/Base Summary: Fence agent for Alibaba Cloud (Aliyun) Requires: fence-agents-common >= %{version}-%{release} -Requires: ha-cloud-support = %{version}-%{release} Requires: python3-jmespath >= 0.9.0 Obsoletes: %{name} < %{version}-%{release} %description aliyun @@ -296,6 +233,38 @@ The fence-agents-aliyun package contains a fence agent for Alibaba Cloud (Aliyun %{_mandir}/man8/fence_aliyun.8* %endif +%package alom +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for SUN ALOM +Requires: openssh-clients +%if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version} +%if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8) +Requires: telnet +%else +Recommends: telnet +%endif +%endif +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +%description alom +Fence agent for SUN ALOM. +%files alom +%{_sbindir}/fence_alom +%{_mandir}/man8/fence_alom.8* + +%package amt +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for Intel AMT devices +Requires: amtterm +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +%description amt +Fence agent for AMT compatibile devices that are accessed via +3rd party software. +%files amt +%{_sbindir}/fence_amt +%{_mandir}/man8/fence_amt.8* + %package amt-ws License: ASL 2.0 Summary: Fence agent for Intel AMT (WS-Man) devices @@ -350,12 +319,16 @@ Fence agents for APC devices that are accessed via the SNMP protocol. %{_sbindir}/fence_tripplite_snmp %{_mandir}/man8/fence_tripplite_snmp.8* -%ifarch x86_64 +%if ! %{defined rhel7_s390x} %package aws License: GPLv2+ and LGPLv2+ Summary: Fence agent for Amazon AWS Requires: fence-agents-common = %{version}-%{release} -Requires: ha-cloud-support = %{version}-%{release} +%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version} +Requires: python3-boto3 +%else +Requires: python-boto3 +%endif BuildArch: noarch Obsoletes: fence-agents < 3.1.13 %description aws @@ -365,12 +338,15 @@ Fence agent for Amazon AWS instances. %{_mandir}/man8/fence_aws.8* %endif -%ifarch x86_64 %package azure-arm License: GPLv2+ and LGPLv2+ Summary: Fence agent for Azure Resource Manager Requires: fence-agents-common = %{version}-%{release} -Requires: ha-cloud-support = %{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 < 3.1.13 %description azure-arm @@ -382,7 +358,6 @@ Fence agent for Azure Resource Manager instances. %{_datadir}/fence/__pycache__/azure_fence.* %endif %{_mandir}/man8/fence_azure_arm.8* -%endif %package bladecenter License: GPLv2+ and LGPLv2+ @@ -475,6 +450,35 @@ Fence agent for Nova compute nodes. %{_mandir}/man8/fence_evacuate.8* %endif +%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 @@ -532,12 +536,21 @@ via the HTTP(s) protocol. %{_sbindir}/fence_eps %{_mandir}/man8/fence_eps.8* -%ifarch x86_64 +%if ! %{defined rhel7_s390x} %package gce License: GPLv2+ and LGPLv2+ Summary: Fence agent for GCE (Google Cloud Engine) Requires: fence-agents-common = %{version}-%{release} -Requires: ha-cloud-support = %{version}-%{release} +%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version} +%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 +Requires: python3-google-api-client +%endif +%if 0%{?suse_version} +Requires: python3-google-api-python-client +%endif +%else +Requires: python-google-api-client +%endif BuildArch: noarch Obsoletes: fence-agents < 3.1.13 %description gce @@ -547,6 +560,18 @@ Fence agent for GCE (Google Cloud Engine) instances. %{_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 @@ -593,6 +618,23 @@ via the SNMP protocol. %{_sbindir}/fence_ibmblade %{_mandir}/man8/fence_ibmblade.8* +%package ibmz +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for IBM z LPARs +%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version} +Requires: python3-requests +%else +Requires: python-requests +%endif +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +%description ibmz +Fence agent for IBM z LPARs that are accessed via the HMC +Web Services REST API. +%files ibmz +%{_sbindir}/fence_ibmz +%{_mandir}/man8/fence_ibmz.8* + %package ifmib License: GPLv2+ and LGPLv2+ Summary: Fence agent for devices with IF-MIB interfaces @@ -728,6 +770,19 @@ Fence agents for devices with IPMI interface. %{_sbindir}/fence_imm %{_mandir}/man8/fence_imm.8* +%ifarch x86_64 ppc64le +%package ironic +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for OpenStack's Ironic (Bare Metal as a service) +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +%description ironic +Fence agent for OpenStack's Ironic (Bare Metal as a service) service. +%files ironic +%{_sbindir}/fence_ironic +%{_mandir}/man8/fence_ironic.8* +%endif + %package kdump License: GPLv2+ and LGPLv2+ Summary: Fence agent for use with kdump crash recovery service @@ -741,6 +796,25 @@ Fence agent for use with kdump crash recovery service. %{_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: openssh-clients +%if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version} +%if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8) +Requires: telnet +%else +Recommends: telnet +%endif +%endif +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +%description ldom +Fence agent for APC devices that are accessed via telnet or SSH. +%files ldom +%{_sbindir}/fence_ldom +%{_mandir}/man8/fence_ldom.8* + %package lpar License: GPLv2+ and LGPLv2+ Summary: Fence agent for IBM LPAR @@ -774,6 +848,101 @@ Device Mapper Multipath. %{_datadir}/cluster/fence_mpath_check* %{_mandir}/man8/fence_mpath.8* +%package netio +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for Koukaam NETIO devices +Requires: openssh-clients +%if 0%{?fedora} < 33 || (0%{?rhel} && 0%{?rhel} < 9) || (0%{?centos} && 0%{?centos} < 9) || 0%{?suse_version} +%if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?centos} && 0%{?centos} < 8) +Requires: telnet +%else +Recommends: telnet +%endif +%endif +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +%description netio +Fence agent for Koukaam NETIO devices that are accessed +via telnet or SSH. +%files netio +%{_sbindir}/fence_netio +%{_mandir}/man8/fence_netio.8* + +%ifarch x86_64 ppc64le +%package openstack +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for OpenStack's Nova service +%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version} +Requires: python3-requests +%else +Requires: python-requests +%endif +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +%description openstack +Fence agent for OpenStack's Nova service. +%files openstack +%{_sbindir}/fence_openstack +%{_mandir}/man8/fence_openstack.8* +%endif + +%package ovh +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for OVH provider +%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version} +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 @@ -843,6 +1012,18 @@ via telnet or SSH. %{_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) @@ -869,6 +1050,18 @@ Fence agent for SCSI persistent reservations. %{_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+ @@ -882,6 +1075,22 @@ Fence agent for virtual machines that are accessed via SSH. %{_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 @@ -910,6 +1119,18 @@ Fence agent for VMWare with SOAP API v4.1+. %{_sbindir}/fence_vmware_soap %{_mandir}/man8/fence_vmware_soap.8* +%package vmware-vcloud +License: GPLv2+ and LGPLv2+ +Summary: Fence agent for VMWare vCloud Director +Requires: fence-agents-common = %{version}-%{release} +BuildArch: noarch +Obsoletes: fence-agents < 3.1.13 +%description vmware-vcloud +Fence agent for VMWare vCloud Director. +%files vmware-vcloud +%{_sbindir}/fence_vmware_vcloud +%{_mandir}/man8/fence_vmware_vcloud.8* + %package wti License: GPLv2+ and LGPLv2+ Summary: Fence agent for WTI Network power switches @@ -930,7 +1151,26 @@ via telnet or SSH. %{_sbindir}/fence_wti %{_mandir}/man8/fence_wti.8* -%ifarch s390x +%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 @@ -941,15 +1181,18 @@ Fence agent for IBM z/VM over IP. %files zvm %{_sbindir}/fence_zvmip %{_mandir}/man8/fence_zvmip.8* -%endif %changelog * Thu Feb 11 2021 Oyvind Albrigtsen - 4.7.1-3 -- create HA cloud support package +- add aliyun subpackage +- fence-agents-mpath: add missing fence_mpath_check* * Mon Feb 8 2021 Oyvind Albrigtsen - 4.7.1-1 - new upstream release +* Tue Jan 26 2021 Fedora Release Engineering - 4.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Dec 9 2020 Oyvind Albrigtsen - 4.7.0-1 - new upstream release diff --git a/fence_gce-google-auth-oauthlib-support.patch b/fence_gce-google-auth-oauthlib-support.patch deleted file mode 100644 index dabcda7..0000000 --- a/fence_gce-google-auth-oauthlib-support.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a06a83566e11b0bdf197b16beb022b4cece11d5f Mon Sep 17 00:00:00 2001 -From: Oyvind Albrigtsen -Date: Wed, 10 Feb 2021 15:37:27 +0100 -Subject: [PATCH] fence_gce: support google-auth and oauthlib and fallback to - deprecated libs when not available - -oauth2client deprecated info: https://pypi.org/project/oauth2client/ ---- - agents/gce/fence_gce.py | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -diff --git a/agents/gce/fence_gce.py b/agents/gce/fence_gce.py -index d69acf4e..04318744 100644 ---- a/agents/gce/fence_gce.py -+++ b/agents/gce/fence_gce.py -@@ -29,8 +29,12 @@ - from fencing import fail_usage, run_delay, all_opt, atexit_handler, check_input, process_input, show_docs, fence_action - try: - import googleapiclient.discovery -- from oauth2client.client import GoogleCredentials -- from oauth2client.service_account import ServiceAccountCredentials -+ try: -+ from google.oauth2.credentials import Credentials as GoogleCredentials -+ from google.oauth2.service_account import Credentials as ServiceAccountCredentials -+ except: -+ from oauth2client.client import GoogleCredentials -+ from oauth2client.service_account import ServiceAccountCredentials - except: - pass - -@@ -380,7 +384,11 @@ def main(): - credentials = ServiceAccountCredentials.from_json_keyfile_name(options.get("--serviceaccount")) - logging.debug("using credentials from service account") - else: -- credentials = GoogleCredentials.get_application_default() -+ try: -+ from googleapiclient import _auth -+ credentials = _auth.default_credentials(); -+ except: -+ credentials = GoogleCredentials.get_application_default() - logging.debug("using application default credentials") - conn = googleapiclient.discovery.build( - 'compute', 'v1', credentials=credentials, cache_discovery=False) diff --git a/ha-cloud-support-aliyun.patch b/ha-cloud-support-aliyun.patch deleted file mode 100644 index 5f310f1..0000000 --- a/ha-cloud-support-aliyun.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/agents/aliyun/fence_aliyun.py 2021-02-08 16:27:46.587068911 +0100 -+++ b/agents/aliyun/fence_aliyun.py 2021-02-08 16:27:41.368054268 +0100 -@@ -9,6 +9,7 @@ - from fencing import fail, fail_usage, EC_TIMED_OUT, run_delay - - try: -+ sys.path.insert(0, '/usr/lib/fence-agents/support/aliyun') - from aliyunsdkcore import client - from aliyunsdkcore.auth.credentials import EcsRamRoleCredential - from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest diff --git a/ha-cloud-support-aws.patch b/ha-cloud-support-aws.patch deleted file mode 100644 index f4939dd..0000000 --- a/ha-cloud-support-aws.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/agents/aws/fence_aws.py 2021-02-08 13:31:49.748362643 +0100 -+++ b/agents/aws/fence_aws.py 2021-02-08 13:31:46.836356513 +0100 -@@ -11,6 +11,7 @@ - from requests import HTTPError - - try: -+ sys.path.insert(0, '/usr/lib/fence-agents/support/aws') - import boto3 - from botocore.exceptions import ConnectionError, ClientError, EndpointConnectionError, NoRegionError - except ImportError: diff --git a/ha-cloud-support-azure.patch b/ha-cloud-support-azure.patch deleted file mode 100644 index f8290f5..0000000 --- a/ha-cloud-support-azure.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- fence-agents-4.7.1/lib/azure_fence.py.py 2021-02-08 16:52:32.955244393 +0100 -+++ fence-agents-4.7.1/lib/azure_fence.py.py.modif 2021-02-08 16:52:28.150234151 +0100 -@@ -1,6 +1,9 @@ - import logging, re, time - from fencing import fail_usage - -+import sys -+sys.path.insert(0, '/usr/lib/fence-agents/support/azure') -+ - FENCE_SUBNET_NAME = "fence-subnet" - FENCE_INBOUND_RULE_NAME = "FENCE_DENY_ALL_INBOUND" - FENCE_INBOUND_RULE_DIRECTION = "Inbound" diff --git a/ha-cloud-support-google.patch b/ha-cloud-support-google.patch deleted file mode 100644 index 0208170..0000000 --- a/ha-cloud-support-google.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/agents/gce/fence_gce.py 2021-02-10 16:13:16.156356744 +0100 -+++ b/agents/gce/fence_gce.py 2021-02-10 16:13:29.346383884 +0100 -@@ -28,6 +28,7 @@ - - from fencing import fail_usage, run_delay, all_opt, atexit_handler, check_input, process_input, show_docs, fence_action - try: -+ sys.path.insert(0, '/usr/lib/fence-agents/support/google') - import googleapiclient.discovery - try: - from google.oauth2.credentials import Credentials as GoogleCredentials diff --git a/sources b/sources index dfd1e82..ecf6a61 100644 --- a/sources +++ b/sources @@ -1,52 +1 @@ SHA512 (fence-agents-4.7.1.tar.gz) = 9973d80fa9545f44d0202e6841eeadaf9facdaca2a4a67827369b5fe63a58bc830a5fb91dc94c5a90dc1f8cf4a07198fd52eb46f3974b4730f69013154493527 -SHA512 (requirements-aliyun.txt) = 0c4f89de63246c406535ee73310232f3986b37dedbeed52f25000386d73af6735e1bf8e7ecaa97419df98f55058d76e4ff289d856b815afaaaf69744c5924f7e -SHA512 (requirements-aws.txt) = ca39604d09f4b05589ddaa437be13b7f5d1868218745df107564d73a6c32efb7e4761436197a69653edc47a78f40dd7d5f0894935ec21b8f23b7c7bc71dfd0d1 -SHA512 (requirements-azure.txt) = a176aeaba7f13ca126bc6b41de1237148480787e4fe56cd9969b843d7102b24cbef2c9f9bd5e4460c603da96ba588639a77dfb376f9ab4ff6f7c2a29013edc31 -SHA512 (requirements-google.txt) = d916eb72588e55f5243b9e5391ab07d65eaafe583e073ef79d0e865f4c5e911d7b10310f7ccb98b5fdc1383c2214cc0cc082fa3c5fac6aa3d1931e4779149241 -SHA512 (aliyun-python-sdk-core-2.13.30.tar.gz) = fd099305bca978b683f3fcd020da2ae424e0f834dd734e6e27e6ce03f245bdfbb9ecfe9b6631b80c85fea9f74fa71efa86bf39bac2aed9031eb10e7d013b42ce -SHA512 (aliyun_python_sdk_ecs-4.23.9-py2.py3-none-any.whl) = 79469c4b4ce33964da5748d80fa2e218a13e44c05615ab966333d1f54954fd2e7f0bf64bb0ee3b9e2a4dc86bde6011f533de61da2cee64f7e8119c1a9a982c05 -SHA512 (cffi-1.14.4-cp39-cp39-manylinux1_x86_64.whl) = 5b38d1d9b5c0500f63bc8b1648c4e7901f4b14218d9a5c7faef8ca833b640084afacb665504c2bfbf9e15645685bfa2f469aab88539ef032354c31f747563694 -SHA512 (cryptography-3.2.1-cp35-abi3-manylinux2010_x86_64.whl) = e7cff2e9e0183163ffefeafe108ad2dea4f308e691c9b38a09a3b2ade99a2f64de5c9203f77eb528bc8336777ac282548b866396f330280f0633db59f8db87ae -SHA512 (jmespath-0.10.0-py2.py3-none-any.whl) = c4ef69cbdac0e6ff8fe1b4a604ebd7abd16e6021cea4b8b6c69917433939a60632462cecf6164a00fd585cb2ca4ddbfb3f871286ab48dd4aa37a11d002612b65 -SHA512 (pycparser-2.20-py2.py3-none-any.whl) = 06dc9cefdcde6b97c96d0452a77db42a629c48ee545edd7ab241763e50e3b3c56d21f9fcce4e206817aa1a597763d948a10ccc73572490d739c89eea7fede0a1 -SHA512 (six-1.15.0-py2.py3-none-any.whl) = 0416d59434623604de755601c919722c2b800042612a2a7b221ecd3ccf556aca3a78f0f926fd640032a3d74d153457628a89c25065dfcdbb96892d5bf7279904 -SHA512 (boto3-1.17.5-py2.py3-none-any.whl) = cfdf92ded65bb98bdd06544374c8e0bedd6df3d9a28e6ea43e0ec119f6f132b8baa808e705434df06befb51ec1078f1db5026fa821fa7cb3216bec7bc7ba32aa -SHA512 (botocore-1.20.5-py2.py3-none-any.whl) = 3bb65305435be9d5b4c69927e7ad17b577b1a04d483f5cb4b9f7b888109681887c1313261157a5feb615d84e0bbd8af0aeffb2878c34363ab4a5bf42479e18ef -SHA512 (python_dateutil-2.8.1-py2.py3-none-any.whl) = ff083825ef3c8a3c6887ceae79a4249b938f529b72d0b931b1e30c81856ec7c8ee0adf0e29e2a41d3c76ab4e1faabc1c4161fe977d14589d346a658e343aa122 -SHA512 (s3transfer-0.3.4-py2.py3-none-any.whl) = a6040e816789e9c57683cd4870c0c7942b036abb9565dd9140456a57818170f066fbb5f642a9a03828776e02de722aa7a891e9f1c502df482fcba9377b2c8cd0 -SHA512 (urllib3-1.26.3-py2.py3-none-any.whl) = f099de13c42d19acf014ba6ba4bf099b8b3e66d5ce523d7516740093ebb69ff93f78aead1ee99310dab23747fee1fd9306c634af3f52bf64c0f830dd51b2d9e6 -SHA512 (adal-1.2.6-py2.py3-none-any.whl) = f0559a475f854f04712cace23a168d43ec1baf0167a0c021160044d08d7d808c3455e68fbfd37ea7f04428d3b9c60a9e3e88da2ceedda09e533821f9a0c3a6e0 -SHA512 (azure_common-1.1.26-py2.py3-none-any.whl) = 9e61a6db9d4e62c373345d17613d288bdfcbaacb65322b677a729cc2f7bd86b60b03d2733e2604b7ad1c989395c24e33f05ba16db9815781666f285ed32e9942 -SHA512 (azure_core-1.11.0-py2.py3-none-any.whl) = 7f33124e0fddb0039e169a0617e6b55956c2f40febf7acc331d7625772d4651f69b16654f6239d598c4c46f7c05bdd88b31dff8a91b8bf471bfcb54128b82696 -SHA512 (azure_mgmt_compute-18.2.0-py2.py3-none-any.whl) = bb0ae742d888c80210b33a8dd8a79792aa71c293d2debc4f013322a19d23d07e6a32e4c48e58718cb5eda329c7fbecf3548331491cbf588f327269f2024248f1 -SHA512 (azure_mgmt_core-1.2.2-py2.py3-none-any.whl) = ea0b4062314de37d048cf6d9e40757372e050291a8861719dda2f1446c2e9a932050d0c0f732a8afb182993b7f700b5d6053217801199a4257b6269f5c7e47e5 -SHA512 (azure_mgmt_network-17.1.0-py2.py3-none-any.whl) = c7764faebe1bed870deb7ac13f0fd1d800d3037099561cfdb4a024843f5a2047a68ffab176fde52fbd4d003aa86a197b356afc7a2049d8d2c8e7911a1f524212 -SHA512 (certifi-2020.12.5-py2.py3-none-any.whl) = a0f753977d0e9e6c7eb4670eefafaffbbf2f44f22799eaffb45ffa458003b8d27b400254935a778e1daff769009f41b8686658e876b142376db54a0a14b59010 -SHA512 (chardet-4.0.0-py2.py3-none-any.whl) = cc8cdd5e73b4eace0131bbeaf6099e322ba5c2f827f26ad3316c674c60529d77f39f68d9fb83199ab78d16902021ab1ae58d74ab62d770cf95ceb804b9242e90 -SHA512 (cryptography-3.4.4-cp36-abi3-manylinux2014_x86_64.whl) = 52023cfb884c1cace8eb1b20f94567a08d069e3ed8e436a55729df767df14796f38c99a793d49bb94fcc6ce6d289acc7f8265ba2a84fff2f9880c5c5d459cf3a -SHA512 (idna-2.10-py2.py3-none-any.whl) = 7b7be129e1a99288aa74a15971377cb17bee1618843c03c8f782e287d0f3ecf3b8f26e3ea736444eb358f1d6079131a7eb291446f3279874eb8e00b624d9471c -SHA512 (isodate-0.6.0-py2.py3-none-any.whl) = 6d39a350ff4af87c74ae3226e6627f9c254205bfd2a761a5bf956883667bbe6d4678e1830b629c899a6f0fe67a9603cb4890c5a1fa6c8d245fe4fdbddddde870 -SHA512 (msrest-0.6.21-py2.py3-none-any.whl) = 331070553409fb006726d90667822951188712a2671fd00b5304e12341db0a5c529660b630b5ad2584214ee48ae32a0a2ffbfe43ede3d0639ee176bac0f4c15b -SHA512 (msrestazure-0.6.4-py2.py3-none-any.whl) = aa4329e3a6ba639d0061c1eb0712b9d474d49ca9d7c8d41f02e44089c9efa3bf37075d52942841c3431b3afead51b9bc73193b087f4fd6672131d8e3b6c9cb86 -SHA512 (oauthlib-3.1.0-py2.py3-none-any.whl) = 6506ce8024c6c7c3f009378f994c1946d937e4f3d3d3b3480207782a04326f7d19d25e3174c030fe1c36fff3c6a61d86eceafbf86d262dc2374cf89181c01ca9 -SHA512 (PyJWT-2.0.1-py3-none-any.whl) = 76b1766ea31768168deb95fab93c7adf086f8df6265ada4ca548bacad6ef10dfb4ca34e21573f181f2d356965b9813756acfd6439eec57313b89250eaa26225d -SHA512 (requests-2.25.1-py2.py3-none-any.whl) = cc0afada76d46295c685ac060d15a1ccb9af671522cb7b4fa0ad11988853715d1b7c31d42fa1e72a576cbd775db174da5bc03ab25c1e31c234c37740a63a6bcf -SHA512 (requests_oauthlib-1.3.0-py2.py3-none-any.whl) = 17d5e66d174e57ef1dae451a20bce215a3cc3d7ab1a5b922d4a66cb49b497c9a0799bd90b5a378648335daee7cf80f843f065d90410bfa791f989f76300a02d7 -SHA512 (cachetools-4.2.1-py3-none-any.whl) = d86a81a934e01a3b490c8fd5d5c7330dfc5857a26fd3d6743213128d9df8c20ab82c22a171bd7527c0e552d3dbd09c4f33b98eb8c718a2f705b18182476aa4ec -SHA512 (chardet-3.0.4-py2.py3-none-any.whl) = bfae58c8ea19c87cc9c9bf3d0b6146bfdb3630346bd954fe8e9f7da1f09da1fc0d6943ff04802798a665ea3b610ee2d65658ce84fe5a89f9e93625ea396a17f4 -SHA512 (google_api_core-1.26.0-py2.py3-none-any.whl) = ee6cb98695ccac771f1aff7035a34d206b8f62d3322aa465ebf1b494466a661ce6fd42b74ec1501675c7e2ed18c0c76647e8637e198c98324aaccf078031a253 -SHA512 (google_api_python_client-1.12.8-py2.py3-none-any.whl) = 59bb36abda556192f972943eb8a620779fb4315ff61b0492a6e8808b29cc433726a2550b20364cc560507061fde2971a2174dc1d3fe41f1b2d117a9f020e2ae8 -SHA512 (googleapis_common_protos-1.52.0-py2.py3-none-any.whl) = e304c46c7bc2279fc7499a1e591c79a3085f53cf20210e6b0f82e387cf0c25e461ccc86148a1c48325ebea49ea10889dff28f3f6100a55f2ef96273085cad2a7 -SHA512 (google_auth-1.26.0-py2.py3-none-any.whl) = 99b3ff59c0fa4affbba798f3129bf3b3aa3f83aece53a8ee753bcf8e882d03fbeb2ff219a948bd168622dbff55978938657e872be6d4930b944910e9bea1e1d8 -SHA512 (google_auth_httplib2-0.0.4-py2.py3-none-any.whl) = b63090447df1f6f90abe28e1d14ea7cf6e0904121951203f7736f7506cd7373fc858df2ab20a995d19b5fb07253311c5097fc0a1f36d9129020722226303714f -SHA512 (httplib2-0.19.0-py3-none-any.whl) = 82286fdc91e7be835ef7fcbd2cf9a6a891248e97327e295692555e4a0b82b7c4c0b795e9c78021a9f0957c387746efe71f8ca5e9ae455c379ea224284d5347db -SHA512 (packaging-20.9-py2.py3-none-any.whl) = 6a4f69737814acbf43a3d0644d8dbbe4446075c7dfd1ec4d36ad73af9d5f2a4a5bd5a8d8f19e31d4ef63a1617dd3e0554812803bdcaf81888925267a16969b0b -SHA512 (protobuf-3.14.0-py2.py3-none-any.whl) = 0f0e3818ca8dcd390ee9605dfa0ab91876184411c8d120fa799c38b4cf1a7ce453864c5571a23d6004142a56ed17d03776891582aa316c4417051ed91b0a0ceb -SHA512 (pyasn1-0.4.8-py2.py3-none-any.whl) = ab0ccbe261323925ca46a4f4e0e674f730f8b93f6db87b6bf94e26f2e190c3e9afd2ea6ede0d99b100eda282e54c03d87c3357bf3bdfa399469d56a92e2aabbb -SHA512 (pyasn1_modules-0.2.8-py2.py3-none-any.whl) = 8248686f74d000f29c9a5a2dfd14883d44a276286caf7c34c100ea9660e5f644765452fb62c88c534093ea330d5e3d9389fa6398477231e2d1b6331b98861a62 -SHA512 (pyparsing-2.4.7-py2.py3-none-any.whl) = acb6b4ff90254d73804621d302926deb69bc99ffde16d7aa16cba7d0af7a53c25b7197d422309d9e82a766704fd7ea4c8b078a48d2e7d8658a8b237266fe24f5 -SHA512 (pyroute2-0.5.14.tar.gz) = 081152662fa12398876e0b4a886cc7f79a9e664c8c4c256b6079251c046808c538c0e0b7c1717e04067c8827be0705ade1c2320fb51434d5d50df21f579f3186 -SHA512 (pytz-2021.1-py2.py3-none-any.whl) = 7ef08f53204664d6426bcb77e6f74bad8263d0f96128254aa41a752eaa9a0d1c9dac64134f5fd40c36a7385cfb453ec95ae7f714ba88993de000c34c32835619 -SHA512 (rsa-4.7-py3-none-any.whl) = ad0734a3ae9cc1527a5fca5aa6ee7964539a36aaf1509bc768508d7ee27c256bff235210b93c27c8037abf21605ebd1caa6ae660c97a889149fa3da409a68fd4 -SHA512 (setuptools-53.0.0-py3-none-any.whl) = 11ae9c0afbaa5224e9ad2b6a342948a9f306df8d52f277e6e7d6557e6af774604bd37340bf1316356db729724d04667569b54748ff1091da3cb3ac9ea49739d6 -SHA512 (uritemplate-3.0.1-py2.py3-none-any.whl) = 0d4cfc2eb14b73f17ef9d82a08d9bc7fbc8a1efd1e51693e20c51c01812e7597ebe964904f79fd86e21d06bd690abfdf9bd2824e8f957dd8a9486e3b860d58d0 diff --git a/update-ha-cloud.sh b/update-ha-cloud.sh deleted file mode 100755 index cc173e8..0000000 --- a/update-ha-cloud.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -export PYTHON_KEYRING_BACKEND="keyring.backends.null.Keyring" - -rm -f *.whl aliyun*.tar.gz boto3-*.tar.gz gcloud-*.tar.gz pycrypto-*.tar.gz pyroute2-*.tar.gz -sed -i -n -E '/\(fence-agents-/p' sources -sha512sum --tag requirements-*.txt >> sources - -for x in aliyun aws azure google; do -echo "# $x" >> sources - pip download -r requirements-$x.txt | awk '/Saved/{gsub("./", "", $2); print $2}' | sort | xargs sha512sum --tag >> sources -done - -awk 'NR<6{next} /^# /{print}; /^[^#]/{gsub("[()]", "", $2); printf "Source%d: %s\n", 1000+c++, $2}' sources - -sed -i '/^#/d' sources - -if ! git diff --quiet sources; then - cat << EOF - -Upload new sources by running: -awk '/^[^#]/{gsub("[()]", "", \$2); printf "%s ", \$2}' sources | xargs rhpkg new-sources - -EOF -fi