blob: 85e868193bb12ba34aece72d80ebde5e9d912066 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="The Apache Software Foundation">
<meta name="keywords" content="python,libcloud,cloud,cloud computing,rackspace,amazon ec2,cloudfiles,openstack,cloudstack" />
<title>Blog | Apache Libcloud</title>
<!-- fav icons -->
<link rel="shortcut icon" href="/images/favicon.png" />
<link rel="apple-touch-icon" href="/images/apple-touch-icon.png" />
<link rel="apple-touch-icon-precomposed" href="/images/apple-touch-icon.png" />
<link href="/blog/atom.xml" type="application/atom+xml" rel="alternate" title="Apache Libcloud Blog Feed" />
<!-- Facebook OpenGraph tags -->
<meta content="Apache Libcloud" property="og:site_name">
<meta content="Blog" property="og:title">
<meta content="website" property="og:type">
<meta content="https://libcloud.apache.org/blog/page/11/" property="og:url">
<link href='/assets/global-0faf439f2f098e60d3f1e591316155fc.css' rel='stylesheet' type='text/css' />
</head>
<body data-spy="scroll" data-target=".sidebar-nav" data-offset="80">
<nav class="navbar navbar-fixed-top navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><img src="/images/libcloud_logo.png" class="navbar-logo" /> Apache Libcloud</a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li ><a href="/" >Home</a></li>
<li ><a href="/about.html" >About</a></li>
<li ><a href="/getting-started.html" >Quick Start</a></li>
<li ><a href="https://libcloud.readthedocs.org/en/stable/" target="_blank">Documentation</a></li>
<li ><a href="/downloads.html" >Downloads</a></li>
<li ><a href="/community.html" >Community</a></li>
<li ><a href="/blog/" >Blog</a></li>
</ul>
<div class="material-switch pull-right">
<input id="theme-switch" name="theme-switch" type="checkbox" onclick="modeSwitcher()"/>
<label for="theme-switch" class="label-default"></label>
<span id="theme-toggle" class="theme-switch">Dark mode</span>
</div>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
</nav>
<div class="container main-container">
<div class="row section page-content">
<div class="col-lg-8">
<h1>Blog</h1>
<div class="posts">
<div class="post">
<h2 class="post-title"><a href="/blog/2016/01/14/notice-for-linode-users.html">Notice for Linode users</a></h2>
<span class="post-date-author">By Tomaz Muraus on Jan 14, 2016</span>
<div class="post-content">
<p>This is an announcement for users of the Linode driver for Libcloud who might
have started experiencing issues recently.</p>
<h2 id="background">Background</h2>
<p>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.</p>
<pre>
socket.error: [Errno 104] Connection reset by peer
</pre>
<p>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.</p>
<p>Linode recently dropped support for TLS v1.0 and it now only support TLS &gt;=
v1.1. This means Libcloud won’t work out of the box anymore.</p>
<h2 id="solution">Solution</h2>
<p>If you are experiencing this issue, you should update your code to use TLS v1.2
or TLS v1.1 as shown below.</p>
<div class="language-plaintext highlighter-rouge">
<div class="highlight">
<pre class="highlight"><code>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...
</code></pre>
</div>
</div>
<p>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 &gt;= 3.4 or Python 2.7.9.</p>
<p>For more details please see recently updated <a href="https://libcloud.readthedocs.org/en/latest/other/ssl-certificate-validation.html#changing-used-ssl-tls-version">documentation</a>. If you are
still experiencing issues or have any questions, please feel free to reach
us via the mailing list or IRC.</p>
<p>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.</p>
<h2 id="quick-note-on-sslprotocol_sslv23">Quick note on ssl.PROTOCOL_SSLv23</h2>
<p>Python uses <code class="language-plaintext highlighter-rouge">ssl.PROTOCOL_SSLv23</code> 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).</p>
<p>We use <code class="language-plaintext highlighter-rouge">ssl.PROTOCOL_TLSv1</code> instead of <code class="language-plaintext highlighter-rouge">ssl.PROTOCOL_SSLv23</code> for security
and compatibility reasons. SSL v3.0 is considered broken and unsafe and using
<code class="language-plaintext highlighter-rouge">ssl.PROTOCOL_SSLv23</code> can result in an increased risk for a downgrade attack.</p>
<h3 id="thanks">Thanks</h3>
<p>Special thanks to Jacob Riley, Steve V, Heath Naylor and everyone from
<a href="https://issues.apache.org/jira/browse/LIBCLOUD-791">LIBCLOUD-791</a> who helped debug and track down the root cause of this issue.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/linode.html" rel="tag">linode</a>, <a href="/blog/tags/announcement.html" rel="tag">announcement</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2015/12/15/libcloud-0-20-0-released.html">Libcloud 0.20.0 released</a></h2>
<span class="post-date-author">By Anthony Shaw on Dec 15, 2015</span>
<div class="post-content">
<p>We are pleased to announce the release of Libcloud 0.20.0.</p>
<p>This is a first release in the 0.20 series which means it brings many new
features, improvements, bug-fixes, and DNS drivers.</p>
<h3 id="release-highlights">Release highlights</h3>
<ul>
<li>New DNS driver for <a href="http://libcloud.readthedocs.org/en/latest/dns/drivers/godaddy.html">GoDaddy</a></li>
<li>New DNS driver for <a href="https://www.cloudflare.com/dns/">CloudFlare DNS</a></li>
<li>Many more improvements and API v2.1 support for the <a href="http://cloud.dimensiondata.com/am/en/">Dimension Data compute driver</a></li>
<li>Support for adding and configuring PTR (reverse DNS) record in RackSpace DNS driver</li>
<li>Support for preemptable instances in Google Compute driver</li>
<li>Add new eu-west-2 &amp; us-east-2 regions to the OUTSCALE_INC &amp; OUTSCALE_SAS drivers</li>
<li>Added C4, M4 instance types in Amazon EC2 driver</li>
<li>Add support for multiple regions in Aurora compute driver</li>
<li>GoogleStorageDriver can now use either our S3 authentication or other Google Cloud Platform OAuth2 authentication methods.</li>
<li>Removed DreamHosts Compute Driver, DreamHosts users will now use the OpenStack Node driver since DreamHosts are OpenStack API compliant</li>
<li>and much more!</li>
</ul>
<p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-20-0">here</a>.</p>
<h3 id="download">Download</h3>
<p>The release can can be downloaded from
<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
<pre>
pip install apache-libcloud==0.20.0
</pre>
<h3 id="upgrading">Upgrading</h3>
<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
<pre>
pip install --upgrade apache-libcloud==0.20.0
</pre>
<h3 id="upgrade-notes">Upgrade notes</h3>
<p>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 <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html</a></p>
<h3 id="documentation">Documentation</h3>
<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/latest/">https://libcloud.readthedocs.org/en/latest/</a></p>
<h3 id="bugs--issues">Bugs / Issues</h3>
<p>If you find any bug or issue, please report it on our issue tracker
<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
Don’t forget to attach an example and / or test which reproduces your
problem.</p>
<h3 id="thanks">Thanks</h3>
<p>Thanks to everyone who contributed and made this release possible! Full
list of people who contributed to this release can be found in the
<a href="https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-20-0">CHANGES file</a>.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release-announcement.html" rel="tag">release announcement</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2015/11/18/anthony-shaw-joins-our-team.html">Anthony Shaw (anthonyshaw) joins our team</a></h2>
<span class="post-date-author">By Tomaz Muraus on Nov 18, 2015</span>
<div class="post-content">
<p>Please help us extend a warm welcome to our newest team member <a href="https://github.com/tonybaloney">Anthony
Shaw</a>!</p>
<p>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.</p>
<p>Anthony has joined the community fairly recently, but he has already made a lot
of <a href="https://github.com/apache/libcloud/pulls?q=is%3Apr+author%3Atonybaloney+is%3Aclosed">substantial contributions</a>. Those contributions range from new Dimension
Data drivers and various related improvements to a proposal for a new <a href="https://github.com/apache/libcloud/pull/629">backup
API</a> for Backup as a Service products and projects.</p>
<p>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 <a href="https://github.com/apache/libcloud/pull/629">participate in the
discussion</a>. The more feedback we get, the better and more widely applicable
we can make this new API.</p>
<p>For anyone who would like to know more about Anthony here is his short bio:</p>
<blockquote>
<p>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.</p>
</blockquote>
<p>And in his own words:</p>
<blockquote>
<p>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.</p>
</blockquote>
<p>We are happy to have him in our team and we are looking forward to his future
participation and contributions.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new-committer.html" rel="tag">new committer</a>, <a href="/blog/tags/new-pmc-member.html" rel="tag">new pmc member</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2015/10/30/libcloud-0-19-0-released.html">Libcloud 0.19.0 released</a></h2>
<span class="post-date-author">By Eric Johnson on Oct 30, 2015</span>
<div class="post-content">
<p>We are pleased to announce the release of Libcloud 0.19.0.</p>
<p>This is a first release in the 0.19 series which means it brings many new
features, improvements, bug-fixes, and DNS drivers.</p>
<h3 id="release-highlights">Release highlights</h3>
<ul>
<li>New load balancer driver for <a href="http://cloud.dimensiondata.com/am/en/">Dimension Data</a></li>
<li>New DNS driver for <a href="https://www.pcextreme.com/aurora/dns">AuroraDNS</a></li>
<li>New DNS driver for <a href="http://www.worldwidedns.net/home.asp">WorldWideDNS</a></li>
<li>New DNS driver for <a href="https://dnsimple.com/">DNSimple</a></li>
<li>New DNS driver for <a href="https://pointhq.com/">PointDNS</a></li>
<li>New DNS driver for <a href="https://www.vultr.com/">Vult DNS</a></li>
<li>New DNS driver for <a href="http://www.liquidweb.com/">Liquidweb DNS</a></li>
<li>New DNS driver for <a href="http://zonomi.com/">Zonomi DNS</a></li>
<li>New DNS driver for <a href="https://durabledns.com/">Durable DNS</a></li>
<li>Added volume management methods and more to <a href="https://www.runabove.com/index.xml">RunAbove compute service</a></li>
<li>Added new South America East region to <a href="https://aws.amazon.com/s3/">S3 storage driver</a></li>
<li>Many more improvements and API v2.0 added to the <a href="http://cloud.dimensiondata.com/am/en/services/public-cloud/cloud-networks">Dimension Data compute driver</a></li>
<li>New API v1 support for <a href="https://cloud.google.com/dns/">Google Cloud DNS</a></li>
<li>Many improvements in the HostVirtual compute driver</li>
<li>and much more!</li>
</ul>
<p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-19-0">here</a>.</p>
<h3 id="download">Download</h3>
<p>The release can can be downloaded from
<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p>
<pre>
pip install apache-libcloud==0.19.0
</pre>
<h3 id="upgrading">Upgrading</h3>
<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
<pre>
pip install --upgrade apache-libcloud==0.19.0
</pre>
<h3 id="upgrade-notes">Upgrade notes</h3>
<p>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 <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html</a></p>
<h3 id="documentation">Documentation</h3>
<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/v0.19.0/">https://libcloud.readthedocs.org/en/v0.19.0/</a></p>
<h3 id="bugs--issues">Bugs / Issues</h3>
<p>If you find any bug or issue, please report it on our issue tracker
<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>.
Don’t forget to attach an example and / or test which reproduces your
problem.</p>
<h3 id="thanks">Thanks</h3>
<p>Thanks to everyone who contributed and made this release possible! Full
list of people who contributed to this release can be found in the
<a href="https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-19-0">CHANGES file</a>.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release-announcement.html" rel="tag">release announcement</a></p>
</div>
</div>
</div>
<div class="post">
<h2 class="post-title"><a href="/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html">Libcloud is participating in Hacktoberfest</a></h2>
<span class="post-date-author">By Tomaz Muraus on Oct 05, 2015</span>
<div class="post-content">
<p>Github and DigitalOcean are organizing <a href="https://hacktoberfest.digitalocean.com/">Hacktoberfest</a> again this year.</p>
<p>Hacktoberfest is a month-long celebration of open source software where people
are encouraged to contribute to different open source projects. Each user who
submits four pull requests to any Github hosted open source project of their
choice will receive a free t-shirt.</p>
<div class="imginline">
<p><img src="/images/posts/2015-10-05-libcloud-is-participating-in-hacktoberfest/hacktoberfest-tshirt.png" class="img-responsive inline" /></p>
<p class="img-caption">Hacktoberfest 2015 t-shirt.</p>
</div>
<p>This year we are also happy to announce that we have been selected as one of
the highlighted Python projects which users are invited to check, play with it
and contribute to.</p>
<p>We think this is a great opportunity for both, long time users and contributors,
but especially people who are new to open source to learn how open source works
and participate.</p>
<p>Having said that, we would like to invite anyone who is interested to participate
and contribute to our project. You can find more information on contributing to
Libcloud in our <a href="https://libcloud.readthedocs.org/en/latest/development.html#contributing">contribution guide</a>.</p>
<p>For more information about the Hacktoberfest project itself and information on
how to sign up, please visit the <a href="https://hacktoberfest.digitalocean.com/">official website</a> and announcement blog post
from <a href="https://github.com/blog/2067-hacktoberfest-contribute-to-open-source-in-october">Github</a> and <a href="https://www.digitalocean.com/company/blog/hacktoberfest-is-back/">DigitalOcean</a>.</p>
</div>
<div class="row section post-meta">
<div class="col-md-12 post-tags">
<p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/hacktoberfest.html" rel="tag">hacktoberfest</a>, <a href="/blog/tags/github.html" rel="tag">github</a></p>
</div>
</div>
</div>
</div>
<p class="navigation">
<span class="alignleft"><a href="/blog/page/12/">« Previous Page</a></span>
<span class="pull-right"><a href="/blog/page/10/">Next Page »</a></span>
</p>
</div>
<div class="col-lg-3 col-lg-offset-1">
<h2>Archive</h1>
<ul>
<li> <a href="/blog/archives/2023/08/"> August 2023</a> &nbsp;(1)</li><li> <a href="/blog/archives/2023/01/"> January 2023</a> &nbsp;(1)</li><li> <a href="/blog/archives/2022/10/"> October 2022</a> &nbsp;(1)</li><li> <a href="/blog/archives/2022/05/"> May 2022</a> &nbsp;(1)</li><li> <a href="/blog/archives/2022/03/"> March 2022</a> &nbsp;(3)</li><li> <a href="/blog/archives/2021/11/"> November 2021</a> &nbsp;(2)</li><li> <a href="/blog/archives/2021/06/"> June 2021</a> &nbsp;(1)</li><li> <a href="/blog/archives/2021/01/"> January 2021</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> &nbsp;(1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> &nbsp;(1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> &nbsp;(2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> &nbsp;(2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2018/03/"> March 2018</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/12/"> December 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> &nbsp;(2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> &nbsp;(1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> &nbsp;(3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> &nbsp;(1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> &nbsp;(2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> &nbsp;(4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> &nbsp;(2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> &nbsp;(2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> &nbsp;(1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> &nbsp;(8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> &nbsp;(4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> &nbsp;(3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> &nbsp;(2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> &nbsp;(2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> &nbsp;(2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> &nbsp;(3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> &nbsp;(1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> &nbsp;(1)</li>
</ul>
</div>
</div>
<hr />
<footer>
<div class="row">
<div class="col-lg-12 text-center">
<div class="footer-links">
<p><a href="http://www.apache.org/licenses/">License</a> | <a
href="/security.html">Security</a> | <a
href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a> |
<a href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
<a href="https://www.apache.org/events/">Events</a> |
<a href="/credits.html">Credits</a> | <a href="/media.html">Media</a>
</div>
<div class="footer-text">
<p><a class="acevent" data-format="wide"></a></p>
<p class="">Copyright &copy; 2009-2023 <a href="https://www.apache.org/" target="_blank">The Apache Software Foundation</a></p>
<p class="">Apache Libcloud, Libcloud, Apache, the Apache feather, and the Apache Libcloud project logo are trademarks of the Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
<p class="">Site last updated on 2023-09-09 21:30:54 +0000</p>
</div>
</div>
</div>
</footer>
</div><!-- /.container -->
<!-- JavaScript -->
<script src='/assets/global-dac9eed9206cf02359a2dd1d7c03e401.js' type='text/javascript'></script>
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before
"trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '7']);
var d=document, g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<script src="https://www.apachecon.com/event-images/snippet.js"></script>
</body>
</html>