python-apache-libcloud/python-apache-libcloud.spec
Thomas Bechtold 67243e8c70 - update to 2.7.0:
- Test code with Python 3.8 and advertise that we also support Python 3.8.
  - [OpenStack] Fix OpenStack project scoped token authentication. The driver
    constructors now accept ``ex_tenant_domain_id`` argument which tells
    authentication service which domain id to use for the scoped authentication
    token. (GITHUB-1367)
  - Introduce type annotations for the base compute API methods. This means you
    can now leverage mypy to type check (with some limitations) your code which
    utilizes Libcloud compute API standard API methods.
  - [Azure ARM] Fix ``attach_volume`` method and allow maximum of 64 disks to be
    added when LUN is not specified. Previously there was a bug and only a
    maximum of 63 disks could be added.
  - New ``start_node`` and ``stop_node`` methods have been added to the base
    Libcloud compute API NodeDriver class.
   - [GCE] Add new ``ex_set_volume_labels`` method for managing volume labels to
     the driver.
  - [EC2] Add support for new ``inf1.*`` instance types.
  - [S3] Update S3 driver so a single driver class can be used for different
    regions.
  - [S3] Add missing ``eu-north-1`` region to the S3 driver. (GITHUB-1370)
  - [S3] Add missing regions (eu-west-3, ap-northeast-3, me-south-1) to the driver.
  - [S3] Update the driver to throw more user-friendly error message if user is
    using driver for a region X, but trying to upload / download object to / from
    a region Y.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apache-libcloud?expand=0&rev=90
2019-12-13 14:27:19 +00:00

94 lines
3.2 KiB
RPMSpec

#
# spec file for package python-apache-libcloud
#
# Copyright (c) 2019 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-apache-libcloud
Version: 2.7.0
Release: 0
Summary: Abstraction over multiple cloud provider APIs
License: Apache-2.0
Group: System/Monitoring
URL: https://libcloud.apache.org
Source0: https://files.pythonhosted.org/packages/source/a/apache-libcloud/apache-libcloud-%{version}.tar.gz
Patch2: ec2_create_node.patch
BuildRequires: %{python_module libvirt-python}
BuildRequires: %{python_module lockfile}
BuildRequires: %{python_module lxml}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module paramiko}
BuildRequires: %{python_module pytest-runner}
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-backports.ssl_match_hostname
BuildRequires: python-rpm-macros
BuildRequires: python2
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}
%patch2 -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 ShellOutSSHClientTests tests which attempt to ssh to localhost
python2 -m pytest -k 'not ShellOutSSHClientTests and \
not ElasticContainerDriverTestCase'
# Note these two extra py3 failures are undesirable and should be fixed
python3 -m 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 ShellOutSSHClientTests and \
not ElasticContainerDriverTestCase'
%files %{python_files}
%license LICENSE
%doc CHANGES.rst README.rst demos/ example_*.py
%{python_sitelib}/*
%changelog