Modified: libcloud/site/trunk/generated/blog/tags/pmc.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/pmc.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/pmc.html (original)
+++ libcloud/site/trunk/generated/blog/tags/pmc.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -155,7 +155,7 @@ help me welcome him to the team :)</p>
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/podcasts.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/podcasts.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/podcasts.html (original)
+++ libcloud/site/trunk/generated/blog/tags/podcasts.html Fri Feb  5 03:08:11 
2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -152,7 +152,7 @@ about Apache Libcloud.</p>
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/presentations.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/presentations.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/presentations.html (original)
+++ libcloud/site/trunk/generated/blog/tags/presentations.html Fri Feb  5 
03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -177,7 +177,7 @@ strecthing for over 3 weeks, I sadly had
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/providers.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/providers.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/providers.html (original)
+++ libcloud/site/trunk/generated/blog/tags/providers.html Fri Feb  5 03:08:11 
2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -323,7 +323,7 @@ to fix and enhance the Compute Engine dr
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/pycon.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/pycon.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/pycon.html (original)
+++ libcloud/site/trunk/generated/blog/tags/pycon.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -149,7 +149,7 @@ please refer to the <a href="http://mail
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/release announcement.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/release%20announcement.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/release announcement.html (original)
+++ libcloud/site/trunk/generated/blog/tags/release announcement.html Fri Feb  
5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -3040,7 +3040,7 @@ Cloud and SoftLayer.</li>
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/security release.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/security%20release.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/security release.html (original)
+++ libcloud/site/trunk/generated/blog/tags/security release.html Fri Feb  5 
03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -374,7 +374,7 @@ http://wiki.apache.org/incubator/Libclou
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/sprints.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/sprints.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/sprints.html (original)
+++ libcloud/site/trunk/generated/blog/tags/sprints.html Fri Feb  5 03:08:11 
2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -175,7 +175,7 @@ please refer to the <a href="http://mail
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/blog/tags/svn.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/svn.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/svn.html (original)
+++ libcloud/site/trunk/generated/blog/tags/svn.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -187,7 +187,7 @@ to manually edit markdown files again wh
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Added: libcloud/site/trunk/generated/blog/tags/tutorial.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/tutorial.html?rev=1728588&view=auto
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/tutorial.html (added)
+++ libcloud/site/trunk/generated/blog/tags/tutorial.html Fri Feb  5 03:08:11 
2016
@@ -0,0 +1,318 @@
+<!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>Tag Archive | 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" />
+
+    <link 
href='https://fonts.googleapis.com/css?family=Open+Sans:400,400italic' 
rel='stylesheet' type='text/css'>
+    <link href='https://fonts.googleapis.com/css?family=Inconsolata' 
rel='stylesheet' type='text/css'>
+
+    <!-- Facebook OpenGraph tags -->
+    <meta content="Apache Libcloud" property="og:site_name">
+    
+      <meta content="Tag Archive" property="og:title">
+    
+
+    
+
+    
+
+    
+      <meta content="website" property="og:type">
+    
+
+    
+      <meta content="https://libcloud.apache.org/blog/tags/tutorial.html"; 
property="og:url">
+    
+    
+
+    
+
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.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="/index.html"><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/latest/"; 
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><!-- /.navbar-collapse -->
+      </div><!-- /.container -->
+    </nav>
+
+    <div class="container main-container">
+      <div class="row section page-content">
+  <div class="col-lg-8 col-lg-offset-2">
+    <h1>Tag: tutorial</h1>
+
+
+
+  
+    <div class="post">
+  
+    <h2><a href="/blog/2016/02/05/libcloud-containers-example.html">Using the 
container abstraction API in 1.0.0-pre1</a></h2>
+  
+
+  
+    
+  
+  <span class="post-date-author">By Anthony Shaw on Feb 05, 2016</span>
+
+  <div class="post-content">
+    <h2>Background</h2>
+
+<p>Containers are the talk of the town, you can&#39;t escape an event or 
meetup without someone talking about containers. The lessons we
+learnt with compute abstraction are applying widely with containers in 2016. 
APIs are not consistent between clouds, designs are not
+standardised and yet, users are trying to consume multiple services.</p>
+
+<p>We introduced Container-as-a-Service support in <a 
href="http://libcloud.apache.org/blog/2016/01/26/libcloud-1-0-0-pre1-released.html";>1.0.0-pre1</a>,
 a community pre-release with the intention of sparking feedback from 
+the open-source community about the design and the implementation of 4 example 
drivers :  </p>
+
+<ul>
+<li>Docker</li>
+<li>Joyent Triton</li>
+<li>Amazon EC2 Container Service</li>
+<li>Google Kubernetes</li>
+</ul>
+
+<h2>Getting Started with 1.0.0-pre1</h2>
+
+<p>First off, let&#39;s install the new packages, you probably want to do this 
within a virtualenv if you&#39;re using Apache Libcloud for other projects. </p>
+
+<p>So run these commands at a Linux Shell to create a virtualenv called 
&#39;containers&#39; and install the pre-release packages into that 
environment.</p>
+
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"> 
  virtualenv containers
+   <span class="nb">cd </span>containers
+   <span class="nb">source </span>bin/activate
+   pip install apache-libcloud<span class="o">==</span>1.0.0-pre1
+</code></pre></div>
+
+<p>Now you can start using this package with a test script, let&#39;s create 
one called containers.py</p>
+
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"> 
  touch containers.py
