Blog

Libcloud 0.20.1 released

We are pleased to announce the release of Libcloud 0.20.1.

This is a bug-fix release in the 0.20 series.

Release highlights

  • Allow for old and new style service accounts for GCE driver
  • Fix syntax error with DimensionDataStatus object
  • Fix bug in public IP addition command for DimensionData driver
  • Fix error with proxy_url with vCloud Compute driver.
  • Fix with hasattr for Rackspace DNS driver.

Full change log can be found at here.

Download

The release can can be downloaded from https://libcloud.apache.org/downloads.html or installed using pip:

pip install apache-libcloud==0.20.1

Upgrading

If you have installed Libcloud using pip you can also use it to upgrade it:

pip install --upgrade apache-libcloud==0.20.1

Upgrade notes

A page which describes backward incompatible or semi-incompatible changes and how to preserve the old behavior when this is possible can be found at https://libcloud.readthedocs.org/en/latest/upgrade_notes.html

Documentation

Regular and API documentation is available at https://libcloud.readthedocs.org/en/latest/

Bugs / Issues

If you find any bug or issue, please report it on our issue tracker https://issues.apache.org/jira/browse/LIBCLOUD. Don't forget to attach an example and / or test which reproduces your problem.

Thanks

Thanks to everyone who contributed and made this release possible! Full list of people who contributed to this release can be found in the CHANGES file.

Notice for Linode users

This is an announcement for users of the Linode driver for Libcloud who might have started experiencing issues recently.

Background

A couple of Libcloud users have reported that they have recently started experiencing issues when talking to the Linode API using Libcloud. They have received messages similar to the one shown below.

socket.error: [Errno 104] Connection reset by peer

It turns out that the issue is related to the used SSL / TLS version. For compatibility and security reasons (Libcloud also supports older Python versions), Libcloud uses TLS v1.0 by default.

Linode recently dropped support for TLS v1.0 and it now only support TLS >= v1.1. This means Libcloud won't work out of the box anymore.

Solution

If you are experiencing this issue, you should update your code to use TLS v1.2 or TLS v1.1 as shown below.

import ssl

import libcloud.security
libcloud.security.SSL_VERSION = ssl.PROTOCOL_TLSv1_1
# or even better if your system and Python version supports TLS v1.2
libcloud.security.SSL_VERSION = ssl.PROTOCOL_TLSv1_2

# Instantiate and work with the Linode driver here...

Keep in mind that for this to work you need to have a recent version of OpenSSL installed on your system and you need to use Python >= 3.4 or Python 2.7.9.

For more details please see recently updated documentation. If you are still experiencing issues or have any questions, please feel free to reach us via the mailing list or IRC.

Note: Even if you are not experiencing any issues, it's generally a good idea to use the highest version of TLS supported by your system and the provider you use.

Quick note on ssl.PROTOCOL_SSLv23

Python uses ssl.PROTOCOL_SSLv23 constant by default. When this constant is used, it will let client known to pick the highest protocol version which both the client and server support (it will be selecting between SSL v3.0, TLS v1.0, TLS v1.1 and TLS v1.2).

We use ssl.PROTOCOL_TLSv1 instead of ssl.PROTOCOL_SSLv23 for security and compatibility reasons. SSL v3.0 is considered broken and unsafe and using ssl.PROTOCOL_SSLv23 can result in an increased risk for a downgrade attack.

Thanks

Special thanks to Jacob Riley, Steve V, Heath Naylor and everyone from LIBCLOUD-791 who helped debug and track down the root cause of this issue.

Libcloud 0.20.0 released

We are pleased to announce the release of Libcloud 0.20.0.

This is a first release in the 0.20 series which means it brings many new features, improvements, bug-fixes, and DNS drivers.

