- update HA cloud support package (awscli)

This commit is contained in:
Oyvind Albrigtsen 2021-02-16 12:01:41 +01:00
parent 9d98832086
commit b4c7e6406a
9 changed files with 311 additions and 367 deletions

6
.gitignore vendored
View File

@ -1,4 +1,6 @@
/fence-agents-*.tar.?z
/fence-agents-*.src.rpm
/*.gz
/*.rpm
/.build-*.log
/*.whl
/*.txt
/*/

View File

@ -9,42 +9,112 @@
Name: fence-agents
Summary: Set of unified programs capable of host isolation ("fencing")
Version: 4.7.1
Release: 3%{?alphatag:.%{alphatag}}%{?dist}
Release: 4%{?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.5-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: awscli-1.19.8.tar.gz
Source1008: boto3-1.17.8-py2.py3-none-any.whl
Source1009: botocore-1.20.8-py2.py3-none-any.whl
Source1010: colorama-0.4.3-py2.py3-none-any.whl
Source1011: docutils-0.15.2-py3-none-any.whl
Source1012: pyasn1-0.4.8-py2.py3-none-any.whl
Source1013: python_dateutil-2.8.1-py2.py3-none-any.whl
Source1014: PyYAML-5.3.1.tar.gz
Source1015: rsa-4.5-py2.py3-none-any.whl
Source1016: s3transfer-0.3.4-py2.py3-none-any.whl
Source1017: urllib3-1.26.3-py2.py3-none-any.whl
# azure
Source1018: adal-1.2.6-py2.py3-none-any.whl
Source1019: azure_common-1.1.26-py2.py3-none-any.whl
Source1020: azure_core-1.11.0-py2.py3-none-any.whl
Source1021: azure_mgmt_compute-18.2.0-py2.py3-none-any.whl
Source1022: azure_mgmt_core-1.2.2-py2.py3-none-any.whl
Source1023: azure_mgmt_network-17.1.0-py2.py3-none-any.whl
Source1024: certifi-2020.12.5-py2.py3-none-any.whl
Source1025: chardet-4.0.0-py2.py3-none-any.whl
Source1026: cryptography-3.4.5-cp36-abi3-manylinux2014_x86_64.whl
Source1027: idna-2.10-py2.py3-none-any.whl
Source1028: isodate-0.6.0-py2.py3-none-any.whl
Source1029: msrest-0.6.21-py2.py3-none-any.whl
Source1030: msrestazure-0.6.4-py2.py3-none-any.whl
Source1031: oauthlib-3.1.0-py2.py3-none-any.whl
Source1032: PyJWT-2.0.1-py3-none-any.whl
Source1033: requests-2.25.1-py2.py3-none-any.whl
Source1034: requests_oauthlib-1.3.0-py2.py3-none-any.whl
# google
Source1035: cachetools-4.2.1-py3-none-any.whl
Source1036: chardet-3.0.4-py2.py3-none-any.whl
Source1037: google_api_core-1.26.0-py2.py3-none-any.whl
Source1038: google_api_python_client-1.12.8-py2.py3-none-any.whl
Source1039: googleapis_common_protos-1.52.0-py2.py3-none-any.whl
Source1040: google_auth-1.26.1-py2.py3-none-any.whl
Source1041: google_auth_httplib2-0.0.4-py2.py3-none-any.whl
Source1042: httplib2-0.19.0-py3-none-any.whl
Source1043: packaging-20.9-py2.py3-none-any.whl
Source1044: protobuf-3.14.0-py2.py3-none-any.whl
Source1045: pyasn1_modules-0.2.8-py2.py3-none-any.whl
Source1046: pyparsing-2.4.7-py2.py3-none-any.whl
Source1047: pyroute2-0.5.14.tar.gz
Source1048: pytz-2021.1-py2.py3-none-any.whl
Source1049: rsa-4.7.1-py3-none-any.whl
Source1050: setuptools-53.0.0-py3-none-any.whl
Source1051: uritemplate-3.0.1-py2.py3-none-any.whl
### END ###
%if 0%{?rhel} == 7
%ifarch s390x
%define rhel7_s390x 1
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
%ifarch s390x
%global testagents virsh zvm heuristics_ping
%endif
%ifnarch x86_64 ppc64le s390x
%global testagents virsh heuristics_ping
%endif
# skipped: pve, raritan, rcd-serial, virsh
%global allfenceagents %(cat <<EOF
fence-agents-alom \\
fence-agents-amt \\
fence-agents-amt-ws \\
fence-agents-apc \\
fence-agents-apc-snmp \\
fence-agents-aws \\
fence-agents-azure-arm \\
fence-agents-bladecenter \\
fence-agents-brocade \\
fence-agents-cisco-mds \\
fence-agents-cisco-ucs \\
fence-agents-docker \\
fence-agents-drac \\
fence-agents-drac5 \\
fence-agents-eaton-snmp \\
fence-agents-emerson \\
fence-agents-eps \\
fence-agents-gce \\
fence-agents-hds-cb \\
fence-agents-heuristics-ping \\
fence-agents-hpblade \\
fence-agents-ibmblade \\
fence-agents-ibmz \\
fence-agents-ifmib \\
fence-agents-ilo-moonshot \\
fence-agents-ilo-mp \\
@ -54,26 +124,16 @@ fence-agents-intelmodular \\
fence-agents-ipdu \\
fence-agents-ipmilan \\
fence-agents-kdump \\
fence-agents-ldom \\
fence-agents-lpar \\
fence-agents-mpath \\
fence-agents-netio \\
fence-agents-ovh \\
fence-agents-redfish \\
fence-agents-rhevm \\
fence-agents-rsa \\
fence-agents-rsb \\
fence-agents-sanbox2 \\
fence-agents-sbd \\
fence-agents-scsi \\
fence-agents-vbox \\
fence-agents-vmware \\
fence-agents-vmware-rest \\
fence-agents-vmware-soap \\
fence-agents-vmware-vcloud \\
fence-agents-wti \\
fence-agents-xenapi \\
fence-agents-zvm \\
EOF)
@ -81,17 +141,6 @@ EOF)
%global allfenceagents %(cat <<EOF
%{allfenceagents} \\
fence-agents-compute \\
fence-agents-ironic \\
fence-agents-openstack
EOF)
%endif
%if ! %{defined rhel7_s390x}
%global allfenceagents %(cat <<EOF
%{allfenceagents} \\
fence-agents-aws \\
fence-agents-gce
EOF)
%endif
@ -106,30 +155,21 @@ BuildRequires: gcc
BuildRequires: libxslt
## Python dependencies
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
BuildRequires: python3-devel
BuildRequires: python3-devel python3-pip
# wheel for HA cloud support
BuildRequires: python3-wheel
BuildRequires: python3-pexpect python3-pycurl python3-requests
BuildRequires: python3-suds
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
BuildRequires: python3-google-api-client python3-boto3 openwsman-python3
%endif
# (-openstack)
%ifarch x86_64 ppc64le
BuildRequires: python3-novaclient python3-keystoneclient
BuildRequires: openwsman-python3
%endif
%if 0%{?suse_version}
BuildRequires: python3-google-api-python-client python3-openwsman python3-boto3
BuildRequires: python3-openwsman
%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
@ -138,20 +178,36 @@ BuildRequires: python-novaclient python-keystoneclient
#undefine __brp_python_bytecompile
%prep
%autosetup -p1
%autosetup -b0 -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
sed -i -e "/^import awscli.clidriver/isys.path.insert(0, '/usr/lib/%{name}/support/aws')" support/aws/bin/aws
%endif
if [ -z "$PYTHON " ]; then
PYTHON="%{__python3}"
fi
./autogen.sh
%{configure}
%{configure} PYTHONPATH="support/aliyun:support/aws:support/azure:support/google" --with-agents='%{supportedagents} %{testagents}'
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
@ -202,11 +258,33 @@ 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
### ADD PROVIDES ###
%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
@ -219,10 +297,11 @@ This package serves as a catch-all for all supported fence agents.
%ifarch x86_64
%package aliyun
License: GPLv2+ and LGPLv2+ and ASL 2.0 and BSD and MIT
License: GPLv2+ and LGPLv2+
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
@ -233,38 +312,6 @@ 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
@ -319,16 +366,12 @@ Fence agents for APC devices that are accessed via the SNMP protocol.
%{_sbindir}/fence_tripplite_snmp
%{_mandir}/man8/fence_tripplite_snmp.8*
%if ! %{defined rhel7_s390x}
%ifarch x86_64
%package aws
License: GPLv2+ and LGPLv2+
Summary: Fence agent for Amazon AWS
Requires: fence-agents-common = %{version}-%{release}
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
Requires: python3-boto3
%else
Requires: python-boto3
%endif
Requires: ha-cloud-support = %{version}-%{release}
BuildArch: noarch
Obsoletes: fence-agents < 3.1.13
%description aws
@ -338,15 +381,12 @@ 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}
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
Requires: python3-azure-sdk
%else
Requires: python-azure-sdk
%endif
Requires: ha-cloud-support = %{version}-%{release}
BuildArch: noarch
Obsoletes: fence-agents < 3.1.13
%description azure-arm
@ -358,6 +398,7 @@ 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+
@ -450,35 +491,6 @@ 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
@ -536,21 +548,12 @@ via the HTTP(s) protocol.
%{_sbindir}/fence_eps
%{_mandir}/man8/fence_eps.8*
%if ! %{defined rhel7_s390x}
%ifarch x86_64
%package gce
License: GPLv2+ and LGPLv2+
Summary: Fence agent for GCE (Google Cloud Engine)
Requires: fence-agents-common = %{version}-%{release}
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
Requires: python3-google-api-client
%endif
%if 0%{?suse_version}
Requires: python3-google-api-python-client
%endif
%else
Requires: python-google-api-client
%endif
Requires: ha-cloud-support = %{version}-%{release}
BuildArch: noarch
Obsoletes: fence-agents < 3.1.13
%description gce
@ -560,18 +563,6 @@ 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
@ -618,23 +609,6 @@ 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
@ -770,19 +744,6 @@ 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
@ -796,25 +757,6 @@ 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
@ -848,101 +790,6 @@ 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
@ -1012,18 +859,6 @@ 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)
@ -1050,18 +885,6 @@ 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+
@ -1075,22 +898,6 @@ 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
@ -1119,18 +926,6 @@ 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
@ -1151,26 +946,7 @@ via telnet or SSH.
%{_sbindir}/fence_wti
%{_mandir}/man8/fence_wti.8*
%package xenapi
License: GPLv2+ and LGPLv2+
Summary: Fence agent for Citrix XenServer over XenAPI
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7 || 0%{?suse_version}
Requires: python3-pexpect
%else
Requires: pexpect
%endif
Requires: fence-agents-common = %{version}-%{release}
BuildArch: noarch
%description xenapi
Fence agent for Citrix XenServer accessed over XenAPI.
%files xenapi
%{_sbindir}/fence_xenapi
%{_datadir}/fence/XenAPI.py*
%if 0%{?fedora} || 0%{?centos} > 7 || 0%{?rhel} > 7
%{_datadir}/fence/__pycache__/XenAPI.*
%endif
%{_mandir}/man8/fence_xenapi.8*
%ifarch s390x
%package zvm
License: GPLv2+ and LGPLv2+
Summary: Fence agent for IBM z/VM over IP
@ -1181,8 +957,12 @@ Fence agent for IBM z/VM over IP.
%files zvm
%{_sbindir}/fence_zvmip
%{_mandir}/man8/fence_zvmip.8*
%endif
%changelog
* Mon Feb 15 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.7.1-4
- create HA cloud support package
* Thu Feb 11 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.7.1-3
- add aliyun subpackage
- fence-agents-mpath: add missing fence_mpath_check*
@ -1190,9 +970,6 @@ Fence agent for IBM z/VM over IP.
* Mon Feb 8 2021 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.7.1-1
- new upstream release
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Dec 9 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.7.0-1
- new upstream release

