You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by bu...@apache.org on 2011/03/27 07:00:00 UTC

svn commit: r787599 - /websites/staging/libcloud/trunk/content/libcloud/getting-started.html

Author: buildbot
Date: Sun Mar 27 05:00:00 2011
New Revision: 787599

Log:
Staging update by buildbot

Modified:
    websites/staging/libcloud/trunk/content/libcloud/getting-started.html

Modified: websites/staging/libcloud/trunk/content/libcloud/getting-started.html
==============================================================================
--- websites/staging/libcloud/trunk/content/libcloud/getting-started.html (original)
+++ websites/staging/libcloud/trunk/content/libcloud/getting-started.html Sun Mar 27 05:00:00 2011
@@ -60,8 +60,7 @@
     <div id="main" class="span-16 last">
       
       <h2 id="installation">Installation</h2>
-<p>s
-libcloud's current release is <strong>0.4.2</strong>, and can be <a href="downloads.html">downloaded</a>, but it is also <a href="http://pypi.python.org/pypi/apache-libcloud">available on PyPi</a></p>
+<p>libcloud's current release is <strong>0.4.2</strong>, and can be <a href="downloads.html">downloaded</a>, but it is also <a href="http://pypi.python.org/pypi/apache-libcloud">available on PyPi</a></p>
 <div class="codehilite"><pre>pip apache-libcloud
 </pre></div>
 
@@ -93,79 +92,79 @@ libcloud's current release is <strong>0.
 <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">RACKSPACE</span><span class="p">)</span>
 <span class="n">conn</span> <span class="o">=</span> <span class="n">Driver</span><span class="p">(</span><span class="n">RACKSPACE_USER</span><span class="p">,</span> <span class="n">RACKSPACE_KEY</span><span class="p">)</span>
 
-<span class="c"># retrieve available images and sizes </span>
-<span class="n">images</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">list_images</span><span class="p">()</span> 
-<span class="c"># [&lt;NodeImage: id=3, name=Gentoo 2008.0, driver=Rackspace  ...&gt;, ...] </span>
-<span class="n">sizes</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">list_sizes</span><span class="p">()</span> 
+<span class="c"># retrieve available images and sizes</span>
+<span class="n">images</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">list_images</span><span class="p">()</span>
+<span class="c"># [&lt;NodeImage: id=3, name=Gentoo 2008.0, driver=Rackspace  ...&gt;, ...]</span>
+<span class="n">sizes</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">list_sizes</span><span class="p">()</span>
 <span class="c"># [&lt;NodeSize: id=1, name=256 server, ram=256 ... driver=Rackspace ...&gt;, ...]</span>
 
-<span class="c"># create node with first image and first size </span>
-<span class="n">node</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">create_node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s">&#39;test&#39;</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="n">images</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">size</span><span class="o">=</span><span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> 
+<span class="c"># create node with first image and first size</span>
+<span class="n">node</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">create_node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s">&#39;test&#39;</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="n">images</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">size</span><span class="o">=</span><span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
 <span class="c"># &lt;Node: uuid=..., name=test, state=3, public_ip=[&#39;1.1.1.1&#39;], provider=Rackspace ...&gt;</span>
 </pre></div>
 
 
 <h2 id="example_list_nodes_across_multiple_providers">Example: List Nodes Across Multiple Providers</h2>
 <p>The following example will list servers across Amazon EC2, Slicehost, and Rackspace Cloud Servers using the same API call. The servers will be represented in a standard Node object.</p>
-<div class="codehilite"><pre><span class="kn">from</span> <span class="nn">libcloud.types</span> <span class="kn">import</span> <span class="n">Provider</span> 
+<div class="codehilite"><pre><span class="kn">from</span> <span class="nn">libcloud.types</span> <span class="kn">import</span> <span class="n">Provider</span>
 <span class="kn">from</span> <span class="nn">libcloud.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
 
-<span class="n">EC2_ACCESS_ID</span>    <span class="o">=</span> <span class="s">&#39;your access id&#39;</span> 
-<span class="n">EC2_SECRET_KEY</span>    <span class="o">=</span> <span class="s">&#39;your secret key&#39;</span> 
-<span class="n">SLICEHOST_API_KEY</span> <span class="o">=</span> <span class="s">&#39;your api key&#39;</span> 
-<span class="n">RACKSPACE_USER</span>    <span class="o">=</span> <span class="s">&#39;your username&#39;</span> 
+<span class="n">EC2_ACCESS_ID</span>    <span class="o">=</span> <span class="s">&#39;your access id&#39;</span>
+<span class="n">EC2_SECRET_KEY</span>    <span class="o">=</span> <span class="s">&#39;your secret key&#39;</span>
+<span class="n">SLICEHOST_API_KEY</span> <span class="o">=</span> <span class="s">&#39;your api key&#39;</span>
+<span class="n">RACKSPACE_USER</span>    <span class="o">=</span> <span class="s">&#39;your username&#39;</span>
 <span class="n">RACKSPACE_KEY</span>    <span class="o">=</span> <span class="s">&#39;your key&#39;</span>
 
