--------------------------------
General
~~~~~~~
- [OpenStack] Update OpenStack identity driver so a custom project can be
selected using ``domain_name`` keyword argument. Previously, that wasn't
possible and the first project which was returned by the API was always
selected. (1293)
[Miguel Caballer - micafer]
- Add new ``extra`` attribute to the base ``NodeLocation`` class. (1282)
[Dimitris Moraitis - d-mo]
- Remove various code patterns which were in place for supporting multiple
Python versions, including 2.5 and 2.6. Libcloud hasn't supported Python <
2.7 for a while now, so we can remove that code. (1307)
[Tomaz Muraus]
- Also run pylint on ``libcloud/compute/`` directory and fix various pylint
violations. (1308)
[Tomaz Muraus]
- [OpenStack] Remove unused variable in parse_error (1260)
[Rick van de Loo]
- Add support for HTTPS proxies and fix ``driver.set_http_proxy()`` method.
HTTPS proxy can be set up by either setting ``https_proxy`` / ``http_proxy``
environment variable or by using
``driver.connection.connection.set_http_proxy`` method.
For more information, please refer to the documentation -
https://libcloud.readthedocs.io/en/latest/other/using-http-proxy.html
(1314, 1324)
[Jim Liu - hldh214, Tomaz Muraus]
- Fix paramiko debug logging which didn't work when using ``LIBCLOUD_DEBUG``
environment variable. (1315)
[Tomaz Muraaus]
- Update paramiko SSH deployment client so it automatically tries to convert
private keys in PEM format with a header which paramiko doesn't recognize
into a format which paramiko recognizes.
NOTE: Paramiko only supports keys in PEM format. This means keys which start
with "----BEGIN <TYPE> PRIVATE KEY-----". Keys in PKCS8 and newer OpenSSH
format are not supported.
For more information, see https://libcloud.readthedocs.io/en/latest/compute/deployment.html#supported-private-ssh-key-types
(1314)
- Update Paramiko SSH client to throw a more user-friendly error if a private
key file in an unsupported format is used. (1314)
[Tomaz Muraus]
- Fix HTTP(s) proxy support in the OpenStack drivers. (1324)
[Gabe Van Engel - gvengel]
- Fix logging connection class so it also works when data type is ``bytearray``
or ``bytes``. (1339)
[Tomaz Muraus]
Compute
~~~~~~~
- [Google Compute Engine] Fix the driver so ``list_nodes()`` method doesn't
throw if there is a node in a ``SUSPENDED`` state.
Also update the code so it doesn't crash if an unknown node state which is
not defined locally is returned by the API when listing nodes. Such states
are now mapped to ``UNKNOWN``. (1296, LIBCLOUD-1045)
Reported by rafa alistair.
[Tomaz Muraus]
- [OpenStack] Fix a bug with retrieving floating IP address when a
``device_owner`` of a port is ``compute:None``. (1295)
[Miguel Caballer - micafer]
- [Packet] Add various new extension methods to Packet.net driver
(``ex_reinstall_node``, ``ex_list_projects``,
``ex_get_bgp_config_for_project``, ``ex_get_bgp_config``,
``ex_list_nodes_for_project``, etc.). (1282)
[Dimitris Moraitis - d-mo]
- [Maxihost] Add new compute driver for Maxihost provider
(https://www.maxihost.com/). (#1298)
[Spyros Tzavaras - mpempekos]
- [Azure ARM] Add various improvements to the Azure ARM driver:
- Add functionality to resize a volume in Azure
- Add functionality to update the network profile of a node
- Add functionality to update a network interface's properties
- Add functionality to check IP address availability (1244)
[Palash Gandhi - palashgandhi]
- [EC2] Allow user to pass arbitrary filters to ``list_volumes`` method by
passing a dictionary with filters as ``ex_filters`` method argument value.
(1300)
[Palash Gandhi - palashgandhi]
- [GCE] Add new ``ex_instancegroupmanager_set_autohealingpolicies`` method to
the GCE driver.
This method allows user to set the auto healing policies (health check to
use and initial delay) on GCE instance group. (1286)
[Kenta Morris - kentamorris]
- [GCE] Update GCE driver to include new operating system images such as
Ubuntu 18.04, RHEL 8, etc. (1304)
[Christopher Lambert - XN137]
- [GCE] Add new ``ex_resize_volume`` method to the driver. (1301)
[Palash Gandhi - palashgandhi]
- [OpenStack] Add various router management methods to the OpenStack
driver. (1281)
[Miguel Caballer - micafer]
- [OpenStack] Fix ``ex_resize`` method. (1311)
[Miguel Caballer - micafer]
- [OpenStack] For consistency, rename ``ex_resize`` method to
``ex_resize_node``. For backward compatibility reasons, leave ``ex_resize``
alias in place.
[Tomaz Muraus]
- [Gridscale] Add new driver for Gridscale provider (https://gridscale.io).
(1305, 1315)
[Sydney Weber - PrinceSydney]
- [Oneandone] Update Oneandone driver to accomodate latest changes to the API.
This means removing deprecated ``ex_remove_server_firewall_policy`` method
and replacing ``port_from`` and ``port_to`` argument on the firewall policy
with a single ``port`` attribute.
(1230)
[Amel Ajdinovic - aajdinov]
- [DigitalOcean] Update ``list_locations`` method in the DigitalOcean driver
to only returns regions which are available by default. If you want to list
all the regions, you need to pass ``ex_available=False`` argument to the
method. (1001)
[Markos Gogoulos]
- [EC2] Add new ``ex_modify_subnet_attribute`` method to the EC2 driver.
(1205)
[Dan Hunsaker - danhunsaker]
- [Azure ARM] Add ``ex_delete_public_ip`` method to the Azure ARM driver.
(1318)
[Reza Shahriari - redha1419]
- [EC2] Update EC2 driver to throw a more user-friendly exception if a user /
developer tries to provide an invalid value type for an item value in the
request ``params`` dictionary.
Request parameters are sent via query parameters and not via request body,
as such, only string values are supported. (1329, 1321)
Reported by James Bednell.
[Tomaz Muraus]
- [OpenStack] Add new ``ex_remove_security_group_from_node`` method.
(1331)
[Miguel Caballer - micafer]
- [OpenStack] Fix broken ``ex_update_port`` method.
(1320)
[Miguel Caballer - micafer]
- [Softlayer] Fix a bug with driver incorrectly handling the value of
``ex_hourly`` argument in the ``create_node()`` method which caused nodes
to always be created with hourly billing, even if this argument was set to
``False``. (1334, 1335)
[r2ronoha]
- [GCE] Add optional ``cpuPlatform`` and ``minCpuPlatform`` attributes to the
``node.extra`` dictionary. (1342, 1343)
[yairshemla]
Storage
~~~~~~~
- [Azure Blobs] Enable the Azure storage driver to be used with the Azurite
Storage Emulator and Azure Blob Storage on IoT Edge.
(LIBCLOUD-1037, 1278)
[Clemens Wolff - c-w]
- [Azure Blobs] Fix a bug with Azure storage driver works when used against a
storage account that was created using ``kind=BlobStrage``. This includes
updating the minimum API version used / supported by the storage driver from
``2012-02-12`` to ``2014-02-14``. (LIBCLOUD-851, 1202, 1294)
[Clemens Wolff - c-w, Davis Kirkendall - daviskirk]
- [Azure Blobs] Increase the maximum size of block blobs that can be created
to 100 MB. This includes updating the minimum API version used / supported
by the storage driver from ``2014-02-14`` to ``2016-05-31``. (1340)
[Clemens Wolff - c-w]
- [Azure Blobs] Set the minimum required version of requests to ``2.5.0`` since
requests ``2.4.0`` and earlier exhibit XML parsing errors of Azure Storage
responses. (1325, 1322)
[Clemens Wolff - c-w]
- [Azure Blobs] Detect bad version of requests that leads to errors in parsing
Azure Storage responses. This scenario is known to happen on RHEL 7.6 when
requests was installed via yum. (1332, 1322)
[Clemens Wolff - c-w]
- [Common, CloudFiles] Fix ``upload_object_via_stream`` and ensure we start
from the beginning when calculating hash for the provided iterator. This way
we avoid hash mismatch errors in scenario where provided iterator is already
iterated / seeked upon before calculating the hash. (1326)
[Gabe Van Engel - gvengel, Tomaz Muraus]
- [Backblaze B2] Fix a bug with driver not working correctly due to a
regression which was inadvertently introduced in one of the previous
releases. (1338, 1339)
Reported by Shawn Nock - nocko.
[Tomaz Muraus]
- [Backblaze B2] Fix ``upload_object_via_stream`` method. (1339)
[Tomaz Muraus]
DNS
~~~
- [Cloudflare] Re-write the Cloudflare DNS driver to use Cloudflare API v4.
(LIBCLOUD-1001, LIBCLOUD-994, 1292)
[Clemens Wolff - c-w]
- [Gandi LiveDNS] Add new driver for Gandi LiveDNS service. (1323)
[Ryan Lee - zepheiryan]
- [PowerDNS] Update driver so it works with API v3 and v4. 1328
[biggosh]