View File

@ -0,0 +1,43 @@
From a06a83566e11b0bdf197b16beb022b4cece11d5f Mon Sep 17 00:00:00 2001
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
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)

View File

@ -0,0 +1,10 @@
--- 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

View File

@ -0,0 +1,10 @@
--- 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:

View File

@ -0,0 +1,12 @@
--- 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"

View File

@ -0,0 +1,10 @@
--- 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

56
sources
View File

@ -1 +1,57 @@
SHA512 (fence-agents-4.7.1.tar.gz) = 9973d80fa9545f44d0202e6841eeadaf9facdaca2a4a67827369b5fe63a58bc830a5fb91dc94c5a90dc1f8cf4a07198fd52eb46f3974b4730f69013154493527
SHA512 (requirements-aliyun.txt) = 0c4f89de63246c406535ee73310232f3986b37dedbeed52f25000386d73af6735e1bf8e7ecaa97419df98f55058d76e4ff289d856b815afaaaf69744c5924f7e
SHA512 (requirements-aws.txt) = 3fccf8c386dd21dcb738f89020dd728e76dee347accfdf7bef5b7493d22ac1090340f76187f19a6822777fe939ffc50f1ec84c1dbe328be5d435d5ad56714a99
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.5-cp39-cp39-manylinux1_x86_64.whl) = 3c73e06bef8e9646beacc584d59ecf42de013034194d6eb59f1abf279e8fe5468e106fcd47802ce1d264d3c1d9122af3c66ea1229db78a768f7ea069ddc2fd72
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 (awscli-1.19.8.tar.gz) = f8524451cf673c0f7be615b1c66496f5cbb61311d70a14c992c1c4b363197646f198b47fc71c68e8a27d76f43c9a2d56f0619bdb88309299b6e600f05bccc487
SHA512 (boto3-1.17.8-py2.py3-none-any.whl) = 262aefcadc262e6eda3f34a853f13cfb9b5f77a1f5679c0cf52263072ea96e433087bb4467422615289e62d15d5d5ba265bd168d08f9e563a4a7f8d015ce091b
SHA512 (botocore-1.20.8-py2.py3-none-any.whl) = 4871a165f11196a9e38e6d6910f3242bcde3c3162713cb8b2b440da79052989e2aa5f6ea089af0315f63291b62b9ed9a1ea366cb376860b132bbf250ebe1f93b
SHA512 (colorama-0.4.3-py2.py3-none-any.whl) = 7cb2e248fbda31049e23431a921c71d3ecca650011ba25290ce0bfabb616faa0f0185e49deda10a9a358d3b9355392864b51ef764a4020c33d0980af97a33024
SHA512 (docutils-0.15.2-py3-none-any.whl) = d9680d716663c8a64e7d8f7b4709974f780600d025d76d9b74363ed42d4935346f642a820a5c3ee9507b047956bc1304816835d750b65ca1dde8f6e3180e1f5b
SHA512 (pyasn1-0.4.8-py2.py3-none-any.whl) = ab0ccbe261323925ca46a4f4e0e674f730f8b93f6db87b6bf94e26f2e190c3e9afd2ea6ede0d99b100eda282e54c03d87c3357bf3bdfa399469d56a92e2aabbb
SHA512 (python_dateutil-2.8.1-py2.py3-none-any.whl) = ff083825ef3c8a3c6887ceae79a4249b938f529b72d0b931b1e30c81856ec7c8ee0adf0e29e2a41d3c76ab4e1faabc1c4161fe977d14589d346a658e343aa122
SHA512 (PyYAML-5.3.1.tar.gz) = 87372877d396bd06cdb6b9052ef8822ef0589a211659bf27d7a1c4deca8429cb39e120a23e5d590d7adc0f8059ce1c8af42409bebd7c6d504d49dc8504d5683a
SHA512 (rsa-4.5-py2.py3-none-any.whl) = 9316c9cbf195594ab5b37808051954b5614c5e3de3585d2af9cb328d149a55daf31494c53e5e35d075a717002218fbf80a0bd67ab00a40a1f1847a5a0356fcf8
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.5-cp36-abi3-manylinux2014_x86_64.whl) = 2be77f54a9f715db125a97d75998cb7fdde9368f162e603fb19d1903fc515b58998f7e9687319cf77a64b3ce0716f27c0a6927747e6ce00de3a1f8d2e18b9159
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.1-py2.py3-none-any.whl) = 6ad87abb4c5e3034c209b8b251f7db8a365ca63c2aa379a2e015463d504b45a30c88b1a958fec48a23d2390678b6b29be4ae0cf621981b7f6296c945d9aa4d5a
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_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.1-py3-none-any.whl) = 1cda6ea5df1d085b1646131fc47f51458df539ac02e2cf51024415285fa35420c2b2605b2b3a4d4d3990a79ec4106c03dbdd97694937bb269668e4762aa3fb41
SHA512 (setuptools-53.0.0-py3-none-any.whl) = 11ae9c0afbaa5224e9ad2b6a342948a9f306df8d52f277e6e7d6557e6af774604bd37340bf1316356db729724d04667569b54748ff1091da3cb3ac9ea49739d6
SHA512 (uritemplate-3.0.1-py2.py3-none-any.whl) = 0d4cfc2eb14b73f17ef9d82a08d9bc7fbc8a1efd1e51693e20c51c01812e7597ebe964904f79fd86e21d06bd690abfdf9bd2824e8f957dd8a9486e3b860d58d0

24
update-ha-cloud.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
export PYTHON_KEYRING_BACKEND="keyring.backends.null.Keyring"
find -maxdepth 1 -not -name "fence-agents-*.tar.gz" -and \( -name "*.whl" -or -name "*.tar.?z*" \) -delete
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