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/11/01 03:47:22 UTC
svn commit: r797827 -
/websites/staging/libcloud/trunk/content/docs/compute-deployment.html
Author: buildbot
Date: Tue Nov 1 02:47:21 2011
New Revision: 797827
Log:
Staging update by buildbot
Modified:
websites/staging/libcloud/trunk/content/docs/compute-deployment.html
Modified: websites/staging/libcloud/trunk/content/docs/compute-deployment.html
==============================================================================
--- websites/staging/libcloud/trunk/content/docs/compute-deployment.html (original)
+++ websites/staging/libcloud/trunk/content/docs/compute-deployment.html Tue Nov 1 02:47:21 2011
@@ -65,7 +65,7 @@ fully started SSHing into the node and r
<p>Keep in mind that Libcloud is not a replacement for a configuration management
tool so it shouldn't be used as such.</p>
<p><em>Note: Deployment functionality depends on the <code>paramiko</code> library which can be installed using pip - <code>pip install paramiko</code>.</em></p>
-<h3 id="example_1_-_deploying_a_node_and_installing_your_ssh_key_and_puppet_on_it">Example 1 - Deploying a Node and installing your SSH key and Puppet on it</h3>
+<h3 id="example_1_-_deploying_a_rackspace_node_using_password_authentication_and_installing_your_ssh_key_and_puppet_on_it">Example 1 - Deploying a Rackspace Node using password authentication and installing your SSH key and Puppet on it</h3>
<div class="codehilite"><pre><span class="kn">from</span> <span class="nn">libcloud.compute.types</span> <span class="kn">import</span> <span class="n">Provider</span>
<span class="kn">from</span> <span class="nn">libcloud.compute.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
<span class="kn">from</span> <span class="nn">libcloud.compute.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>
@@ -94,6 +94,39 @@ tool so it shouldn't be used as such.</p
<span class="c"># <Node: uuid=..., name=test, state=3, public_ip=['1.1.1.1'], provider=Rackspace ...></span>
<span class="c"># the node is now booted, with your ssh key and puppet installed.</span>
</pre></div>
+
+
+<h3 id="example_2_-_deploying_an_ec2_node_using_ssh_key_authentication_and_installing_puppet_on_it">Example 2 - Deploying an EC2 Node using SSH key authentication and installing Puppet on it</h3>
+<div class="codehilite"><pre><span class="kn">from</span> <span class="nn">libcloud.compute.types</span> <span class="kn">import</span> <span class="n">Provider</span>
+<span class="kn">from</span> <span class="nn">libcloud.compute.providers</span> <span class="kn">import</span> <span class="n">get_driver</span>
+<span class="kn">from</span> <span class="nn">libcloud.compute.deployment</span> <span class="kn">import</span> <span class="n">ScriptDeployment</span>
+
+<span class="n">EC2_ACCESS_ID</span> <span class="o">=</span> <span class="s">'your access key'</span>
+<span class="n">EC2_SECRET</span> <span class="o">=</span> <span class="s">'your secret'</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">EC2_US_EAST</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">EC2_ACCESS_ID</span><span class="p">,</span> <span class="n">EC2_SECRET</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">"apt-get -y install puppet"</span><span class="p">)</span>
+
+<span class="c"># Ubuntu 10.04</span>
+<span class="n">image</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">list_images</span><span class="p">()</span> <span class="k">if</span> <span class="n">i</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span><span class="s">'ami-09965860'</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="p">[</span><span class="n">s</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">driver</span><span class="o">.</span><span class="n">list_sizes</span><span class="p">()</span> <span class="k">if</span> <span class="n">s</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="s">'t1.micro'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
+
+<span class="c"># Name of the SSH key which is automatically installed on the server.</span>
+<span class="c"># Key needs to be generated and named in the AWS control panel.</span>
+<span class="n">key_name</span> <span class="o">=</span> <span class="s">'my_default'</span>
+
+<span class="c"># Path to the private key created using the AWS control panel.</span>
+<span class="n">key_path</span> <span class="o">=</span> <span class="s">'/home/user/path/to/key.pem'</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">'test'</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">size</span><span class="o">=</span><span class="n">size</span><span class="p">,</span> <span class="n">deploy</span><span class="o">=</span><span class="n">script</span><span class="p">,</span>
+ <span class="n">ssh_key</span><span class="o">=</span><span class="n">key_path</span><span class="p">,</span> <span class="n">ex_keyname</span><span class="o">=</span><span class="n">key_name</span><span class="p">)</span>
+<span class="c"># <Node: uuid=..., name=test, state=3, public_ip=['1.1.1.1'], provider=EC2 ...></span>
+<span class="c"># the node is now booted, with puppet installed.</span>
+</pre></div>
</div>