python-apache-libcloud/python-apache-libcloud.spec
Matej Cepl 6e2f44ac24 Accepting request 1031646 from home:yarunachalam:branches:devel:languages:python
- Update to 3.6.1 
  * [OpenStack] Fix OpenStack Identitiy bug when auth url contains a path.
     (GITHUB-1717, GITHUB-1718) [Dimitris Galanis - @dimgal1]
  * Update EC2 price scraping script to utilize official pricing API endpoint.
     Pricing file has also been updated to include latest EC2 pricing data.
     Complete raw pricing data file size has grown by ~1 MB (from ~2 MB to ~3 MB).
     By default when requesting pricing data we only cache pricing data in memory for used / requested drivers so a slight memory
     increase due to the pricing file size increase will only affect users who utilize pricing related functionality in the EC2 driver.
     (GITHUB-1715) [Eis D. Zaster - @Eis-D-Z]
  Compute
  * [EC2] Update list_images() method to better handle scenario when an image doesn't contain creationDate attribute
    (previously the code would throw if an image without creationDate was encountered).
    Reported by Juan Marcos Caicedo Mejía - @juanmarcosdev.
    (GITHUB-1700, GITHUB-1701) [Tomaz Muraus - @Kami]
  * [Azure ARM] Allow user to create volume / disks in specific zone by passing ex_zones argument to the create_volume() method.
    Also add new ex_sku_name and remove ex_account_type argument from that method.
    Also change DISK_API_VERSION version from 2016-04-30-preview to 2018-06-01. This is needed to be able to support those changes.
    Code has been updated to handle slightly different response format for the volume API operations.
  * (GITHUB-1736) [Palash Gandhi - @palashgandhi]
  * [GCE] Add improved support for retrieving GCE image pricing data using libcloud.pricing.get_image_price("gce_images", ...) method.
  * Existing way of retrieving image pricing using libcloud.pricing.get_pricing("compute", "gce_images") method continues to work.
    (GITHUB-1699) [Eis D. Zaster - @Eis-D-Z]
  * [Azure ARM] Add new ex_create_additional_capabilities() method which allows user to set capabilities on a stopped node.
    This allows users to utilize ultra SSDs and similar.
  * Also add support for new ex_iops and ex_throughput argument to the create_volume() method.
    (GITHUB-1744) [John Wren Kennedy - @jwk404]
  Storage
  * [Azure Blobs] Fix get_container() method and make sure Container etag extra attribute contains the correct scheme (https or http), depending on the used endpoint.
    (GITHUB-1703, GITHUB-1712) [@KatiRG]
  * [Azure Blobs] Fix list_containers()` method and make sure Container etag extra attribute doesn't contain unncessary double quotes

OBS-URL: https://build.opensuse.org/request/show/1031646
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apache-libcloud?expand=0&rev=124
2022-10-29 11:42:27 +00:00

93 lines
3.8 KiB
RPMSpec

#
# spec file for package python-apache-libcloud
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# No longer build for python2
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-apache-libcloud
Version: 3.6.1
Release: 0
Summary: Abstraction over multiple cloud provider APIs
License: Apache-2.0
Group: Development/Languages/Python
URL: https://libcloud.apache.org
Source0: https://downloads.apache.org/libcloud/apache-libcloud-%{version}.tar.bz2
Source1: https://downloads.apache.org/libcloud/apache-libcloud-%{version}.tar.bz2.asc
# https://libcloud.apache.org/downloads.html#package-verification-guide
Source2: https://www.apache.org/dist/libcloud/KEYS#/%{name}.keyring
Patch1: gce_image_projects.patch
Patch2: ec2_create_node.patch
BuildRequires: %{python_module libvirt-python}
BuildRequires: %{python_module lockfile}
BuildRequires: %{python_module lxml}
BuildRequires: %{python_module paramiko}
BuildRequires: %{python_module pyOpenSSL}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests-mock}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module typing}
BuildRequires: %{python_module xml}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-lxml
Requires: python-requests
Requires: python-typing
Suggests: python-libvirt-python
Suggests: python-lockfile
Suggests: python-paramiko
Suggests: python-pysphere
BuildArch: noarch
%python_subpackages
%description
Apache Libcloud is a standard Python library that abstracts away
differences among multiple cloud provider APIs.
%prep
%setup -q -n apache-libcloud-%{version}
%autopatch -p1
sed -i '/^#!/d' demos/gce_demo.py
chmod a-x demos/gce_demo.py
# Setup tests
cp libcloud/test/secrets.py-dist libcloud/test/secrets.py
%build
%python_build
%install
%python_install
find %{buildroot} -name '*.DS_Store' -delete
find %{buildroot} -name '*.json' -size 0 -delete
find %{buildroot} -name '*.pem' -size 0 -delete
%python_expand rm -r %{buildroot}%{$python_sitelib}/libcloud/test
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# Skip OvhTests::test_list_nodes_invalid_region which tries to reach OVH servers
# Skip ShellOutSSHClientTests tests which attempt to ssh to localhost
# Skip test_key_file_non_pem_format_error since OpenSSH support is backported for SLE python-paramiko < 2.7.0
# Note these four extra py3 failures are undesirable and should be fixed: fail in s390 and ppc64
%pytest -k '(not test_consume_stderr_chunk_contains_part_of_multi_byte_utf8_character and not test_consume_stdout_chunk_contains_part_of_multi_byte_utf8_character and not test_consume_stdout_chunk_contains_non_utf8_character and not test_consume_stderr_chunk_contains_non_utf8_character and not test_key_file_non_pem_format_error and not ShellOutSSHClientTests and not ElasticContainerDriverTestCase and not test_list_nodes_invalid_region and not test_connection_timeout_raised and not test_retry_on_all_default_retry_exception_classes)'
%files %{python_files}
%license LICENSE
%doc CHANGES.rst README.rst demos/ example_*.py
%{python_sitelib}/*
%changelog