-<span class="n">EC2Driver</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">EC2</span><span class="p">)</span> 
-<span class="n">SlicehostDriver</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">SLICEHOST</span><span class="p">)</span> 
+<span class="n">EC2Driver</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">EC2</span><span class="p">)</span>
+<span class="n">SlicehostDriver</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">SLICEHOST</span><span class="p">)</span>
 <span class="n">RackspaceDriver</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">RACKSPACE</span><span class="p">)</span>
 
-<span class="n">drivers</span> <span class="o">=</span> <span class="p">[</span> <span class="n">EC2Driver</span><span class="p">(</span><span class="n">EC2_ACCESS_ID</span><span class="p">,</span> <span class="n">EC2_SECRET_KEY</span><span class="p">),</span> 
-        <span class="n">SlicehostDriver</span><span class="p">(</span><span class="n">SLICEHOST_API_KEY</span><span class="p">),</span> 
+<span class="n">drivers</span> <span class="o">=</span> <span class="p">[</span> <span class="n">EC2Driver</span><span class="p">(</span><span class="n">EC2_ACCESS_ID</span><span class="p">,</span> <span class="n">EC2_SECRET_KEY</span><span class="p">),</span>
+        <span class="n">SlicehostDriver</span><span class="p">(</span><span class="n">SLICEHOST_API_KEY</span><span class="p">),</span>
         <span class="n">RackspaceDriver</span><span class="p">(</span><span class="n">RACKSPACE_USER</span><span class="p">,</span> <span class="n">RACKSPACE_KEY</span><span class="p">)</span> <span class="p">]</span>
 
-<span class="n">nodes</span> <span class="o">=</span> <span class="p">[]</span> 
-<span class="k">for</span> <span class="n">driver</span> <span class="ow">in</span> <span class="n">drivers</span><span class="p">:</span> 
-    <span class="n">nodes</span> <span class="o">+=</span> <span class="n">driver</span><span class="o">.</span><span class="n">list_nodes</span><span class="p">()</span> 
-<span class="k">print</span> <span class="n">nodes</span> 
-<span class="c"># [ &lt;Node: provider=Amazon, status=RUNNING, name=bob, ip=1.2.3.4.5&gt;, </span>
+<span class="n">nodes</span> <span class="o">=</span> <span class="p">[]</span>
+<span class="k">for</span> <span class="n">driver</span> <span class="ow">in</span> <span class="n">drivers</span><span class="p">:</span>
+    <span class="n">nodes</span> <span class="o">+=</span> <span class="n">driver</span><span class="o">.</span><span class="n">list_nodes</span><span class="p">()</span>
+<span class="k">print</span> <span class="n">nodes</span>
+<span class="c"># [ &lt;Node: provider=Amazon, status=RUNNING, name=bob, ip=1.2.3.4.5&gt;,</span>
 <span class="c">#   &lt;Node: provider=Slicehost, status=REBOOT, name=korine, ip=6.7.8.9&gt;, ... ]</span>
 
-<span class="c"># Reboot all nodes named &#39;test&#39; </span>
+<span class="c"># Reboot all nodes named &#39;test&#39;</span>
 <span class="p">[</span><span class="n">node</span><span class="o">.</span><span class="n">reboot</span><span class="p">()</span> <span class="k">for</span> <span class="n">node</span> <span class="ow">in</span> <span class="n">nodes</span> <span class="k">if</span> <span class="n">node</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s">&#39;test&#39;</span><span class="p">]</span>
 </pre></div>
 
 
 <h2 id="example_bootstrapping_puppet_on_a_node">Example: Bootstrapping Puppet on a Node</h2>
 <p>Just creating a node isn't that helpful because each cloud gives you
-back nodes in different states. The deploy_node API lets 
-you do more complex actions in cross-cloud portable manner. It works by 
-calling create_node, and then SSHing into the node to run a script 
+back nodes in different states. The deploy_node API lets
+you do more complex actions in cross-cloud portable manner. It works by
+calling create_node, and then SSHing into the node to run a script
 or install an SSH Key.</p>
-<div class="codehilite"><pre><span class="kn">from</span> <span class="nn">libcloud.types</span> <span class="kn">import</span> <span class="n">Provider</span> 
-<span class="kn">from</span> <span class="nn">libcloud.providers</span> <span class="kn">import</span> <span class="n">get_driver</span> 
-<span class="kn">from</span> <span class="nn">libcloud.deployment</span> <span class="kn">import</span> <span class="n">MultiStepDeployment</span><span class="p">,</span> <span class="n">ScriptDeployment</span><span class="p">,</span> <span class="n">SSHKeyDeployment</span> 
+<div class="codehilite"><pre><span class="kn">from</span> <span class="nn">libcloud.types</span> <span class="kn">import</span> <span class="n">Provider</span>
+<span class="kn">from</span> <span class="nn">libcloud.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
+<span class="kn">from</span> <span class="nn">libcloud.deployment</span> <span class="kn">import</span> <span class="n">MultiStepDeployment</span><span class="p">,</span> <span class="n">ScriptDeployment</span><span class="p">,</span> <span class="n">SSHKeyDeployment</span>
 <span class="kn">import</span> <span class="nn">os</span>
 
-<span class="n">RACKSPACE_USER</span> <span class="o">=</span> <span class="s">&#39;your username&#39;</span> 
+<span class="n">RACKSPACE_USER</span> <span class="o">=</span> <span class="s">&#39;your username&#39;</span>
 <span class="n">RACKSPACE_KEY</span> <span class="o">=</span> <span class="s">&#39;your key&#39;</span>
 
-<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">RACKSPACE</span><span class="p">)</span> 
+<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">RACKSPACE</span><span class="p">)</span>
 <span class="n">conn</span> <span class="o">=</span> <span class="n">Driver</span><span class="p">(</span><span class="n">RACKSPACE_USER</span><span class="p">,</span> <span class="n">RACKSPACE_KEY</span><span class="p">)</span>
 
-<span class="c"># read your public key in </span>
-<span class="n">sd</span> <span class="o">=</span> <span class="n">SSHKeyDeployment</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s">&quot;~/.ssh/id_dsa.pub&quot;</span><span class="p">))</span><span class="o">.</span><span class="n">read</span><span class="p">())</span> 
-<span class="c"># a simple script to install puppet post boot, can be much more complicated. </span>
-<span class="n">script</span> <span class="o">=</span> <span class="n">ScriptDeployment</span><span class="p">(</span><span class="s">&quot;apt-get install puppet&quot;</span><span class="p">)</span> 
-<span class="c"># a task that first installs the ssh key, and then runs the script </span>
+<span class="c"># read your public key in</span>
+<span class="n">sd</span> <span class="o">=</span> <span class="n">SSHKeyDeployment</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s">&quot;~/.ssh/id_dsa.pub&quot;</span><span class="p">))</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
+<span class="c"># a simple script to install puppet post boot, can be much more complicated.</span>
+<span class="n">script</span> <span class="o">=</span> <span class="n">ScriptDeployment</span><span class="p">(</span><span class="s">&quot;apt-get install puppet&quot;</span><span class="p">)</span>
+<span class="c"># a task that first installs the ssh key, and then runs the script</span>
 <span class="n">msd</span> <span class="o">=</span> <span class="n">MultiStepDeployment</span><span class="p">([</span><span class="n">sd</span><span class="p">,</span> <span class="n">script</span><span class="p">])</span>
 
-<span class="n">images</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">list_images</span><span class="p">()</span> 
+<span class="n">images</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">list_images</span><span class="p">()</span>
 <span class="n">sizes</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">list_sizes</span><span class="p">()</span>
 
-<span class="c"># deploy_node takes the same base keyword arguments as create_node. </span>
-<span class="n">node</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">deploy_node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s">&#39;test&#39;</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="n">images</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">size</span><span class="o">=</span><span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">deploy</span><span class="o">=</span><span class="n">msd</span><span class="p">)</span> 
-<span class="c"># &lt;Node: uuid=..., name=test, state=3, public_ip=[&#39;1.1.1.1&#39;], provider=Rackspace ...&gt; </span>
+<span class="c"># deploy_node takes the same base keyword arguments as create_node.</span>
+<span class="n">node</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">deploy_node</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s">&#39;test&#39;</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="n">images</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">size</span><span class="o">=</span><span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">deploy</span><span class="o">=</span><span class="n">msd</span><span class="p">)</span>
+<span class="c"># &lt;Node: uuid=..., name=test, state=3, public_ip=[&#39;1.1.1.1&#39;], provider=Rackspace ...&gt;</span>
 <span class="c"># the node is now booted, with your ssh key and puppet installed.</span>
 </pre></div>