Release highlights

  • New DNS driver for GoDaddy
  • New DNS driver for CloudFlare DNS
  • Many more improvements and API v2.1 support for the Dimension Data compute driver
  • Support for adding and configuring PTR (reverse DNS) record in RackSpace DNS driver
  • Support for preemptable instances in Google Compute driver
  • Add new eu-west-2 & us-east-2 regions to the OUTSCALEINC & OUTSCALESAS drivers
  • Added C4, M4 instance types in Amazon EC2 driver
  • Add support for multiple regions in Aurora compute driver
  • GoogleStorageDriver can now use either our S3 authentication or other Google Cloud Platform OAuth2 authentication methods.
  • Removed DreamHosts Compute Driver, DreamHosts users will now use the OpenStack Node driver since DreamHosts are OpenStack API compliant
  • and much more!

Full change log can be found at here.

Download

The release can can be downloaded from https://libcloud.apache.org/downloads.html or installed using pip:

pip install apache-libcloud==0.20.0

Upgrading

If you have installed Libcloud using pip you can also use it to upgrade it:

pip install --upgrade apache-libcloud==0.20.0

Upgrade notes

A page which describes backward incompatible or semi-incompatible changes and how to preserve the old behavior when this is possible can be found at https://libcloud.readthedocs.org/en/latest/upgrade_notes.html

Documentation

Regular and API documentation is available at https://libcloud.readthedocs.org/en/latest/

Bugs / Issues

If you find any bug or issue, please report it on our issue tracker https://issues.apache.org/jira/browse/LIBCLOUD. Don't forget to attach an example and / or test which reproduces your problem.

Thanks

Thanks to everyone who contributed and made this release possible! Full list of people who contributed to this release can be found in the CHANGES file.

Anthony Shaw (anthonyshaw) joins our team

Please help us extend a warm welcome to our newest team member Anthony Shaw!

The Project Management Committee (PMC) for Apache Libcloud has invited Anthony Shaw to join us as a committer and a PMC member and we are pleased to announce that he has accepted.

Anthony has joined the community fairly recently, but he has already made a lot of substantial contributions. Those contributions range from new Dimension Data drivers and various related improvements to a proposal for a new backup API for Backup as a Service products and projects.

While we are talking about the new backup API - we would like to encourage everyone who is either a service provider offering Backup as a Service product or a person interested in using this API to join us and participate in the discussion. The more feedback we get, the better and more widely applicable we can make this new API.

For anyone who would like to know more about Anthony here is his short bio:

Anthony Shaw works for the global system integrator Dimension Data as Head of Innovation. Anthony has been working in the hosting/service provider industry for the last 10 years for MSPs within Europe, North America and Australia in various Product Management and Product Development roles. Anthony is an open-source advocate and has been promoting the Libcloud project internally to Dimension Data for the last 9 months as well as maintaining its driver.

And in his own words:

I think we will continue to see consolidation in IaaS providers over the next 12 months, so likelihood is the number of drivers will reduce, but the importance of being cloud agnostic to people is becoming more apparent as some are already being burnt by integrations into APIs that companies like Dell and Ninefold have pulled the plug on. Libcloud is a key project for developers not wanting to lock themselves too heavily to a vendor. I would also like to see expansion of additional services like backup, load balancing and containers so that users can still take advantages of these features through our driver.

We are happy to have him in our team and we are looking forward to his future participation and contributions.

Libcloud 0.19.0 released

We are pleased to announce the release of Libcloud 0.19.0.

This is a first release in the 0.19 series which means it brings many new features, improvements, bug-fixes, and DNS drivers.

Release highlights

Full change log can be found at here.

Download

The release can can be downloaded from https://libcloud.apache.org/downloads.html or installed using pip:

pip install apache-libcloud==0.19.0

Upgrading

If you have installed Libcloud using pip you can also use it to upgrade it:

pip install --upgrade apache-libcloud==0.19.0

Upgrade notes

A page which describes backward incompatible or semi-incompatible changes and how to preserve the old behavior when this is possible can be found at https://libcloud.readthedocs.org/en/latest/upgrade_notes.html

Documentation

Regular and API documentation is available at https://libcloud.readthedocs.org/en/v0.19.0/

Bugs / Issues

If you find any bug or issue, please report it on our issue tracker https://issues.apache.org/jira/browse/LIBCLOUD. Don't forget to attach an example and / or test which reproduces your problem.

Thanks

Thanks to everyone who contributed and made this release possible! Full list of people who contributed to this release can be found in the CHANGES file.