-----------------------------------
General
~~~~~~~
- Use native ``ssl.match_hostname`` functionality when running on Python >=
3.2 and only require ``backports.ssl_match_hostname`` dependency on Python
versions < 3.2.
[Tomaz Muraus]
- Add support for AWS Signature version 4.
Note: Currently only GET HTTP method is supported.
(444)
[Gertjan Oude Lohuis]
- Fix a bug in the debug mode logging (LIBCLOUD_DEBUG). Logging to the debug
file would throw an exception if the text contained non-ascii characters.
[Tomaz Muraus]
- Fix a bug with connection code throwing an exception if a port was a unicode
type and not a str or int.
(533, LIBCLOUD-716)
[Avi Weit]
- Update ``is_valid_ip_address`` function so it also works on Windows.
(343, 498, LIBCLOUD-601, LIBCLOUD-686)
[Nicolas Fraison, Samuel Marks]
- Add support for retrying failed HTTP requests.
Retrying is off by default and can be enabled by setting
``LIBCLOUD_RETRY_FAILED_HTTP_REQUESTS`` environment variable.
(515, LIBCLOUD-360, LIBCLOUD-709)
- Fix a bug in consuming stdout and stderr strams in Paramiko SSH client.
In some cases (like connecting to localhost via SSH), exit_status_ready
gets set immediately even before the while loop to consume the streams
kicks in. In those cases, we will not have consumed the streams at all.
(558)
[Lakshmi Kannan]
Compute
~~~~~~~
- Google Compute now supports paginated lists including filtering.
(491)
[Lee Verberne]
- OpenStackNodeSize objects now support optional, additional fields that are
supported in OpenStack 2.1: `ephemeral_disk`, `swap`, `extra`.
(488, LIBCLOUD-682)
[Greg Hill]
- StorageVolume objects now have an attribute `state` that holds a
state variable that is standardized state across drivers. Drivers that
currently support the `state` attribute are OpenStack and EC2.
StorageVolume objects returned by drivers that do not support the
attribute will have a `state` of `None`. When a provider returns a state
that is unknown to the driver, the state will be `UNKNOWN`. Please report
such states. A couple of drivers already put state fields in the `extra`
fields of StorageVolumes. These fields were kept for
backwards-compatibility and for reference.
(476)
[Allard Hoeve]
- StorageVolume objects on EC2 and OpenStack now have a key called snapshot_id
in their extra dicts containing the snapshot ID the volume was based on.
(479)
[Allard Hoeve]
- OpenStack driver: deprecated ex_create_snapshot and ex_delete_snapshot in
favor of create_volume_snapshot and destroy_volume_snapshot. Updated base
driver method create_storage_volume argument name to be optional.
(478)
[Allard Hoeve]
- Add support for creating volumes based on snapshots to EC2 and OS drivers.
Also modify signature of base NodeDriver.create_volume to reflect the fact
that all drivers expect a StorageSnapshot object as the snapshot argument.
(467, LIBCLOUD-672)
[Allard Hoeve]
- VolumeSnapshots now have a `created` attribute that is a `datetime`
field showing the creation datetime of the snapshot. The field in
VolumeSnapshot.extra containing the original string is maintained, so
this is a backwards-compatible change.
(473)
[Allard Hoeve]
- Improve GCE create_node, make sure ex_get_disktype function
(448)
[Markos Gogoulos]
- GCE driver fix to handle unknown image projects
(447)
[Markos Gogoulos]
- Allow user to pass ``ex_blockdevicemappings`` argument to the create_node
method in the OpenStack driver.
(398, LIBCLOUD-637)
[Allard Hoeve]
- Fix ``list_volume_snapshots`` method in the EC2 driver so it comforms to the
base API.
(LIBCLOUD-664, 451)
[Allard Hoeve]
- Add ``volumes_attached`` attibute to ``node.extra`` in the OpenStack driver.
(LIBCLOUD-668, 462)
[Allard Hoeve]
- Add the following new methods to the Linode driver: ``ex_list_volumes``,
``ex_create_volume``, ``ex_destroy_volume``.
(LIBCLOUD-649, 430)
[Wojciech Wirkijowski]
- Add ``list_volume_snapshots`` method to the OpenStack driver.
(LIBCLOUD-663, 450)
[Allard Hoeve]
- Add Site to Site VPN functionality to CloudStack driver.
(465)
[Avi Nanhkoesingh]
- Add affinity group support to CloudStack driver
(LIBCLOUD-671, 468)
[Mateusz Korszun]
- Add a support for a new AWS Frankfurt, Germany region (``eu-central-1``) to
the EC2 driver using AWS Signature v4.
(444)
[Gertjan Oude Lohuis, Tomaz Muraus]
- Allow Filtering in EC2 list_images() driver
(456, LIBCLOUD-667)
[Katriel Traum]
- Add ex_list_ip_forwarding_rules() to CloudStack driver
(483)
[Atsushi Sasaki]
- Add AURORA compute driver
(LIBCLOUD-641, 477)
[Wido den Hollander]
- Update ``ex_describe_tags`` method in the EC2 driver and allow user to list
tags for any supported resource. Previously you could only list tags for a
node or a storage volume.
(LIBCLOUD-676, 482)
[John Kinsella]
- Various improvements in the HostVirual driver (code refactoring, support for
managing "packages").
(LIBCLOUD-670, 472)
[Dinesh Bhoopathy]
- Add support for DigitalOcean API v2.0 while maintaining support for the old
API v2.0.
Note: API v2.0 is now used by default. To use the old API v1.0, pass
``api_version='1.0'`` argument to the driver constructor.
(442)
[Andrew Starr-Bochicchio]
- Add new ``d4.`` instance types to the EC2 driver. Also update EC2 pricing data.
(490)
[Tomaz Muraus]
- Add new driver for Microsft Azure Virtual Machines service.
(LIBCLOUD-556, 305, 499, 538)
[Michael Bennett, davidcrossland, Richard Conway, Matt Baldwin, Tomaz Muraus]
- Fix VPC lookup method in CloudStack driver
(506)
[Avi Nanhkoesingh]
- Add new driver for the Dimension Data provider based on the OpSource driver.
(LIBCLOUD-698, 507, LIBCLOUD-700, 513)
[Anthony Shaw]
- Add "virtualmachine_id" attribute to the ``CloudStackAddress`` class in the
CloudStack driver.
(LIBCLOUD-679, 485)
[Atsushi Sasaki]
- Allow user to pass filters via arguments to the
``ex_list_port_forwarding_rules`` in the CloudStack driver.
(LIBCLOUD-678, 484)
[Atsushi Sasaki]
- Fix an issue with ``list_nodes`` in the CloudSigma driver throwing an
exception if a node in the list had a static IP.
(LIBCLOUD-707, 514)
[Chris O'Brien]
- Don't throw an exception if a limit for a particular CloudStack resource is
"Unlimited" and not a number.
(512)
[Syed Mushtaq Ahmed]
- Allow user to pass ``ex_config_drive`` argument to the ``create_node`` method
in the OpenStack driver.
(LIBCLOUD-356, 330)
[Ryan Parrish]
- Add new driver for Cloudwatt (https://www.cloudwatt.com/en/) provider.
(338)
[Anthony Monthe]
- Add new driver for Packet (https://www.packet.com/) provider.
(LIBCLOUD-703, 527)
[Aaron Welch]
- Update Azure VM pricing information and add information for new D instance
types.
(528)
[Michael Bennett]
- Add ``ex_get_node`` and ``ex_get_volume`` methods to CloudStack driver.
(532)
[Anthony Monthe]
- Update CloudSigma driver so the "unavailable" and "paused" node state is
correctly mapped to "error" and "paused" respectively.
(517)
[Chris O'Brien]
- Add SSH key pair management methods to the Gandi driver.
(534)
[Anthony Monthe]
- Add ``ex_get_node`` and ``ex_get_volume`` methods to Gandi driver.
(534)
[Anthony Monthe]
- Add ``fault`` attribute to the ``extra`` dictionary of the ``Node`` instance
returned by the OpenStack driver.
(LIBCLOUD-730, 557)
[Nick Fox]
- Add new driver for Onapp IaaS platform.
(LIBCLOUD-691, 502)
[Matthias Wiesner]
- Allow user to inject custom data / script into the Azure node by passing
``ex_custom_data`` argument to the ``create_node`` method.
(LIBCLOUD-726, 554)
[David Wilson]
- Add ``ex_create_cloud_service`` and ``ex_destroy_cloud_service`` method to the
Azure driver.
(LIBCLOUD-724, 551)
[David Wilson]
- Add support for passing user data when creating a DigitalOcean node
(``ex_user_data`` argument).
(LIBCLOUD-731, 559)
[David Wilson]
- Allow user to specify which arguments are passed to ``list_nodes`` method
which is called inside ``wait_until_running`` by passing
``ex_list_nodes_kwargs`` argument to the ``wait_until_running`` method.
(``ex_user_data`` argument).
(LIBCLOUD-723, 548)
[David Wilson]
- Allow user to pass ``ex_volume_type`` argument to the ``create_volume`` method
in the OpennStack driver.
(553)
[Rico Echwald-Tijsen]
- Add new driver for RunAbove (https://www.runabove.com) provider.
(550)
[Anthony Monthe]
- Fix a bug with exception being throw inside the CloudStack driver when the
provider returned no error message in the body.
(555)
[Konstantin Skaburskas]
- Various improvements in the DigitalOcean driver:
- Increase page size to API maximum.
- Add ``ex_create_attr`` kwarg to ``create_node`` method.
- Update all the ``list_*`` methods to use paginated requests
- Allow user to specify page size by passing ``ex_per_page`` argument to the
constructor.
(LIBCLOUD-717, 537)
[Javier Castillo II]
Storage
~~~~~~~
- Fix a bug with authentication in the OpenStack Swift driver.
(492, LIBCLOUD-635)
[Tom Fifield]
- Add AuroraObjects Storage Driver.
(540, LIBCLOUD-719)
[Wido den Hollander]
Loadbalancer
~~~~~~~~~~~~
- Add a new driver for Softlayer load-balancing service
(https://www.softlayer.com/load-balancing).
(500, LIBCLOUD-688)
[Avi Weit]
DNS
~~~
- Fix a bug when a ZoneDoesntExist exception was thrown when listing records
for a zone which has no records in the HostVirtual driver.
(460)
[Vanč Levstik]
- Correctly handle MX records priority in the Route53 driver.
(469)
[Vanč Levstik]
- Allow user to create an A record which points directly to the domain zone
name in the Route53 driver.
(469)
[Vanč Levstik]
- Fix delete_zone method in the HostVirtual driver.
(461)
[Vanč Levstik]
- Fix parsing of the record name in the HostVirtual driver.
(461)
[Vanč Levstik]
- Add new driver for DigitalOcean DNS service.
(505)
[Javier Castillo II]