+</code></pre></div>
+
+<p>Using your favourite text editor, update that file to import the 1.0.0-pre1 
libraries and the factory methods for instantiating containers.</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>
+</code></pre></div>
+
+<p><code>get_driver</code> is a factory method as with all libcloud APIs, you 
call this method with the <code>Provider</code> that you want to instantiate. 
Our options are:</p>
+
+<ul>
+<li><code>Provider.DOCKER</code> - Standalone Docker API</li>
+<li><code>Provider.KUBERNETES</code> - Kubernetes Cluster endpoint</li>
+<li><code>Provider.JOYENT</code> - Joyent Triton Public API</li>
+<li><code>Provider.ECS</code> - Amazon EC2 Container Service</li>
+</ul>
+
+<p>Calling <code>get_driver</code> will return a reference to the driver class 
that you requested. You can then instantiate that class into an object using 
the 
+contructor. This is always a set of parameters for setting the host or region, 
the authentication and any other options.</p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python">   <span class="n">driver</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>
+</code></pre></div>
+
+<p>Now we can call our driver and get an instance of it called 
<code>docker_driver</code> and use that to deploy a container. For Docker you 
need the pem files on the server,
+the host (IP or FQDN) and the port.</p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python">   <span class="n">docker_driver</span> <span 
class="o">=</span> <span class="n">driver</span><span class="p">(</span><span 
class="n">host</span><span class="o">=</span><span 
class="s">&#39;https://198.61.239.128&#39;</span><span class="p">,</span> <span 
class="n">port</span><span class="o">=</span><span class="mi">4243</span><span 
class="p">,</span>
+             <span class="n">key_file</span><span class="o">=</span><span 
class="s">&#39;key.pem&#39;</span><span class="p">,</span> <span 
class="n">cert_file</span><span class="o">=</span><span 
class="s">&#39;cert.pem&#39;</span><span class="p">)</span>
+</code></pre></div>
+
+<p>Docker requires that images are available in the image database before they 
can be deployed as containers. With Kubernetes and Amazon ECS this step is not 
required
+as when you deploy a container it carries out that download for you. </p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python">   <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>
+</code></pre></div>
+
+<p>Now that Docker has the version 8.0 image of Apache Tomcat, you can deploy 
this as a container called <code>my_tomcat_container</code>. Tomcat runs on 
TCP/8080 by default so we 
+want to bind that port for our container using an optional parameter 
<code>port_bindings</code></p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python">   <span class="n">bindings</span> <span class="o">=</span> 
<span class="p">{</span> <span class="s">&quot;22/tcp&quot;</span><span 
class="p">:</span> <span class="p">[{</span> <span 
class="s">&quot;HostPort&quot;</span><span class="p">:</span> <span 
class="s">&quot;11022&quot;</span> <span class="p">}]</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;my_tomcat_container&#39;</span><span class="p">,</span> <span 
class="n">image</span><span class="p">,</span> <span 
class="n">port_bindings</span><span class="o">=</span><span 
class="n">bindings</span><span class="p">)</span>
+</code></pre></div>
+
+<p>This will have deployed the container and started it up for you, you can 
disable the automatic startup by using <code>start=False</code> as a keyword 
argument. You can now call upon this container and 
+run methods, <code>restart</code>, <code>start</code>, <code>stop</code> and 
<code>destroy</code>.</p>
+
+<p>For example, to blow away that test container: </p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python">   <span class="n">container</span><span 
class="o">.</span><span class="n">destroy</span><span class="p">()</span>
+</code></pre></div>
+
+<h2>Crossing the streams; calling Kubernetes and Amazon EC2 Container 
Service</h2>
+
+<p>With Docker we saw that we needed to &quot;pull&quot; the image before we 
deployed it. Kubernetes and Amazon ECS don&#39;t have that requirement, but as 
a safeguard you can query the Docker Hub API using a 
+utility class provided</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;tomcat&#39;</span><span class="p">,</span> <span 
class="s">&#39;8.0&#39;</span><span class="p">)</span>
+</code></pre></div>
+
+<p>Now <code>image</code> can be used to deploy to any driver instance that 
you create. Let&#39;s try that against Kubernetes and ECS.</p>
+
+<h3>Amazon ECS</h3>
+
+<p>Before you run this example, you will need an API key and the permissions 
for that key to have the <code>AmazonEC2ContainerServiceFullAccess</code> role. 
<code>ap-southeast-2</code> is my nearest region, but you can 
+swap this out for any of the Amazon public regions that have the ECS service 
available. </p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python">   <span class="n">e_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">ECS</span><span class="p">)</span>
+   <span class="n">ecs</span> <span class="o">=</span> <span 
class="n">e_cls</span><span class="p">(</span><span 
class="n">access_id</span><span class="o">=</span><span 
class="s">&#39;SDHFISJDIFJSIDFJ&#39;</span><span class="p">,</span>
+               <span class="n">secret</span><span class="o">=</span><span 
class="s">&#39;THIS_IS)+_MY_SECRET_KEY+I6TVkv68o4H&#39;</span><span 
class="p">,</span>
+               <span class="n">region</span><span class="o">=</span><span 
class="s">&#39;ap-southeast-2&#39;</span><span class="p">)</span>
+</code></pre></div>
+
+<p>ECS and Kubernetes both support some form of grouping or clustering for 
your containers. This is available as <code>create_cluster</code>, 
<code>list_cluster</code>.</p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python">   <span class="n">cluster</span> <span class="o">=</span> 
<span class="n">ecs</span><span class="o">.</span><span 
class="n">create_cluster</span><span class="p">(</span><span 
class="s">&#39;default&#39;</span><span class="p">)</span>
+   <span class="n">container</span> <span class="o">=</span> <span 
class="n">ecs</span><span class="o">.</span><span 
class="n">deploy_container</span><span class="p">(</span>
+            <span class="n">cluster</span><span class="o">=</span><span 
class="n">cluster</span><span class="p">,</span>
+            <span class="n">name</span><span class="o">=</span><span 
class="s">&#39;hello-world&#39;</span><span class="p">,</span>
+            <span class="n">image</span><span class="o">=</span><span 
class="n">image</span><span class="p">,</span>
+        <span class="n">start</span><span class="o">=</span><span 
class="bp">False</span><span class="p">,</span>
+        <span class="n">ex_container_port</span><span class="o">=</span><span 
class="mi">8080</span><span class="p">,</span> <span 
class="n">ex_host_port</span><span class="o">=</span><span 
class="mi">8080</span><span class="p">)</span>
+</code></pre></div>
+
+<p>This will have deployed a task definition in Amazon ECS with a single 
container inside, with a cluster called &#39;main&#39; and deployed the 
tomcat:8.0 image from the Docker hub to that region. </p>
+
+<p>Check out the <a 
href="http://libcloud.readthedocs.org/en/latest/container/drivers/ecs.html";>ECS 
Documentation</a> for more details.</p>
+
+<h3>Kubernetes</h3>
+
+<p>Kubernetes authentication is currently only implemented for None (off) and 
Basic HTTP authentication. Let&#39;s use the <a 
href="http://kubernetes.io/v1.1/docs/admin/authentication.html";>basic HTTP 
authentication method</a> to connect.</p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python"><span class="n">k_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">KUBERNETES</span><span class="p">)</span>
+
+<span class="n">kubernetes</span> <span class="o">=</span> <span 
class="n">k_cls</span><span class="p">(</span><span class="n">key</span><span 
class="o">=</span><span class="s">&#39;my_username&#39;</span><span 
class="p">,</span>
+                   <span class="n">secret</span><span class="o">=</span><span 
class="s">&#39;THIS_IS)+_MY_SECRET_KEY+I6TVkv68o4H&#39;</span><span 
class="p">,</span>
+                   <span class="n">host</span><span class="o">=</span><span 
class="s">&#39;126.32.21.4&#39;</span><span class="p">)</span>
+<span class="n">cluster2</span> <span class="o">=</span> <span 
class="n">kubernetes</span><span class="o">.</span><span 
class="n">create_cluster</span><span class="p">(</span><span 
class="s">&#39;default&#39;</span><span class="p">)</span>
+<span class="n">container2</span> <span class="o">=</span> <span 
class="n">kubernetes</span><span class="o">.</span><span 
class="n">deploy_container</span><span class="p">(</span>
+            <span class="n">cluster</span><span class="o">=</span><span 
class="n">cluster</span><span class="p">,</span>
+            <span class="n">name</span><span class="o">=</span><span 
class="s">&#39;hello-world&#39;</span><span class="p">,</span>
+            <span class="n">image</span><span class="o">=</span><span 
class="n">image</span><span class="p">,</span>
+        <span class="n">start</span><span class="o">=</span><span 
class="bp">False</span><span class="p">)</span>
+</code></pre></div>
+
+<h2>Wrapping it up</h2>
+
+<p>Now, let&#39;s wrap that all up by doing a list comprehension across the 3 
drivers to get a list of all containers and print their ID&#39;s and Names. 
Then delete them.</p>
+
+<div class="highlight"><pre><code class="python language-python" 
data-lang="python"><span class="n">containers</span> <span class="o">=</span> 
<span class="p">[</span><span class="n">conn</span><span 
class="o">.</span><span class="n">list_containers</span><span 
class="p">()</span> <span class="k">for</span> <span class="n">conn</span> 
<span class="ow">in</span> <span class="p">[</span><span 
class="n">docker</span><span class="p">,</span> <span class="n">ecs</span><span 
class="p">,</span> <span class="n">kubernetes</span><span class="p">]]</span>
+<span class="k">for</span> <span class="n">container</span> <span 
class="ow">in</span> <span class="n">containers</span><span class="p">:</span>
+    <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;</span><span class="si">%s</span><span class="s"> : 
</span><span class="si">%s</span><span class="s">&quot;</span> <span 
class="o">%</span> <span class="p">(</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">id</span><span class="p">,</span> <span 
class="n">container</span><span class="o">.</span><span 
class="n">name</span><span class="p">))</span>
+    <span class="n">container</span><span class="o">.</span><span 
class="n">destroy</span><span class="p">()</span>
+</code></pre></div>
+
+<h3>About the Author</h3>
+
+<p>Anthony Shaw is on the PMC for Apache Libcloud, you can follow Anthony on 
Twitter at <a href="https://twitter.com/anthonypjshaw";>@anthonypjshaw</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/containers.html" rel="tag">containers</a>, <a 
href="/blog/tags/tutorial.html" rel="tag">tutorial</a></p>
+    </div>
+  </div>
+</div>
+
+  
+
+
+  </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="/credits.html">Credits</a> | <a href="/media.html">Media</a>
+</div>
+
+<div class="footer-text">
+  <p class="">Copyright &copy; 2009-2016 <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>
+</div>
+
+          </div>
+        </div>
+      </footer>
+
+    </div><!-- /.container -->
+
+    <!-- JavaScript -->
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
+
+
+    
+
+    <script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-23580482-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script>
+
+  </body>
+</html>

Modified: libcloud/site/trunk/generated/blog/tags/website.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/website.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/blog/tags/website.html (original)
+++ libcloud/site/trunk/generated/blog/tags/website.html Fri Feb  5 03:08:11 
2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -257,7 +257,7 @@ the changes yourself.</p>
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/community-resources.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/community-resources.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/community-resources.html (original)
+++ libcloud/site/trunk/generated/community-resources.html Fri Feb  5 03:08:11 
2016
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -182,7 +182,7 @@ would like to have it listed on this pag
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/community.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/community.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/community.html (original)
+++ libcloud/site/trunk/generated/community.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -210,7 +210,7 @@ the documentation.</p>
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/credits.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/credits.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/credits.html (original)
+++ libcloud/site/trunk/generated/credits.html Fri Feb  5 03:08:11 2016
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -543,7 +543,7 @@ someone&#39;s name, this simply means th
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/downloads.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/downloads.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/downloads.html (original)
+++ libcloud/site/trunk/generated/downloads.html Fri Feb  5 03:08:11 2016
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -297,7 +297,7 @@ gpg: BAD signature from <span class="s2"
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/getting-started.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/getting-started.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/getting-started.html (original)
+++ libcloud/site/trunk/generated/getting-started.html Fri Feb  5 03:08:11 2016
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -224,7 +224,7 @@ docstrings for that driver.</p>
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/gsoc-2012.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/gsoc-2012.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/gsoc-2012.html (original)
+++ libcloud/site/trunk/generated/gsoc-2012.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -194,7 +194,7 @@ mailing list ([email protected]).<
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/gsoc-2014.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/gsoc-2014.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/gsoc-2014.html (original)
+++ libcloud/site/trunk/generated/gsoc-2014.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -180,7 +180,7 @@ mailing list ([email protected]).<
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/gsoc.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/gsoc.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/gsoc.html (original)
+++ libcloud/site/trunk/generated/gsoc.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -140,7 +140,7 @@ we have participated in the past:</p>
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/images/posts/sacon.jpg
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/images/posts/sacon.jpg?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
Binary files - no diff available.

Modified: libcloud/site/trunk/generated/images/provider-logos/backblaze.png
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/images/provider-logos/backblaze.png?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
Binary files - no diff available.

Modified: libcloud/site/trunk/generated/index.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/index.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/index.html (original)
+++ libcloud/site/trunk/generated/index.html Fri Feb  5 03:08:11 2016
@@ -53,7 +53,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -241,19 +241,19 @@
         <h3>Latest Blog Posts</h3>
         
           
-            <p><a 
href="/blog/2016/01/26/libcloud-1-0-0-pre1-released.html">Libcloud 1.0.0-pre1 
released</a>
+            <p><a 
href="/blog/2016/02/05/libcloud-containers-example.html">Using the container 
abstraction API in 1.0.0-pre1</a>
           
         
           
-            <p><a href="/blog/2016/01/20/libcloud-1.0-pre1.html">Libcloud 
1.0-pre1 open for feedback</a>
+            <p><a 
href="/blog/2016/01/26/libcloud-1-0-0-pre1-released.html">Libcloud 1.0.0-pre1 
released</a>
           
         
           
-            <p><a 
href="/blog/2016/01/19/libcloud-0-20-1-released.html">Libcloud 0.20.1 
released</a>
+            <p><a href="/blog/2016/01/20/libcloud-1.0-pre1.html">Libcloud 
1.0-pre1 open for feedback</a>
           
         
           
-            <p><a href="/blog/2016/01/14/notice-for-linode-users.html">Notice 
for Linode users</a>
+            <p><a 
href="/blog/2016/01/19/libcloud-0-20-1-released.html">Libcloud 0.20.1 
released</a>
           
         
 
@@ -334,11 +334,11 @@
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     
-      <script src='/assets/index-217a3c0e2d83e2a2cffc452269154441.js' 
type='text/javascript'></script>
+      <script src='/assets/index-d2b5f16dce0cff3423840ceaa54edec2.js' 
type='text/javascript'></script>
 
     
 

Modified: libcloud/site/trunk/generated/media.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/media.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/media.html (original)
+++ libcloud/site/trunk/generated/media.html Fri Feb  5 03:08:11 2016
@@ -47,7 +47,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -150,7 +150,7 @@ your servers instead of directly linking
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/security.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/security.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/security.html (original)
+++ libcloud/site/trunk/generated/security.html Fri Feb  5 03:08:11 2016
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -234,7 +234,7 @@ which is described at
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Modified: libcloud/site/trunk/generated/sitemap.xml
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/sitemap.xml?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/sitemap.xml (original)
+++ libcloud/site/trunk/generated/sitemap.xml Fri Feb  5 03:08:11 2016
@@ -2,362 +2,366 @@
 <urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>
     <url>
         
<loc>https://libcloud.apache.org/blog/2010/02/02/libcloud-0-2-0-released.html</loc>
-        <lastmod>2010-02-02T00:00:00+01:00</lastmod>
+        <lastmod>2010-02-02T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2010/05/11/libcloud-0-3-1-released.html</loc>
-        <lastmod>2010-05-11T00:00:00+02:00</lastmod>
+        <lastmod>2010-05-11T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2010/10/12/libcloud-0-4-0-released.html</loc>
-        <lastmod>2010-10-12T00:00:00+02:00</lastmod>
+        <lastmod>2010-10-12T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/01/17/libcloud-0-4-2-released.html</loc>
-        <lastmod>2011-01-17T00:00:00+01:00</lastmod>
+        <lastmod>2011-01-17T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2011/02/15/libcloud-sprint-will-be-held-at-pycon-2011.html
         </loc>
-        <lastmod>2011-02-15T00:00:00+01:00</lastmod>
+        <lastmod>2011-02-15T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/05/25/libcloud-0-5-0-released.html</loc>
-        <lastmod>2011-05-25T00:00:00+02:00</lastmod>
+        <lastmod>2011-05-25T00:00:00+10:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2011/06/06/libcloud-sprint-will-be-held-at-europython-2011.html
         </loc>
-        <lastmod>2011-06-06T00:00:00+02:00</lastmod>
+        <lastmod>2011-06-06T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/07/04/libcloud-0-5-2-released.html</loc>
-        <lastmod>2011-07-04T00:00:00+02:00</lastmod>
+        <lastmod>2011-07-04T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/09/01/libcloud-on-floss-weekly.html</loc>
-        <lastmod>2011-09-01T00:00:00+02:00</lastmod>
+        <lastmod>2011-09-01T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/10/19/libcloud-0-6-0-beta1-released.html</loc>
-        <lastmod>2011-10-19T00:00:00+02:00</lastmod>
+        <lastmod>2011-10-19T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/11/09/libcloud-0-6-1-released.html</loc>
-        <lastmod>2011-11-09T00:00:00+01:00</lastmod>
+        <lastmod>2011-11-09T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/11/17/libcloud-0-6-2-released.html</loc>
-        <lastmod>2011-11-17T00:00:00+01:00</lastmod>
+        <lastmod>2011-11-17T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2011/11/22/new-committer-hutson-betts-join-our-team.html
         </loc>
-        <lastmod>2011-11-22T00:00:00+01:00</lastmod>
+        <lastmod>2011-11-22T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2011/12/09/libcloud-0-7-1-released.html</loc>
-        <lastmod>2011-12-09T00:00:00+01:00</lastmod>
+        <lastmod>2011-12-09T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2011/12/30/2011-in-retrospect-and-happy-new-year-from-libcloud-team.html
         </loc>
-        <lastmod>2011-12-30T00:00:00+01:00</lastmod>
+        <lastmod>2011-12-30T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2012/02/08/libcloud-0-8-0-released.html</loc>
-        <lastmod>2012-02-08T00:00:00+01:00</lastmod>
+        <lastmod>2012-02-08T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2012/04/01/libcloud-0-9-1-released.html</loc>
-        <lastmod>2012-04-01T00:00:00+02:00</lastmod>
+        <lastmod>2012-04-01T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2012/05/05/website-and-code-svn-repository-moved.html
         </loc>
-        <lastmod>2012-05-05T00:00:00+02:00</lastmod>
+        <lastmod>2012-05-05T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2012/05/24/libcloud-0-10-1-released.html</loc>
-        <lastmod>2012-05-24T00:00:00+02:00</lastmod>
+        <lastmod>2012-05-24T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2012/07/30/libcloud-0-11-0-released.html</loc>
-        <lastmod>2012-07-30T00:00:00+02:00</lastmod>
+        <lastmod>2012-07-30T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2012/08/22/libcloud-0-11-1-released.html</loc>
-        <lastmod>2012-08-22T00:00:00+02:00</lastmod>
+        <lastmod>2012-08-22T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2012/09/25/libcloud-0-11-3-released.html</loc>
-        <lastmod>2012-09-25T00:00:00+02:00</lastmod>
+        <lastmod>2012-09-25T00:00:00+10:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2012/11/16/new-committer-ilgiz-islamgulov-joins-the-team.html
         </loc>
-        <lastmod>2012-11-16T00:00:00+01:00</lastmod>
+        <lastmod>2012-11-16T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2012/11/19/libcloud-0-11-4-released.html</loc>
-        <lastmod>2012-11-19T00:00:00+01:00</lastmod>
+        <lastmod>2012-11-19T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2012/12/26/2012-in-retrospect-and-happy-new-year-from-libcloud-team.html
         </loc>
-        <lastmod>2012-12-26T00:00:00+01:00</lastmod>
+        <lastmod>2012-12-26T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2012/12/28/new-committer-mahendra-maheshwara-joins-our-team.html
         </loc>
-        <lastmod>2012-12-28T00:00:00+01:00</lastmod>
+        <lastmod>2012-12-28T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2013/02/18/libcloud-0-12-1-released.html</loc>
-        <lastmod>2013-02-18T00:00:00+01:00</lastmod>
+        <lastmod>2013-02-18T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2013/03/21/libcloud-0-12-3-released.html</loc>
-        <lastmod>2013-03-21T00:00:00+01:00</lastmod>
+        <lastmod>2013-03-21T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2013/07/01/libcloud-0-13-0-released.html</loc>
-        <lastmod>2013-07-01T00:00:00+02:00</lastmod>
+        <lastmod>2013-07-01T00:00:00+10:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2013/08/04/new-committer-john-carr-joins-our-team.html
         </loc>
-        <lastmod>2013-08-04T00:00:00+02:00</lastmod>
+        <lastmod>2013-08-04T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2013/09/05/libcloud-0-13-1-released.html</loc>
-        <lastmod>2013-09-05T00:00:00+02:00</lastmod>
+        <lastmod>2013-09-05T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2013/11/21/libcloud-0-14-0-beta3-released.html</loc>
-        <lastmod>2013-11-21T00:00:00+01:00</lastmod>
+        <lastmod>2013-11-21T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2013/11/25/new-committers-brian-curtin-joins-our-team.html
         </loc>
-        <lastmod>2013-11-25T00:00:00+01:00</lastmod>
+        <lastmod>2013-11-25T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2013/12/28/2013-in-retrospect-and-a-happy-new-year-from-the-libcloud-team.html
         </loc>
-        <lastmod>2013-12-28T00:00:00+01:00</lastmod>
+        <lastmod>2013-12-28T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2013/12/29/new-low-volume-announce-mailing-list.html
         </loc>
-        <lastmod>2013-12-29T00:00:00+01:00</lastmod>
+        <lastmod>2013-12-29T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2013/12/31/libcloud-0-13-3-released.html</loc>
-        <lastmod>2013-12-31T00:00:00+01:00</lastmod>
+        <lastmod>2013-12-31T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2014/01/01/quick-update-about-0-13-3-release-and-digitalocean-vulnerability.html
         </loc>
-        <lastmod>2014-01-01T00:00:00+01:00</lastmod>
+        <lastmod>2014-01-01T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/01/22/libcloud-0-14-0-released.html</loc>
-        <lastmod>2014-01-22T00:00:00+01:00</lastmod>
+        <lastmod>2014-01-22T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/01/23/welcome-to-the-new-website.html</loc>
-        <lastmod>2014-01-23T00:00:00+01:00</lastmod>
+        <lastmod>2014-01-23T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2014/01/27/libcloud-0-14-and-the-new-exoscale-driver.html
         </loc>
-        <lastmod>2014-01-27T00:00:00+01:00</lastmod>
+        <lastmod>2014-01-27T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/02/04/libcloud-0-14-and-rackspace.html</loc>
-        <lastmod>2014-02-04T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-04T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2014/02/07/new-committer-alex-gaynor-joins-our-team.html
         </loc>
-        <lastmod>2014-02-07T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-07T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/02/08/libcloud-0-14-1-released.html</loc>
-        <lastmod>2014-02-08T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-08T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/02/11/libcloud-0-14-1-and-cloudsigma.html</loc>
-        <lastmod>2014-02-11T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-11T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2014/02/14/call-for-participation-in-gsoc-2014.html
         </loc>
-        <lastmod>2014-02-14T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-14T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2014/02/17/sebastien-goasguen-joins-our-team.html
         </loc>
-        <lastmod>2014-02-17T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-17T00:00:00+11:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2014/02/18/libcloud-0-14-and-google-cloud-platform.html
         </loc>
-        <lastmod>2014-02-18T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-18T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/02/21/libcloud-0-14-and-ikoula.html</loc>
-        <lastmod>2014-02-21T00:00:00+01:00</lastmod>
+        <lastmod>2014-02-21T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/04/15/libcloud-at-apachecon.html</loc>
-        <lastmod>2014-04-15T00:00:00+02:00</lastmod>
+        <lastmod>2014-04-15T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/05/13/libcloud-accepted-in-gsoc-2014.html</loc>
-        <lastmod>2014-05-13T00:00:00+02:00</lastmod>
+        <lastmod>2014-05-13T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/06/26/libcloud-0-15-0-released.html</loc>
-        <lastmod>2014-06-26T00:00:00+02:00</lastmod>
+        <lastmod>2014-06-26T00:00:00+10:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2014/07/07/libcloud-5th-birthday-celebration-during-europython-week-in-berlin.html
         </loc>
-        <lastmod>2014-07-07T00:00:00+02:00</lastmod>
+        <lastmod>2014-07-07T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/07/10/libcloud-0-15-1-released.html</loc>
-        <lastmod>2014-07-10T00:00:00+02:00</lastmod>
+        <lastmod>2014-07-10T00:00:00+10:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/11/12/libcloud-0-16-0-released.html</loc>
-        <lastmod>2014-11-12T00:00:00+01:00</lastmod>
+        <lastmod>2014-11-12T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2014/12/04/eric-johnson-joins-our-team.html</loc>
-        <lastmod>2014-12-04T00:00:00+01:00</lastmod>
+        <lastmod>2014-12-04T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2015/02/18/libcloud-0-17-0-released.html</loc>
-        <lastmod>2015-02-18T00:00:00+01:00</lastmod>
+        <lastmod>2015-02-18T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2015/03/17/allard-hoeve-joins-our-team.html</loc>
-        <lastmod>2015-03-17T00:00:00+01:00</lastmod>
+        <lastmod>2015-03-17T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2015/08/13/libcloud-0-18-0-released.html</loc>
-        <lastmod>2015-08-13T00:00:00+02:00</lastmod>
+        <lastmod>2015-08-13T00:00:00+10:00</lastmod>
     </url>
     <url>
         <loc>
             
https://libcloud.apache.org/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html
         </loc>
-        <lastmod>2015-10-05T00:00:00+02:00</lastmod>
+        <lastmod>2015-10-05T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2015/10/30/libcloud-0-19-0-released.html</loc>
-        <lastmod>2015-10-30T00:00:00+01:00</lastmod>
+        <lastmod>2015-10-30T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2015/11/18/anthony-shaw-joins-our-team.html</loc>
-        <lastmod>2015-11-18T00:00:00+01:00</lastmod>
+        <lastmod>2015-11-18T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2015/12/15/libcloud-0-20-0-released.html</loc>
-        <lastmod>2015-12-15T00:00:00+01:00</lastmod>
+        <lastmod>2015-12-15T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2016/01/14/notice-for-linode-users.html</loc>
-        <lastmod>2016-01-14T00:00:00+01:00</lastmod>
+        <lastmod>2016-01-14T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2016/01/19/libcloud-0-20-1-released.html</loc>
-        <lastmod>2016-01-19T00:00:00+01:00</lastmod>
+        <lastmod>2016-01-19T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2016/01/20/libcloud-1.0-pre1.html</loc>
-        <lastmod>2016-01-20T00:00:00+01:00</lastmod>
+        <lastmod>2016-01-20T00:00:00+11:00</lastmod>
     </url>
     <url>
         
<loc>https://libcloud.apache.org/blog/2016/01/26/libcloud-1-0-0-pre1-released.html</loc>
-        <lastmod>2016-01-26T00:00:00+01:00</lastmod>
+        <lastmod>2016-01-26T00:00:00+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/downloads.html</loc>
-        <lastmod>2016-02-04T12:11:48+01:00</lastmod>
+        
<loc>https://libcloud.apache.org/blog/2016/02/05/libcloud-containers-example.html</loc>
+        <lastmod>2016-02-05T00:00:00+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/gsoc.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/about.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/gsoc-2012.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/whois-using.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/blog/blog/</loc>
-        <lastmod>2016-02-04T12:11:48+01:00</lastmod>
+        <loc>https://libcloud.apache.org/community.html</loc>
+        <lastmod>2016-01-20T14:34:36+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/credits.html</loc>
-        <lastmod>2015-11-17T23:32:21+01:00</lastmod>
+        <loc>https://libcloud.apache.org/media.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/</loc>
-        <lastmod>2016-02-04T12:14:42+01:00</lastmod>
+        <loc>https://libcloud.apache.org/community-resources.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/gsoc-2014.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/downloads.html</loc>
+        <lastmod>2016-02-05T12:51:52+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/community-resources.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/gsoc-2012.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
+    </url>
+    <url>
+        <loc>https://libcloud.apache.org/</loc>
+        <lastmod>2016-02-05T14:01:27+11:00</lastmod>
     </url>
     <url>
         <loc>https://libcloud.apache.org/getting-started.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/media.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/gsoc.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/community.html</loc>
-        <lastmod>2016-02-04T12:11:49+01:00</lastmod>
+        <loc>https://libcloud.apache.org/credits.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/whois-using.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/gsoc-2014.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/security.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/blog/blog/</loc>
+        <lastmod>2016-02-05T14:01:27+11:00</lastmod>
     </url>
     <url>
-        <loc>https://libcloud.apache.org/about.html</loc>
-        <lastmod>2015-08-13T20:56:59+02:00</lastmod>
+        <loc>https://libcloud.apache.org/security.html</loc>
+        <lastmod>2015-12-16T13:21:49+11:00</lastmod>
     </url>
 </urlset>
\ No newline at end of file

Modified: libcloud/site/trunk/generated/whois-using.html
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/generated/whois-using.html?rev=1728588&r1=1728587&r2=1728588&view=diff
==============================================================================
--- libcloud/site/trunk/generated/whois-using.html (original)
+++ libcloud/site/trunk/generated/whois-using.html Fri Feb  5 03:08:11 2016
@@ -51,7 +51,7 @@
 
     
 
-    <link href='/assets/global-e2026f958a032fcde1c942cd7456dd99.css' 
rel='stylesheet' type='text/css' />
+    <link href='/assets/global-52715da7c55e2d86c5b5bfc2a8e7c73e.css' 
rel='stylesheet' type='text/css' />
 
   </head>
 
@@ -282,7 +282,7 @@ please <a href="https://libcloud.readthe
     </div><!-- /.container -->
 
     <!-- JavaScript -->
-    <script src='/assets/global-cd627f201dd4cfb6b045cf9d3aa874a1.js' 
type='text/javascript'></script>
+    <script src='/assets/global-9c9298ad4670c6fcb2e40b5291d6c657.js' 
type='text/javascript'></script>
 
 
     

Added: 
libcloud/site/trunk/source/_posts/2016-02-05-libcloud-containers-example.md
URL: 
http://svn.apache.org/viewvc/libcloud/site/trunk/source/_posts/2016-02-05-libcloud-containers-example.md?rev=1728588&view=auto
==============================================================================
--- libcloud/site/trunk/source/_posts/2016-02-05-libcloud-containers-example.md 
(added)
+++ libcloud/site/trunk/source/_posts/2016-02-05-libcloud-containers-example.md 
Fri Feb  5 03:08:11 2016
@@ -0,0 +1,178 @@
+---
+layout: post
+title: Using the container abstraction API in 1.0.0-pre1
+author: Anthony Shaw
+tags:
+  - news
+  - containers
+  - tutorial
+---
+
+## Background
+
+Containers are the talk of the town, you can't escape an event or meetup 
without someone talking about containers. The lessons we
+learnt with compute abstraction are applying widely with containers in 2016. 
APIs are not consistent between clouds, designs are not
+standardised and yet, users are trying to consume multiple services.
+
+We introduced Container-as-a-Service support in [1.0.0-pre1][1], a community 
pre-release with the intention of sparking feedback from 
+the open-source community about the design and the implementation of 4 example 
drivers :  
+
+* Docker
+* Joyent Triton
+* Amazon EC2 Container Service
+* Google Kubernetes
+
+
+## Getting Started with 1.0.0-pre1
+
+First off, let's install the new packages, you probably want to do this within 
a virtualenv if you're using Apache Libcloud for other projects. 
+
+So run these commands at a Linux Shell to create a virtualenv called 
'containers' and install the pre-release packages into that environment.
+
+```bash
+   virtualenv containers
+   cd containers
+   source bin/activate
+   pip install apache-libcloud==1.0.0-pre1
+```
+
+Now you can start using this package with a test script, let's create one 
called containers.py
+
+```bash
+   touch containers.py
+```
+
+Using your favourite text editor, update that file to import the 1.0.0-pre1 
libraries and the factory methods for instantiating containers.
+
+```python
+   from libcloud.container.providers import get_driver
+   from libcloud.container.types import Provider
+```
+
+`get_driver` is a factory method as with all libcloud APIs, you call this 
method with the `Provider` that you want to instantiate. Our options are:
+
+* `Provider.DOCKER` - Standalone Docker API
+* `Provider.KUBERNETES` - Kubernetes Cluster endpoint
+* `Provider.JOYENT` - Joyent Triton Public API
+* `Provider.ECS` - Amazon EC2 Container Service
+
+Calling `get_driver` will return a reference to the driver class that you 
requested. You can then instantiate that class into an object using the 
+contructor. This is always a set of parameters for setting the host or region, 
the authentication and any other options.
+
+```python
+   driver = get_driver(Provider.DOCKER)
+```
+
+Now we can call our driver and get an instance of it called `docker_driver` 
and use that to deploy a container. For Docker you need the pem files on the 
server,
+the host (IP or FQDN) and the port.
+
+```python
+   docker_driver = driver(host='https://198.61.239.128', port=4243,
+             key_file='key.pem', cert_file='cert.pem')
+```
+
+Docker requires that images are available in the image database before they 
can be deployed as containers. With Kubernetes and Amazon ECS this step is not 
required
+as when you deploy a container it carries out that download for you. 
+
+```python
+   image = driver.install_image('tomcat:8.0')
+```
+
+Now that Docker has the version 8.0 image of Apache Tomcat, you can deploy 
this as a container called `my_tomcat_container`. Tomcat runs on TCP/8080 by 
default so we 
+want to bind that port for our container using an optional parameter 
`port_bindings`
+
+```python
+   bindings = { "22/tcp": [{ "HostPort": "11022" }] }
+   container = driver.deploy_container('my_tomcat_container', image, 
port_bindings=bindings)
+```
+
+This will have deployed the container and started it up for you, you can 
disable the automatic startup by using `start=False` as a keyword argument. You 
can now call upon this container and 
+run methods, `restart`, `start`, `stop` and `destroy`.
+
+For example, to blow away that test container: 
+
+```python
+   container.destroy()
+```
+
+## Crossing the streams; calling Kubernetes and Amazon EC2 Container Service
+
+With Docker we saw that we needed to "pull" the image before we deployed it. 
Kubernetes and Amazon ECS don't have that requirement, but as a safeguard you 
can query the Docker Hub API using a 
+utility class provided
+
+```python
+   from libcloud.container.utils.docker import HubClient
+   hub = HubClient()
+   image = hub.get_image('tomcat', '8.0')
+```
+
+Now `image` can be used to deploy to any driver instance that you create. 
Let's try that against Kubernetes and ECS.
+
+### Amazon ECS
+
+Before you run this example, you will need an API key and the permissions for 
that key to have the `AmazonEC2ContainerServiceFullAccess` role. 
`ap-southeast-2` is my nearest region, but you can 
+swap this out for any of the Amazon public regions that have the ECS service 
available. 
+
+```python
+   e_cls = get_driver(Provider.ECS)
+   ecs = e_cls(access_id='SDHFISJDIFJSIDFJ',
+               secret='THIS_IS)+_MY_SECRET_KEY+I6TVkv68o4H',
+               region='ap-southeast-2')
+```
+
+ECS and Kubernetes both support some form of grouping or clustering for your 
containers. This is available as `create_cluster`, `list_cluster`.
+
+```python
+   cluster = ecs.create_cluster('default')
+   container = ecs.deploy_container(
+            cluster=cluster,
+            name='hello-world',
+            image=image,
+           start=False,
+           ex_container_port=8080, ex_host_port=8080)
+```
+
+This will have deployed a task definition in Amazon ECS with a single 
container inside, with a cluster called 'main' and deployed the tomcat:8.0 
image from the Docker hub to that region. 
+
+Check out the [ECS Documentation][2] for more details.
+
+### Kubernetes
+
+Kubernetes authentication is currently only implemented for None (off) and 
Basic HTTP authentication. Let's use the [basic HTTP authentication method][4] 
to connect.
+
+```python
+
+k_cls = get_driver(Provider.KUBERNETES)
+
+kubernetes = k_cls(key='my_username',
+                   secret='THIS_IS)+_MY_SECRET_KEY+I6TVkv68o4H',
+                   host='126.32.21.4')
+cluster2 = kubernetes.create_cluster('default')
+container2 = kubernetes.deploy_container(
+            cluster=cluster,
+            name='hello-world',
+            image=image,
+           start=False)
+```
+
+## Wrapping it up
+
+Now, let's wrap that all up by doing a list comprehension across the 3 drivers 
to get a list of all containers and print their ID's and Names. Then delete 
them.
+
+```python
+containers = [conn.list_containers() for conn in [docker, ecs, kubernetes]]
+for container in containers:
+    print("%s : %s" % (container.id, container.name))
+    container.destroy()
+
+```
+
+### About the Author
+
+Anthony Shaw is on the PMC for Apache Libcloud, you can follow Anthony on 
Twitter at [@anthonypjshaw](https://twitter.com/anthonypjshaw).
+
+
+[1]: 
http://libcloud.apache.org/blog/2016/01/26/libcloud-1-0-0-pre1-released.html
+[2]: http://libcloud.readthedocs.org/en/latest/container/drivers/ecs.html
+[3]: 
http://libcloud.readthedocs.org/en/latest/container/drivers/kubernetes.html
+[4]: http://kubernetes.io/v1.1/docs/admin/authentication.html


Reply via email to