- update to 3.5.1
* Support for Python 3.5 which has been EOL for more than a year now has been removed.
* [EC2] Add support for new ap-east-1 region.
* [OpenStack] OpenStack: Move floating IP functions to use network service instead of nova.
* [OpenStack] Avoid raising exception if ip is not found.
* [GCE] Allow credentials argument which is provided to the driver constructor.
* [Local Storage] Objects returned by the list_container_objects() method are now returned sorted in the ascending order based on the object name.
* Also run unit tests under Python 3.10 + Pyjion on CI/CD.
- added upstream patch mock.patch and drop mock requirement
- rebase all other patches
OBS-URL: https://build.opensuse.org/request/show/977732
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apache-libcloud?expand=0&rev=116
- Skip "OvhTests::test_list_nodes_invalid_region" compute test when building
RPM package since this tests requires internet connection.
- Update to 3.3.1:
* Compute
+ [EC2] Fix a regression introduced in v3.3.0 which would break EC2 driver for some regions because the driver would incorrectly try to use signature version 2 for all the regions whereas some newer regions require signature version 4 to be used.
If you are unable to upgrade, you can use the following workaround, as long as you only use code which supports / works with authentication signature algorithm version 4:
import libcloud.common.aws
libcloud.common.aws.DEFAULT_SIGNATURE_VERSION = "4"
# Instantiate affected driver here...
Reported by @olegrtecno. (GITHUB-1545, GITHUB-1546)
+ [EC2] Allow user to override which signature algorithm version is used for authentication by passing signature_version keyword argument to the EC2 driver constructor. (GITHUB-1546)
* Storage
+ [Google Cloud Storage] Fix a bug and make sure we also correctly handle scenario in get_object() method when the object size is returned in x-goog-stored-content-length and not content-length header. @RunOrVeith. (GITHUB-1544, GITHUB-1547)
+ [Google Cloud Storage] Update get_object() method and ensure object.size attribute is an integer and not a string. This way it’s consistent with list_objects() method. (GITHUB-1547)
- Update to 3.3.0:
* Common
+ Fix a bug which would cause some prepared requests with empty bodies to be chunked which would cause some of the provider APIs such as OpenStack to return HTTP 400 errors. (GITHUB-1487, GITHUB-1488) [Michael Spagon - @mspagon]
+ Optimize various code imports (remove unnecessary imports, make some lazy, etc.), so now importing most of the modules is around ~20-40% faster (~70 vs ~140 ms) and in some cases such as EC2 driver even more.
+ Now majority of the import time is spent in importing requests library. (GITHUB-1519) [Tomaz Muraus]
+ libcloud.pricing.get_size_price() function has been updated so it only caches pricing data in memory for the requested drivers.
+ Advertise Python 3.9 support in setup.py.
* Compute
+ [GCE] Fix ex_set_image_labels method using incorrect API path. (GITHUB-1485) [Poul Petersen - @petersen-poul]
+ [OpenStack] Fix error setting ex_force_XXX_url without setting ex_force_base_url. (GITHUB-1492) [Miguel Caballer - @micafer]
+ [EC2] Update supported EC2 regions and instance sizes and add support for eu-north-1 region. (GITHUB-1486) [Arturo Noha - @r2ronoha]
+ [Ovh] Add support for multiple regions to the driver. User can select a region (location) by passing location argument to the driver constructor (e.g. location=ca). (GITHUB-1494) [Dan Hunsaker - @danhunsaker]
+ [GCE] Add support for creating nodes without a service account associated with them. Now when an empty list is passed for ex_service_accounts argument, VM will be created without service account attached.
OBS-URL: https://build.opensuse.org/request/show/868316
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apache-libcloud?expand=0&rev=111
* [OpenStack] Add ex_get_network() to the OpenStack driver to make it possible to retrieve a single network by using the ID.
* [OpenStack] Fix pagination in the list_images() method and make sure method returns all the images, even if the result is spread across multiple pages.
* [GCE] Add script for scraping GCE pricing data and improve price addition in _to_node_size method. (GITHUB-1468) [Eis D. Zaster - @Eis-D-Z]
* [AWS EC2] Update script for scraping AWS EC2 pricing and update EC2 pricing data. (GITHUB-1469) [Eis D. Zaster - @Eis-D-Z]
* [Deployment] Add new wait_period argument to the deploy_node method and default it to 5 seconds.
* [Azure ARM] Add script for scraping Azure ARM instance pricing data. (GITHUB-1470) [Eis D. Zaster - @Eis-D-Z]
* [Deployment] Make FileDeployment class much faster and more efficient when working with large files or when running multiple FileDeployment steps on a single node.
* [Deployment] Add __repr__() and __str__() methods to all the Deployment classes. [Tomaz Muraus - @Kami]
* [Deployment] New keep_alive and use_compression arguments have been added to the ParamikoSSHClient class constructor.
* [Deployment] Update ParamikoSSHClient.put() method so it returns a correct path when commands are being executed on a Windows machine.
* [Outscale] Add a new driver for the Outscale provider. Existing Outscale driver utilizes the EC2 compatible API and this one utilizes native Outscale API. (GITHUB-1476) [Tio Gobin - @tgn-outscale]
* [KubeVirt] Add new methods for managing services which allows users to expose ports for the VMs (ex_list_services, ex_create_service, ex_delete_service). (GITHUB-1478) [Eis D. Zaster - @Eis-D-Z]
* [LXD] Add new methods for managing network and storage pool capabilities and include other improvements in some of the existing methods. (GITHUB-1477) [Eis D. Zaster - @Eis-D-Z]
* [DigitalOcean] Add location argument to the list_sizes() method.
* Fix deploy_node() so an exception is not thrown if any of the output (stdout / stderr) produced by the deployment script contains a non-valid utf-8 character.
* Add new timeout argument to ScriptDeployment and ScriptFileDeployment class constructor.
* [GiG G8] Fix retry functionality when creating port forwards and add support for automatically refresing the JWT auth token inside the connection class if it's about to expire in 60 seconds or less. (GITHUB-1465) [Jo De Boeck - @grimpy]
* [Azure ARM] Update create_node so an exception is thrown if user passes ex_use_managed_disks=False, but doesn't provide a value for the ex_storage_account argument. (GITHUB-1448) [@antoinebourayne]
* [AWS S3] Make sure driver works correctly for objects with ~ in the name.
* [CloudFlare] Update driver to include the whole error chain the thrown exception message field.
* [Gandi Live] Don't throw if extra['rrset_ttl'] argument is not passed to the create_record method. (GITHUB-1463) [Tomaz Muraus]
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-apache-libcloud?expand=0&rev=103
* 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
- 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