python-apache-libcloud/python-apache-libcloud.spec

95 lines
3.2 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-apache-libcloud
#
# Copyright (c) 2020 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-%{**}}
%bcond_without python2
Name: python-apache-libcloud
- Update to v3.0.0: * Make sure auth_user_info variable on the OpenStack identify connection class is populated when using auth version 3.x_password and 3.x_oidc_access_token. * [OpenStack] Update OpenStack identity driver so a custom project can be selected using domain_name keyword argument containing a project id. * [GCE] Update create_node() method so it throws an exception if node location can't be inferred and location is not specified by the user ( either by passing datacenter constructor argument or by passing location argument to the method). * [GCE] Update ex_get_disktype method so it works if zone argument is not set. (GITHUB-1443) [Tomaz Muraus] * [GiG G8] Add new driver for GiG G8 provider (https://gig.tech/). (GITHUB-1437) [Jo De Boeck - @grimpy] * [OpenStack] Fix auto assignment of volume device when using device name auto in the attach_volume method. (GITHUB-1444) [Joshua Hesketh - @jhesketh] * [Kamatera] Add new driver for Kamatera provider (https://www.kamatera.com). (GITHUB-1442) [Ori Hoch - @OriHoch] * Add new download_object_range and download_object_range_as_stream methods for downloading part of the object content (aka range downloads) to the base storage API. * [Google Storage] Update the driver so it supports service account HMAC credentials. * [Kubernetes] Add support for the client certificate and static token based authentication to the driver. (GITHUB-1421) [Tomaz Muraus] * Add support for Ed25519 private keys for deploy_node() functionality when using paramiko >= 2.2.0. (GITHUB-1445) [Tomaz Muraus - @Kami] * Fix deploy_node() so it correctly propagates an exception is a private key which is used is password protected, but no password is specified. * Allow user to specify password for encrypted keys by passing ssh_key_password argument to the deploy_node() method. * Fix deploy_node() method so we don't retry on fatal SSHCommandTimeoutError exception (exception which is thrown when a command which is running on remote host times out). (GITHUB-1445) [Tomaz Muraus - @Kami] * Add new stdout and stderr attribute to SSHCommandTimeoutError class. * [OpenStack] Fix auto assignment of volume device when using device name auto in the attach_volume method. (GITHUB-1444) [Joshua Hesketh - @jhesketh] - Refresh patches gce_image_projects.patch and ec2_create_node.patch. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apache-libcloud?expand=0&rev=101
2020-05-27 06:55:38 +02:00
Version: 3.0.0
Release: 0
Summary: Abstraction over multiple cloud provider APIs
License: Apache-2.0
URL: https://libcloud.apache.org
Source0: https://files.pythonhosted.org/packages/source/a/apache-libcloud/apache-libcloud-%{version}.tar.gz
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 mock}
BuildRequires: %{python_module paramiko}
BuildRequires: %{python_module pytest-runner}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests-mock}
BuildRequires: %{python_module setuptools}
- 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 15:27:19 +01:00
BuildRequires: %{python_module typing}
BuildRequires: %{python_module xml}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-lxml
Requires: python-requests
- 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 15:27:19 +01:00
Requires: python-typing
Suggests: python-libvirt-python
Suggests: python-lockfile
Suggests: python-paramiko
Suggests: python-pysphere
BuildArch: noarch
%if %{with python2}
BuildRequires: python-backports.ssl_match_hostname
BuildRequires: python2
%endif
%ifpython2
Requires: python-backports.ssl_match_hostname
%endif
%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}
%patch1 -p1
%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
# Note these two extra py3 failures are undesirable and should be fixed
%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