You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2016/01/20 06:25:28 UTC
svn commit: r1725672 [3/6] - in /libcloud/site/trunk/generated: ./ assets/
blog/ blog/2010/02/02/ blog/2010/05/11/ blog/2010/10/12/ blog/2011/01/17/
blog/2011/02/15/ blog/2011/05/25/ blog/2011/06/06/ blog/2011/07/04/
blog/2011/09/01/ blog/2011/10/19/ b...
Modified: libcloud/site/trunk/generated/blog/archives/2014/02/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/02/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/02/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/02/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -464,7 +464,7 @@ driver - <a href="https://www.cloudsigma
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2014/02/page/2/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/02/page/2/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/02/page/2/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/02/page/2/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -277,7 +277,7 @@ drivers to <a href="http://developer.rac
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2014/04/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/04/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/04/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/04/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -179,7 +179,7 @@ strecthing for over 3 weeks, I sadly had
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2014/05/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/05/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/05/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/05/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -162,7 +162,7 @@ have been accepted, please visit <a href
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2014/06/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/06/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/06/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/06/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -202,7 +202,7 @@ example and / or test which reproduces y
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2014/07/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/07/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/07/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/07/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -251,7 +251,7 @@ attend the celebration.</p>
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2014/11/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/11/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/11/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/11/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -217,7 +217,7 @@ list of people who contributed to this r
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2014/12/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2014/12/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2014/12/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2014/12/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -161,7 +161,7 @@ and more complete Google Compute Engine
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2015/02/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2015/02/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2015/02/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2015/02/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -207,7 +207,7 @@ list of people who contributed to this r
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2015/03/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2015/03/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2015/03/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2015/03/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -161,7 +161,7 @@ contributions.</p>
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2015/08/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2015/08/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2015/08/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2015/08/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -215,7 +215,7 @@ list of people who contributed to this r
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2015/10/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2015/10/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2015/10/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2015/10/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -264,7 +264,7 @@ from <a href="https://github.com/blog/20
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2015/11/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2015/11/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2015/11/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2015/11/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -193,7 +193,7 @@ participation and contributions.</p>
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2015/12/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2015/12/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2015/12/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2015/12/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -113,8 +113,8 @@ features, improvements, bug-fixes, and D
<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 [CloudFlare DNS][4]</li>
-<li>Many more improvements and API v2.1 support for the [Dimension Data compute driver][5]</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 & us-east-2 regions to the OUTSCALE<em>INC & OUTSCALE</em>SAS drivers</li>
@@ -211,7 +211,7 @@ list of people who contributed to this r
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/archives/2016/01/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/archives/2016/01/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/archives/2016/01/index.html (original)
+++ libcloud/site/trunk/generated/blog/archives/2016/01/index.html Wed Jan 20 05:25:25 2016
@@ -51,7 +51,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -95,6 +95,200 @@
<div class="post">
+ <h2><a href="/blog/2016/01/20/libcloud-1.0-pre1.html">Libcloud 1.0-pre1 open for feedback</a></h2>
+
+
+
+
+
+ <span class="post-date-author">By Anthony Shaw on Jan 20, 2016</span>
+
+ <div class="post-content">
+ <p>We are pleased to announce that version 1.0-pre1 vote thread is open and the release is ready for community feedback.</p>
+
+<p>1.0-pre1 marks the first pre-release of the 1.0 major release. Some years ago, Tomaz Muraus spoke on the podcast <a href="https://twit.tv/shows/floss-weekly/episodes/181">FLOSS weekly</a>
+apart from testing how much of a huge challenge porting the project to Python 3.x would be(!) Tomaz discussed the 1.0 milestone.
+As the project has matured over the last 5 years one of the most remarkable changes has been the adoption from the community and
+continued support from our contributors adding new drivers, patching strange API issues and keeping the project alive.</p>
+
+<p>Anthony Shaw will be speaking on the FLOSS weekly podcast on February 2nd and discussing our community and the project, so
+please tune in. </p>
+
+<p>The Cloud market as I'm sure you're all aware of is thriving, the purpose of Libcloud was originally:</p>
+
+<ul>
+<li>To help prevent lock-in to a particular vendor</li>
+<li>To abstract the complexity of vendor APIs</li>
+<li>To give a simple way for deploying to and managing multiple cloud vendors</li>
+</ul>
+
+<p>Since that we have had (at the last count) 2,118,539 downloads. The project continues to grow in popularity with each new release.</p>
+
+<p>So with the 1.0 major release we would like to announce 2 new driver types, containers and backup.</p>
+
+<h2>History of our drivers</h2>
+
+<p>The compute (IaaS) API is what libcloud is best known for but there is a range of drivers available for many other capabilities.</p>
+
+<p>There is a presentation on the value of using Libcloud to avoid lock in <a href="http://www.slideshare.net/AnthonyShaw5/apache-libcloud-keeping-up-with-the-cloud-market-in-2016">on SlideShare</a></p>
+
+<p>This is a history of the different driver types in the libcloud project.</p>
+
+<ul>
+<li>Compute (v0.1.0)
+
+<ul>
+<li> Support for nodes, node images, locations, states</li>
+<li> 52 providers including every major cloud provider in the market. Plus local services like Vmware, OpenStack, libvirt</li>
+</ul></li>
+<li>DNS (v0.6.0)
+
+<ul>
+<li> Support for zones, records, recordtypes</li>
+<li> 19 providers including CloudFlare, DigitalOcean, DNSimple, GoDaddy, Google DNS, Linode, Rackspace, Amazon R53, Zerigo</li>
+</ul></li>
+<li>Object Storage (v0.5.0)
+
+<ul>
+<li> Support for containers and objects</li>
+<li> 11 providers including Amazon S3, Azure Blobs, Google storage, CloudFiles, OpenStack Swift</li>
+</ul></li>
+<li>Load Balancer (v0.5.0)
+
+<ul>
+<li> Support for nodes, balancers, listeners and algorithms</li>
+<li> 11 providers including CloudStack, Dimension Data, Amazon ELB, Google GCE LB, SoftLayer LB</li>
+</ul></li>
+<li>Backup (v0.20.0)
+
+<ul>
+<li> Support for backup targets, recovery points and jobs</li>
+<li> 3 providers, Dimension Data, Amazon EBS snaps, Google snaps</li>
+</ul></li>
+</ul>
+
+<h2>Introducing Backup Drivers</h2>
+
+<p>With 1.0-pre1 we have introduced a new driver type for backup, <code>libcloud.backup</code></p>
+
+<p>Backup API allows you to manage Backup as A Service and services such as EBS Snaps,
+GCE volume snap and dimension data backup.</p>
+
+<h3>Terminology</h3>
+
+<ul>
+<li><code>libcloud.backup.base.BackupTarget</code> - Represents a backup target, like a Virtual Machine, a folder or a database.</li>
+<li><code>libcloud.backup.base.BackupTargetRecoveryPoint</code> - Represents a copy of the data in the target, a recovery point can be
+recovered to a backup target. An inplace restore is where you recover to the same target and an out-of-place restore is where you
+recover to another target.</li>
+<li><code>libcloud.backup.base.BackupTargetJob</code> - Represents a backup job running on backup target.</li>
+</ul>
+
+<h2>Introducing Container-as-a-Service Drivers</h2>
+
+<p>The API is for Container-as-a-Service providers, these new types of cloud services offer container management and hosting as a service.
+The new services are already providing proprietary APIs, giving the need for a tool like Libcloud if you want to provision to any cloud provider.</p>
+
+<p>Google, Amazon and Joyent have all announced Container cloud services and Microsoft have launched a beta service also, so we are getting on the front foot with an
+abstraction API for people wishing to gain similar benefits to the compute, load balancer and storage APIs.</p>
+
+<p>A presentation on this topic <a href="http://www.slideshare.net/AnthonyShaw5/introducing-container-asaservice-support-to-apache-libcloud">presentation</a> is available on SlideShare.</p>
+
+<p><strong>Isn't docker a standard?</strong>
+Well, yes and no.</p>
+
+<p>Docker has been the main technology adopted by these providers as the host system for the containers and also as the specification of the containers themselves.
+But, Docker is not a provisioning system, it is a virtualization host. Also there are alternatives, like CoreOS Rkt. </p>
+
+<h3>Container API design</h3>
+
+<p>Container-as-a-Service providers will implement the <code>ContainerDriver</code> class to provide functionality for :</p>
+
+<ul>
+<li>Listing deployed containers</li>
+<li>Starting, stopping and restarting containers (where supported)</li>
+<li>Destroying containers</li>
+<li>Creating/deploying containers</li>
+<li>Listing container images</li>
+<li>Installing container images (pulling an image from a local copy or remote repository)</li>
+</ul>
+
+<h3>Simple Container Support</h3>
+
+<ul>
+<li><code>libcloud.container.base.ContainerImage</code> - Represents an image that can be deployed, like an application or an operating system</li>
+<li><code>libcloud.container.base.Container</code> - Represents a deployed container image running on a container host</li>
+</ul>
+
+<h3>Cluster Suppport</h3>
+
+<p>Cluster support extends on the basic driver functions, but where drivers implement the class-level attribute <code>supports_clusters</code> as True
+clusters may be listed, created and destroyed. When containers are deployed, the target cluster can be specified.</p>
+
+<ul>
+<li><code>libcloud.container.base.ContainerCluster</code> - Represents a deployed container image running on a container host</li>
+<li><code>libcloud.container.base.ClusterLocation</code> - Represents a location for clusters to be deployed</li>
+</ul>
+
+<h3>Using the container drivers</h3>
+
+<p>The container drivers have been designed around similar principles to the compute driver. It is simple to use and a flat class design. </p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.container.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
+<span class="kn">from</span> <span class="nn">libcloud.container.types</span> <span class="kn">import</span> <span class="n">Provider</span>
+
+<span class="n">Cls</span> <span class="o">=</span> <span class="n">get_driver</span><span class="p">(</span><span class="n">Provider</span><span class="o">.</span><span class="n">DOCKER</span><span class="p">)</span>
+<span class="n">driver</span> <span class="o">=</span> <span class="n">Cls</span><span class="p">(</span><span class="s">'user'</span><span class="p">,</span> <span class="s">'api key'</span><span class="p">)</span>
+
+<span class="n">image</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">install_image</span><span class="p">(</span><span class="s">'tomcat:8.0'</span><span class="p">)</span>
+<span class="n">container</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">deploy_container</span><span class="p">(</span><span class="s">'tomcat'</span><span class="p">,</span> <span class="n">image</span><span class="p">)</span>
+
+<span class="n">container</span><span class="o">.</span><span class="n">restart</span><span class="p">()</span>
+</code></pre></div>
+<h3>Container Registries</h3>
+
+<p>The Docker Registry API is used by services like Amazon ECR, the Docker Hub website and by anyone hosting their own Docker registry.
+It doesn't belong to a particular driver, so is a utility class.
+Some providers, like Amazon ECR have a factory method to provide a registry client
+Images from docker registry can be sent to the deploy_container method for any driver.</p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.container.utils.docker</span> <span class="kn">import</span> <span class="n">HubClient</span>
+<span class="n">hub</span> <span class="o">=</span> <span class="n">HubClient</span><span class="p">()</span>
+<span class="n">image</span> <span class="o">=</span> <span class="n">hub</span><span class="o">.</span><span class="n">get_image</span><span class="p">(</span><span class="s">'ubuntu'</span><span class="p">,</span> <span class="s">'latest'</span><span class="p">)</span>
+</code></pre></div>
+<p>When other container registry services are made available these can be provided in a similar context.</p>
+
+<h3>Prototype drivers in libcloud.container</h3>
+
+<p>Drivers have been provided to show example implementations of the API, these drivers are <strong>experimental</strong> and need to go through more thorough community testing
+before they are ready for a stable release.</p>
+
+<ul>
+<li>Docker - http://libcloud.readthedocs.org/en/latest/container/drivers/docker.html</li>
+<li>Joyent Triton - http://libcloud.readthedocs.org/en/latest/container/drivers/joyent.html</li>
+<li>Google Kubernetes - http://libcloud.readthedocs.org/en/latest/container/drivers/kubernetes.html</li>
+<li>Amazon Elastic Container Service (as well as Amazon Container Registry Service) - http://libcloud.readthedocs.org/en/latest/container/drivers/ecs.html </li>
+</ul>
+
+<p>The driver with the most contentious implementation is Kubernetes. We would like users of the Amazon ECS, Google Containers and Kubernetes project to provide feedback
+on how they would like to map clusters, pods, namespaces to the low level concepts in the driver.</p>
+
+<h1>Thanks</h1>
+
+<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 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/announcement.html" rel="tag">announcement</a></p>
+ </div>
+ </div>
+</div>
+
+
+ <div class="post">
+
<h2><a href="/blog/2016/01/19/libcloud-0-20-1-released.html">Libcloud 0.20.1 released</a></h2>
@@ -285,7 +479,7 @@ and compatibility reasons. SSL v3.0 is c
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/atom.xml
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/atom.xml?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/atom.xml (original)
+++ libcloud/site/trunk/generated/blog/atom.xml Wed Jan 20 05:25:25 2016
@@ -5,17 +5,200 @@
<link href="https://libcloud.apache.org" rel="self" />
<link href="https://libcloud.apache.org" />
<id>https://libcloud.apache.org</id>
- <updated>2016-01-19T19:14:01+00:00</updated>
+ <updated>2016-01-20T16:18:50+11:00</updated>
<author>
<name>The Apache Software Foundation</name>
</author>
<entry>
+ <title>Libcloud 1.0-pre1 open for feedback</title>
+ <link href="https://libcloud.apache.org/blog/2016/01/20/libcloud-1.0-pre1.html" />
+ <id>https://libcloud.apache.org/blog/2016/01/20/libcloud-1.0-pre1.html</id>
+ <updated>2016-01-20T00:00:00+11:00</updated>
+ <author>
+ <name>Anthony Shaw</name>
+ </author>
+ <content type="html"><p>We are pleased to announce that version 1.0-pre1 vote thread is open and the release is ready for community feedback.</p>
+
+<p>1.0-pre1 marks the first pre-release of the 1.0 major release. Some years ago, Tomaz Muraus spoke on the podcast <a href="https://twit.tv/shows/floss-weekly/episodes/181">FLOSS weekly</a>
+apart from testing how much of a huge challenge porting the project to Python 3.x would be(!) Tomaz discussed the 1.0 milestone.
+As the project has matured over the last 5 years one of the most remarkable changes has been the adoption from the community and
+continued support from our contributors adding new drivers, patching strange API issues and keeping the project alive.</p>
+
+<p>Anthony Shaw will be speaking on the FLOSS weekly podcast on February 2nd and discussing our community and the project, so
+please tune in. </p>
+
+<p>The Cloud market as I&#39;m sure you&#39;re all aware of is thriving, the purpose of Libcloud was originally:</p>
+
+<ul>
+<li>To help prevent lock-in to a particular vendor</li>
+<li>To abstract the complexity of vendor APIs</li>
+<li>To give a simple way for deploying to and managing multiple cloud vendors</li>
+</ul>
+
+<p>Since that we have had (at the last count) 2,118,539 downloads. The project continues to grow in popularity with each new release.</p>
+
+<p>So with the 1.0 major release we would like to announce 2 new driver types, containers and backup.</p>
+
+<h2>History of our drivers</h2>
+
+<p>The compute (IaaS) API is what libcloud is best known for but there is a range of drivers available for many other capabilities.</p>
+
+<p>There is a presentation on the value of using Libcloud to avoid lock in <a href="http://www.slideshare.net/AnthonyShaw5/apache-libcloud-keeping-up-with-the-cloud-market-in-2016">on SlideShare</a></p>
+
+<p>This is a history of the different driver types in the libcloud project.</p>
+
+<ul>
+<li>Compute (v0.1.0)
+
+<ul>
+<li> Support for nodes, node images, locations, states</li>
+<li> 52 providers including every major cloud provider in the market. Plus local services like Vmware, OpenStack, libvirt</li>
+</ul></li>
+<li>DNS (v0.6.0)
+
+<ul>
+<li> Support for zones, records, recordtypes</li>
+<li> 19 providers including CloudFlare, DigitalOcean, DNSimple, GoDaddy, Google DNS, Linode, Rackspace, Amazon R53, Zerigo</li>
+</ul></li>
+<li>Object Storage (v0.5.0)
+
+<ul>
+<li> Support for containers and objects</li>
+<li> 11 providers including Amazon S3, Azure Blobs, Google storage, CloudFiles, OpenStack Swift</li>
+</ul></li>
+<li>Load Balancer (v0.5.0)
+
+<ul>
+<li> Support for nodes, balancers, listeners and algorithms</li>
+<li> 11 providers including CloudStack, Dimension Data, Amazon ELB, Google GCE LB, SoftLayer LB</li>
+</ul></li>
+<li>Backup (v0.20.0)
+
+<ul>
+<li> Support for backup targets, recovery points and jobs</li>
+<li> 3 providers, Dimension Data, Amazon EBS snaps, Google snaps</li>
+</ul></li>
+</ul>
+
+<h2>Introducing Backup Drivers</h2>
+
+<p>With 1.0-pre1 we have introduced a new driver type for backup, <code>libcloud.backup</code></p>
+
+<p>Backup API allows you to manage Backup as A Service and services such as EBS Snaps,
+GCE volume snap and dimension data backup.</p>
+
+<h3>Terminology</h3>
+
+<ul>
+<li><code>libcloud.backup.base.BackupTarget</code> - Represents a backup target, like a Virtual Machine, a folder or a database.</li>
+<li><code>libcloud.backup.base.BackupTargetRecoveryPoint</code> - Represents a copy of the data in the target, a recovery point can be
+recovered to a backup target. An inplace restore is where you recover to the same target and an out-of-place restore is where you
+recover to another target.</li>
+<li><code>libcloud.backup.base.BackupTargetJob</code> - Represents a backup job running on backup target.</li>
+</ul>
+
+<h2>Introducing Container-as-a-Service Drivers</h2>
+
+<p>The API is for Container-as-a-Service providers, these new types of cloud services offer container management and hosting as a service.
+The new services are already providing proprietary APIs, giving the need for a tool like Libcloud if you want to provision to any cloud provider.</p>
+
+<p>Google, Amazon and Joyent have all announced Container cloud services and Microsoft have launched a beta service also, so we are getting on the front foot with an
+abstraction API for people wishing to gain similar benefits to the compute, load balancer and storage APIs.</p>
+
+<p>A presentation on this topic <a href="http://www.slideshare.net/AnthonyShaw5/introducing-container-asaservice-support-to-apache-libcloud">presentation</a> is available on SlideShare.</p>
+
+<p><strong>Isn&#39;t docker a standard?</strong>
+Well, yes and no.</p>
+
+<p>Docker has been the main technology adopted by these providers as the host system for the containers and also as the specification of the containers themselves.
+But, Docker is not a provisioning system, it is a virtualization host. Also there are alternatives, like CoreOS Rkt. </p>
+
+<h3>Container API design</h3>
+
+<p>Container-as-a-Service providers will implement the <code>ContainerDriver</code> class to provide functionality for :</p>
+
+<ul>
+<li>Listing deployed containers</li>
+<li>Starting, stopping and restarting containers (where supported)</li>
+<li>Destroying containers</li>
+<li>Creating/deploying containers</li>
+<li>Listing container images</li>
+<li>Installing container images (pulling an image from a local copy or remote repository)</li>
+</ul>
+
+<h3>Simple Container Support</h3>
+
+<ul>
+<li><code>libcloud.container.base.ContainerImage</code> - Represents an image that can be deployed, like an application or an operating system</li>
+<li><code>libcloud.container.base.Container</code> - Represents a deployed container image running on a container host</li>
+</ul>
+
+<h3>Cluster Suppport</h3>
+
+<p>Cluster support extends on the basic driver functions, but where drivers implement the class-level attribute <code>supports_clusters</code> as True
+clusters may be listed, created and destroyed. When containers are deployed, the target cluster can be specified.</p>
+
+<ul>
+<li><code>libcloud.container.base.ContainerCluster</code> - Represents a deployed container image running on a container host</li>
+<li><code>libcloud.container.base.ClusterLocation</code> - Represents a location for clusters to be deployed</li>
+</ul>
+
+<h3>Using the container drivers</h3>
+
+<p>The container drivers have been designed around similar principles to the compute driver. It is simple to use and a flat class design. </p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.container.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
+<span class="kn">from</span> <span class="nn">libcloud.container.types</span> <span class="kn">import</span> <span class="n">Provider</span>
+
+<span class="n">Cls</span> <span class="o">=</span> <span class="n">get_driver</span><span class="p">(</span><span class="n">Provider</span><span class="o">.</span><span class="n">DOCKER</span><span class="p">)</span>
+<span class="n">driver</span> <span class="o">=</span> <span class="n">Cls</span><span class="p">(</span><span class="s">&#39;user&#39;</span><span class="p">,</span> <span class="s">&#39;api key&#39;</span><span class="p">)</span>
+
+<span class="n">image</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">install_image</span><span class="p">(</span><span class="s">&#39;tomcat:8.0&#39;</span><span class="p">)</span>
+<span class="n">container</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">deploy_container</span><span class="p">(</span><span class="s">&#39;tomcat&#39;</span><span class="p">,</span> <span class="n">image</span><span class="p">)</span>
+
+<span class="n">container</span><span class="o">.</span><span class="n">restart</span><span class="p">()</span>
+</code></pre></div>
+<h3>Container Registries</h3>
+
+<p>The Docker Registry API is used by services like Amazon ECR, the Docker Hub website and by anyone hosting their own Docker registry.
+It doesn&#39;t belong to a particular driver, so is a utility class.
+Some providers, like Amazon ECR have a factory method to provide a registry client
+Images from docker registry can be sent to the deploy_container method for any driver.</p>
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.container.utils.docker</span> <span class="kn">import</span> <span class="n">HubClient</span>
+<span class="n">hub</span> <span class="o">=</span> <span class="n">HubClient</span><span class="p">()</span>
+<span class="n">image</span> <span class="o">=</span> <span class="n">hub</span><span class="o">.</span><span class="n">get_image</span><span class="p">(</span><span class="s">&#39;ubuntu&#39;</span><span class="p">,</span> <span class="s">&#39;latest&#39;</span><span class="p">)</span>
+</code></pre></div>
+<p>When other container registry services are made available these can be provided in a similar context.</p>
+
+<h3>Prototype drivers in libcloud.container</h3>
+
+<p>Drivers have been provided to show example implementations of the API, these drivers are <strong>experimental</strong> and need to go through more thorough community testing
+before they are ready for a stable release.</p>
+
+<ul>
+<li>Docker - http://libcloud.readthedocs.org/en/latest/container/drivers/docker.html</li>
+<li>Joyent Triton - http://libcloud.readthedocs.org/en/latest/container/drivers/joyent.html</li>
+<li>Google Kubernetes - http://libcloud.readthedocs.org/en/latest/container/drivers/kubernetes.html</li>
+<li>Amazon Elastic Container Service (as well as Amazon Container Registry Service) - http://libcloud.readthedocs.org/en/latest/container/drivers/ecs.html </li>
+</ul>
+
+<p>The driver with the most contentious implementation is Kubernetes. We would like users of the Amazon ECS, Google Containers and Kubernetes project to provide feedback
+on how they would like to map clusters, pods, namespaces to the low level concepts in the driver.</p>
+
+<h1>Thanks</h1>
+
+<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 file</a>.</p>
+</content>
+ </entry>
+
+ <entry>
<title>Libcloud 0.20.1 released</title>
<link href="https://libcloud.apache.org/blog/2016/01/19/libcloud-0-20-1-released.html" />
<id>https://libcloud.apache.org/blog/2016/01/19/libcloud-0-20-1-released.html</id>
- <updated>2016-01-19T00:00:00+00:00</updated>
+ <updated>2016-01-19T00:00:00+11:00</updated>
<author>
<name>Eric Johnson</name>
</author>
@@ -81,7 +264,7 @@ list of people who contributed to this r
<title>Notice for Linode users</title>
<link href="https://libcloud.apache.org/blog/2016/01/14/notice-for-linode-users.html" />
<id>https://libcloud.apache.org/blog/2016/01/14/notice-for-linode-users.html</id>
- <updated>2016-01-14T00:00:00+00:00</updated>
+ <updated>2016-01-14T00:00:00+11:00</updated>
<author>
<name>Tomaz Muraus</name>
</author>
@@ -151,7 +334,7 @@ and compatibility reasons. SSL v3.0 is c
<title>Libcloud 0.20.0 released</title>
<link href="https://libcloud.apache.org/blog/2015/12/15/libcloud-0-20-0-released.html" />
<id>https://libcloud.apache.org/blog/2015/12/15/libcloud-0-20-0-released.html</id>
- <updated>2015-12-15T00:00:00+00:00</updated>
+ <updated>2015-12-15T00:00:00+11:00</updated>
<author>
<name>Anthony Shaw</name>
</author>
@@ -164,8 +347,8 @@ features, improvements, bug-fixes, and D
<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 [CloudFlare DNS][4]</li>
-<li>Many more improvements and API v2.1 support for the [Dimension Data compute driver][5]</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<em>INC &amp; OUTSCALE</em>SAS drivers</li>
@@ -224,7 +407,7 @@ list of people who contributed to this r
<title>Anthony Shaw (anthonyshaw) joins our team</title>
<link href="https://libcloud.apache.org/blog/2015/11/18/anthony-shaw-joins-our-team.html" />
<id>https://libcloud.apache.org/blog/2015/11/18/anthony-shaw-joins-our-team.html</id>
- <updated>2015-11-18T00:00:00+00:00</updated>
+ <updated>2015-11-18T00:00:00+11:00</updated>
<author>
<name>Tomaz Muraus</name>
</author>
@@ -279,7 +462,7 @@ participation and contributions.</p&g
<title>Libcloud 0.19.0 released</title>
<link href="https://libcloud.apache.org/blog/2015/10/30/libcloud-0-19-0-released.html" />
<id>https://libcloud.apache.org/blog/2015/10/30/libcloud-0-19-0-released.html</id>
- <updated>2015-10-30T00:00:00+00:00</updated>
+ <updated>2015-10-30T00:00:00+11:00</updated>
<author>
<name>Eric Johnson</name>
</author>
@@ -356,7 +539,7 @@ list of people who contributed to this r
<title>Libcloud is participating in Hacktoberfest</title>
<link href="https://libcloud.apache.org/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html" />
<id>https://libcloud.apache.org/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html</id>
- <updated>2015-10-05T00:00:00+00:00</updated>
+ <updated>2015-10-05T00:00:00+11:00</updated>
<author>
<name>Tomaz Muraus</name>
</author>
@@ -394,7 +577,7 @@ from <a href="https://github.com
<title>Libcloud 0.18.0 released</title>
<link href="https://libcloud.apache.org/blog/2015/08/13/libcloud-0-18-0-released.html" />
<id>https://libcloud.apache.org/blog/2015/08/13/libcloud-0-18-0-released.html</id>
- <updated>2015-08-13T00:00:00+00:00</updated>
+ <updated>2015-08-13T00:00:00+10:00</updated>
<author>
<name>Tomaz Muraus</name>
</author>
@@ -471,7 +654,7 @@ list of people who contributed to this r
<title>Allard Hoeve (allard) joins our team</title>
<link href="https://libcloud.apache.org/blog/2015/03/17/allard-hoeve-joins-our-team.html" />
<id>https://libcloud.apache.org/blog/2015/03/17/allard-hoeve-joins-our-team.html</id>
- <updated>2015-03-17T00:00:00+00:00</updated>
+ <updated>2015-03-17T00:00:00+11:00</updated>
<author>
<name>Tomaz Muraus</name>
</author>
@@ -494,7 +677,7 @@ contributions.</p>
<title>Libcloud 0.17.0 released</title>
<link href="https://libcloud.apache.org/blog/2015/02/18/libcloud-0-17-0-released.html" />
<id>https://libcloud.apache.org/blog/2015/02/18/libcloud-0-17-0-released.html</id>
- <updated>2015-02-18T00:00:00+00:00</updated>
+ <updated>2015-02-18T00:00:00+11:00</updated>
<author>
<name>Tomaz Muraus</name>
</author>
@@ -559,27 +742,4 @@ list of people who contributed to this r
</content>
</entry>
- <entry>
- <title>Eric Johnson (erjohnso) joins our team</title>
- <link href="https://libcloud.apache.org/blog/2014/12/04/eric-johnson-joins-our-team.html" />
- <id>https://libcloud.apache.org/blog/2014/12/04/eric-johnson-joins-our-team.html</id>
- <updated>2014-12-04T00:00:00+00:00</updated>
- <author>
- <name>Tomaz Muraus</name>
- </author>
- <content type="html"><p>Please help us extend a warm welcome to our newest team member Eric Johnson!</p>
-
-<p>The Project Management Committee (PMC) for Apache Libcloud has asked Eric
-Johnson to join us as a committer and a PMC member and we are pleased to
-announce that he has accepted.</p>
-
-<p>Eric has been involved in the Libcloud community for a while now. He has made
-many substantial contributions to the Google Compute Engine drivers. On top of
-that, he also contributed to other projects which utilize Libcloud.</p>
-
-<p>We are happy to have him on our team and we are looking forward to even better
-and more complete Google Compute Engine drivers.</p>
-</content>
- </entry>
-
</feed>
Modified: libcloud/site/trunk/generated/blog/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/index.html (original)
+++ libcloud/site/trunk/generated/blog/index.html Wed Jan 20 05:25:25 2016
@@ -47,7 +47,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -97,6 +97,206 @@
<div class="post">
+ <h2><a href="/blog/2016/01/20/libcloud-1.0-pre1.html">Libcloud 1.0-pre1 open for feedback</a></h2>
+
+
+
+
+
+ <span class="post-date-author">By Anthony Shaw on Jan 20, 2016</span>
+
+ <div class="post-content">
+ <p>We are pleased to announce that version 1.0-pre1 vote thread is open and the release is ready for community feedback.</p>
+
+<p>1.0-pre1 marks the first pre-release of the 1.0 major release. Some years ago, Tomaz Muraus spoke on the podcast <a href="https://twit.tv/shows/floss-weekly/episodes/181">FLOSS weekly</a>
+apart from testing how much of a huge challenge porting the project to Python 3.x would be(!) Tomaz discussed the 1.0 milestone.
+As the project has matured over the last 5 years one of the most remarkable changes has been the adoption from the community and
+continued support from our contributors adding new drivers, patching strange API issues and keeping the project alive.</p>
+
+<p>Anthony Shaw will be speaking on the FLOSS weekly podcast on February 2nd and discussing our community and the project, so
+please tune in. </p>
+
+<p>The Cloud market as I'm sure you're all aware of is thriving, the purpose of Libcloud was originally:</p>
+
+<ul>
+<li>To help prevent lock-in to a particular vendor</li>
+<li>To abstract the complexity of vendor APIs</li>
+<li>To give a simple way for deploying to and managing multiple cloud vendors</li>
+</ul>
+
+<p>Since that we have had (at the last count) 2,118,539 downloads. The project continues to grow in popularity with each new release.</p>
+
+<p>So with the 1.0 major release we would like to announce 2 new driver types, containers and backup.</p>
+
+<h2>History of our drivers</h2>
+
+<p>The compute (IaaS) API is what libcloud is best known for but there is a range of drivers available for many other capabilities.</p>
+
+<p>There is a presentation on the value of using Libcloud to avoid lock in <a href="http://www.slideshare.net/AnthonyShaw5/apache-libcloud-keeping-up-with-the-cloud-market-in-2016">on SlideShare</a></p>
+
+<p>This is a history of the different driver types in the libcloud project.</p>
+
+<ul>
+<li>Compute (v0.1.0)
+
+<ul>
+<li> Support for nodes, node images, locations, states</li>
+<li> 52 providers including every major cloud provider in the market. Plus local services like Vmware, OpenStack, libvirt</li>
+</ul></li>
+<li>DNS (v0.6.0)
+
+<ul>
+<li> Support for zones, records, recordtypes</li>
+<li> 19 providers including CloudFlare, DigitalOcean, DNSimple, GoDaddy, Google DNS, Linode, Rackspace, Amazon R53, Zerigo</li>
+</ul></li>
+<li>Object Storage (v0.5.0)
+
+<ul>
+<li> Support for containers and objects</li>
+<li> 11 providers including Amazon S3, Azure Blobs, Google storage, CloudFiles, OpenStack Swift</li>
+</ul></li>
+<li>Load Balancer (v0.5.0)
+
+<ul>
+<li> Support for nodes, balancers, listeners and algorithms</li>
+<li> 11 providers including CloudStack, Dimension Data, Amazon ELB, Google GCE LB, SoftLayer LB</li>
+</ul></li>
+<li>Backup (v0.20.0)
+
+<ul>
+<li> Support for backup targets, recovery points and jobs</li>
+<li> 3 providers, Dimension Data, Amazon EBS snaps, Google snaps</li>
+</ul></li>
+</ul>
+
+<h2>Introducing Backup Drivers</h2>
+
+<p>With 1.0-pre1 we have introduced a new driver type for backup, <code>libcloud.backup</code></p>
+
+<p>Backup API allows you to manage Backup as A Service and services such as EBS Snaps,
+GCE volume snap and dimension data backup.</p>
+
+<h3>Terminology</h3>
+
+<ul>
+<li><code>libcloud.backup.base.BackupTarget</code> - Represents a backup target, like a Virtual Machine, a folder or a database.</li>
+<li><code>libcloud.backup.base.BackupTargetRecoveryPoint</code> - Represents a copy of the data in the target, a recovery point can be
+recovered to a backup target. An inplace restore is where you recover to the same target and an out-of-place restore is where you
+recover to another target.</li>
+<li><code>libcloud.backup.base.BackupTargetJob</code> - Represents a backup job running on backup target.</li>
+</ul>
+
+<h2>Introducing Container-as-a-Service Drivers</h2>
+
+<p>The API is for Container-as-a-Service providers, these new types of cloud services offer container management and hosting as a service.
+The new services are already providing proprietary APIs, giving the need for a tool like Libcloud if you want to provision to any cloud provider.</p>
+
+<p>Google, Amazon and Joyent have all announced Container cloud services and Microsoft have launched a beta service also, so we are getting on the front foot with an
+abstraction API for people wishing to gain similar benefits to the compute, load balancer and storage APIs.</p>
+
+<p>A presentation on this topic <a href="http://www.slideshare.net/AnthonyShaw5/introducing-container-asaservice-support-to-apache-libcloud">presentation</a> is available on SlideShare.</p>
+
+<p><strong>Isn't docker a standard?</strong>
+Well, yes and no.</p>
+
+<p>Docker has been the main technology adopted by these providers as the host system for the containers and also as the specification of the containers themselves.
+But, Docker is not a provisioning system, it is a virtualization host. Also there are alternatives, like CoreOS Rkt. </p>
+
+<h3>Container API design</h3>
+
+<p>Container-as-a-Service providers will implement the <code>ContainerDriver</code> class to provide functionality for :</p>
+
+<ul>
+<li>Listing deployed containers</li>
+<li>Starting, stopping and restarting containers (where supported)</li>
+<li>Destroying containers</li>
+<li>Creating/deploying containers</li>
+<li>Listing container images</li>
+<li>Installing container images (pulling an image from a local copy or remote repository)</li>
+</ul>
+
+<h3>Simple Container Support</h3>
+
+<ul>
+<li><code>libcloud.container.base.ContainerImage</code> - Represents an image that can be deployed, like an application or an operating system</li>
+<li><code>libcloud.container.base.Container</code> - Represents a deployed container image running on a container host</li>
+</ul>
+
+<h3>Cluster Suppport</h3>
+
+<p>Cluster support extends on the basic driver functions, but where drivers implement the class-level attribute <code>supports_clusters</code> as True
+clusters may be listed, created and destroyed. When containers are deployed, the target cluster can be specified.</p>
+
+<ul>
+<li><code>libcloud.container.base.ContainerCluster</code> - Represents a deployed container image running on a container host</li>
+<li><code>libcloud.container.base.ClusterLocation</code> - Represents a location for clusters to be deployed</li>
+</ul>
+
+<h3>Using the container drivers</h3>
+
+<p>The container drivers have been designed around similar principles to the compute driver. It is simple to use and a flat class design. </p>
+
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.container.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
+<span class="kn">from</span> <span class="nn">libcloud.container.types</span> <span class="kn">import</span> <span class="n">Provider</span>
+
+<span class="n">Cls</span> <span class="o">=</span> <span class="n">get_driver</span><span class="p">(</span><span class="n">Provider</span><span class="o">.</span><span class="n">DOCKER</span><span class="p">)</span>
+<span class="n">driver</span> <span class="o">=</span> <span class="n">Cls</span><span class="p">(</span><span class="s">'user'</span><span class="p">,</span> <span class="s">'api key'</span><span class="p">)</span>
+
+<span class="n">image</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">install_image</span><span class="p">(</span><span class="s">'tomcat:8.0'</span><span class="p">)</span>
+<span class="n">container</span> <span class="o">=</span> <span class="n">driver</span><span class="o">.</span><span class="n">deploy_container</span><span class="p">(</span><span class="s">'tomcat'</span><span class="p">,</span> <span class="n">image</span><span class="p">)</span>
+
+<span class="n">container</span><span class="o">.</span><span class="n">restart</span><span class="p">()</span>
+</code></pre></div>
+
+<h3>Container Registries</h3>
+
+<p>The Docker Registry API is used by services like Amazon ECR, the Docker Hub website and by anyone hosting their own Docker registry.
+It doesn't belong to a particular driver, so is a utility class.
+Some providers, like Amazon ECR have a factory method to provide a registry client
+Images from docker registry can be sent to the deploy_container method for any driver.</p>
+
+<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="kn">from</span> <span class="nn">libcloud.container.utils.docker</span> <span class="kn">import</span> <span class="n">HubClient</span>
+<span class="n">hub</span> <span class="o">=</span> <span class="n">HubClient</span><span class="p">()</span>
+<span class="n">image</span> <span class="o">=</span> <span class="n">hub</span><span class="o">.</span><span class="n">get_image</span><span class="p">(</span><span class="s">'ubuntu'</span><span class="p">,</span> <span class="s">'latest'</span><span class="p">)</span>
+</code></pre></div>
+
+<p>When other container registry services are made available these can be provided in a similar context.</p>
+
+<h3>Prototype drivers in libcloud.container</h3>
+
+<p>Drivers have been provided to show example implementations of the API, these drivers are <strong>experimental</strong> and need to go through more thorough community testing
+before they are ready for a stable release.</p>
+
+<ul>
+<li>Docker - http://libcloud.readthedocs.org/en/latest/container/drivers/docker.html</li>
+<li>Joyent Triton - http://libcloud.readthedocs.org/en/latest/container/drivers/joyent.html</li>
+<li>Google Kubernetes - http://libcloud.readthedocs.org/en/latest/container/drivers/kubernetes.html</li>
+<li>Amazon Elastic Container Service (as well as Amazon Container Registry Service) - http://libcloud.readthedocs.org/en/latest/container/drivers/ecs.html </li>
+</ul>
+
+<p>The driver with the most contentious implementation is Kubernetes. We would like users of the Amazon ECS, Google Containers and Kubernetes project to provide feedback
+on how they would like to map clusters, pods, namespaces to the low level concepts in the driver.</p>
+
+<h1>Thanks</h1>
+
+<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 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/announcement.html" rel="tag">announcement</a></p>
+ </div>
+ </div>
+</div>
+
+
+
+
+ <div class="post">
+
<h2><a href="/blog/2016/01/19/libcloud-0-20-1-released.html">Libcloud 0.20.1 released</a></h2>
@@ -279,8 +479,8 @@ features, improvements, bug-fixes, and D
<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 [CloudFlare DNS][4]</li>
-<li>Many more improvements and API v2.1 support for the [Dimension Data compute driver][5]</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 & us-east-2 regions to the OUTSCALE<em>INC & OUTSCALE</em>SAS drivers</li>
@@ -412,96 +612,6 @@ participation and contributions.</p>
-
- <div class="post">
-
- <h2><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>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>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>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>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>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>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>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%20announcement.html" rel="tag">release announcement</a></p>
- </div>
- </div>
-</div>
-
-
-
</div>
<p class="navigation">
@@ -520,7 +630,7 @@ list of people who contributed to this r
<div class="col-lg-3 col-lg-offset-1">
<h2>Archive</h1>
<ul>
- <li> <a href="/blog/archives/2016/01/"> January 2016</a> (2)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> (1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <
a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="
/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li>
+ <li> <a href="/blog/archives/2016/01/"> January 2016</a> (3)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> (1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <
a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="
/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li>
</ul>
</div>
</div>
@@ -551,7 +661,7 @@ list of people who contributed to this r
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>
Modified: libcloud/site/trunk/generated/blog/page/10/index.html
URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/page/10/index.html?rev=1725672&r1=1725671&r2=1725672&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/page/10/index.html (original)
+++ libcloud/site/trunk/generated/blog/page/10/index.html Wed Jan 20 05:25:25 2016
@@ -47,7 +47,7 @@
- <link href='/assets/global-e7192cf35de7c848d039a1a201afcbe3.css' rel='stylesheet' type='text/css' />
+ <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' rel='stylesheet' type='text/css' />
</head>
@@ -97,6 +97,110 @@
<div class="post">
+ <h2><a href="/blog/2012/07/30/libcloud-0-11-0-released.html">Libcloud 0.11.0 released</a></h2>
+
+
+
+
+
+ <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Jul 30, 2012</span>
+
+ <div class="post-content">
+ <p>The Apache Libcloud team is pleased to announce the release of Libcloud
+0.11.0!</p>
+
+<p>Libcloud is a Python library that abstracts away the differences among
+multiple cloud provider APIs. It allows users to manage cloud services
+(servers, storage, load balancers, DNS) offered by many different providers
+ through a single, unified and easy to use API.</p>
+
+<h3>Release highlights</h3>
+
+<p><strong>General</strong></p>
+
+<ul>
+<li>Install test files when installing the library. Tests module can now be
+imported by doing something like this: "from libcloud import test"</li>
+</ul>
+
+<p><strong>Compute</strong></p>
+
+<ul>
+<li>New standard API and methods for managing storage volumes. Base API
+consists of the following methods: create<em>volume, destroy</em>volume,
+attach<em>volume, detach</em>volume.</li>
+<li>New driver for KT UCloud (http://home.ucloud.olleh.com/main.kt) based
+on the CloudStack driver.</li>
+<li>New Gridspot driver with a basic list and destroy functionality.</li>
+</ul>
+
+<p><strong>Bug fixes</strong></p>
+
+<ul>
+<li>Plenty of them, please see the CHANGES file.</li>
+</ul>
+
+<p>For a full list of changes, please see the CHANGES file
+<a href="https://svn.apache.org/viewvc/libcloud/tags/0.11.0/CHANGES?revision=r1364892&view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.11.0/CHANGES?revision=r1364892&view=markup</a>.</p>
+
+<h3>Download</h3>
+
+<p>Libcloud 0.10.1 can be downloaded from http://libcloud.apache.org/downloads.html
+or installed using pip:</p>
+
+<div class="highlight"><pre><code class="bash">pip install apache-libcloud
+</code></pre></div>
+
+<p>It is possible that the file hasn't been synced to all the mirrors yet. If
+this is the case,
+please use the main Apache mirror - http://www.apache.org/dist/libcloud.</p>
+
+<h3>Upgrading</h3>
+
+<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p>
+
+<div class="highlight"><pre><code class="bash">pip install --upgrade apache-libcloud
+</code></pre></div>
+
+<h3>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 http://libcloud.apache.org/upgrade-notes.html.</p>
+
+<h3>Documentation</h3>
+
+<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.11.1/</p>
+
+<h3>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>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
+CHANGES file <a href="https://svn.apache.org/viewvc/libcloud/tags/0.11.0/CHANGES?revision=r1364892&view=markup">https://svn.apache.org/viewvc/libcloud/tags/0.11.0/CHANGES?revision=r1364892&view=markup</a>.</p>
+
+<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/www-announce/201207.mbox/%3CCAJMHEmLcSZi4bYmUaZtF_q=npc--DpVbTEH-Z+f0TCd2iteS-A@mail.gmail.com%3E">release announcement</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%20announcement.html" rel="tag">release announcement</a></p>
+ </div>
+ </div>
+</div>
+
+
+
+
+ <div class="post">
+
<h2><a href="/blog/2012/05/24/libcloud-0-10-1-released.html">Libcloud 0.10.1 released</a></h2>
@@ -449,53 +553,6 @@ file <a href="https://svn.apache.org/vie
-
- <div class="post">
-
- <h2><a href="/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html">2011 in retrospect and a Happy New Year from the Libcloud team</a></h2>
-
-
-
-
-
- <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Dec 30, 2011</span>
-
- <div class="post-content">
- <p>Dear users & developers,</p>
-
-<p>First of all, Libcloud team wishes everyone a Happy New Year 2012!</p>
-
-<p>2011 has been a great year for us and we have accomplished a lot of things:</p>
-
-<ul>
-<li>Website has been ported to the Apache CMS and updated with a lot of new
-content, including documentation</li>
-<li>In May we have graduated from the incubator to a top level project</li>
-<li>Two new committers have joined the team (Tomaz Muraus, Hutson Betts)</li>
-<li>We have grown from supporting a single API (cloud servers) to supporting
-four different APIs (cloud servers, load balancers, cloud storage, dns)</li>
-<li>We have introduced support for Python 3</li>
-<li>We have released a total of 7 new versions</li>
-<li>We have received many patches by external contributors</li>
-<li>We have held two development sprints (PyCon, EuroPython)</li>
-<li>Code wise we have grown from ~4300 LOC to ~14300 LOC (excluding tests)</li>
-</ul>
-
-<p>Lets try to make 2012 even better :)</p>
-
-<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201112.mbox/%3CCAJMHEmL1D-HuCj4LSH-mF1bP_Of6XwEfuP1Y74_2APeD-8OrFA@mail.gmail.com%3E">mailing list post</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></p>
- </div>
- </div>
-</div>
-
-
-
</div>
<p class="navigation">
@@ -520,7 +577,7 @@ four different APIs (cloud servers, load
<div class="col-lg-3 col-lg-offset-1">
<h2>Archive</h1>
<ul>
- <li> <a href="/blog/archives/2016/01/"> January 2016</a> (2)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> (1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <
a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="
/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li>
+ <li> <a href="/blog/archives/2016/01/"> January 2016</a> (3)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> (1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <
a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="
/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li>
</ul>
</div>
</div>
@@ -551,7 +608,7 @@ four different APIs (cloud servers, load
</div><!-- /.container -->
<!-- JavaScript -->
- <script src='/assets/global-8d3f2080ad1d4743eda2eeaa60b50d82.js' type='text/javascript'></script>
+ <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' type='text/javascript'></script>