Files
nova/doc/build/html/quickstart.html
2010-11-17 15:54:19 -06:00

272 lines
12 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nova Quickstart &mdash; nova v2010.1 documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/tweaks.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '2010.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/jquery.tweet.js"></script>
<link rel="top" title="nova v2010.1 documentation" href="index.html" />
<link rel="next" title="Developer Guide" href="devref/index.html" />
<link rel="prev" title="Installing Nova on Multiple Servers" href="adminguide/multi.node.install.html" />
<script type='text/javascript'>
$(document).ready(function(){
$("#twitter_feed").tweet({
username: "openstack",
query: "from:openstack",
avatar_size: 32,
count: 10,
loading_text: "loading tweets..."
});
});
</script>
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="devref/index.html" title="Developer Guide"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="adminguide/multi.node.install.html" title="Installing Nova on Multiple Servers"
accesskey="P">previous</a> |</li>
<li><a href="index.html">nova v2010.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Nova Quickstart</a><ul>
<li><a class="reference internal" href="#recommended-system-configuration">Recommended System Configuration</a></li>
<li><a class="reference internal" href="#getting-the-code">Getting the Code</a></li>
<li><a class="reference internal" href="#environment-variables">Environment Variables</a><ul>
<li><a class="reference internal" href="#test">TEST</a></li>
<li><a class="reference internal" href="#use-mysql">USE_MYSQL</a></li>
<li><a class="reference internal" href="#mysql-pass">MYSQL_PASS</a></li>
<li><a class="reference internal" href="#use-ldap">USE_LDAP</a></li>
<li><a class="reference internal" href="#libvirt-type">LIBVIRT_TYPE</a></li>
</ul>
</li>
<li><a class="reference internal" href="#usage">Usage</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="adminguide/multi.node.install.html"
title="previous chapter">Installing Nova on Multiple Servers</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="devref/index.html"
title="next chapter">Developer Guide</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/quickstart.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="nova-quickstart">
<h1>Nova Quickstart<a class="headerlink" href="#nova-quickstart" title="Permalink to this headline"></a></h1>
<div class="admonition-todo admonition " id="index-0">
<p class="first admonition-title">Todo</p>
<p>P1 (this is one example of how to use priority syntax)
* Document the assumptions about pluggable interfaces (sqlite3 instead of</p>
<blockquote>
mysql, etc) (todd)</blockquote>
<ul class="last simple">
<li>Document env vars that can change things (USE_MYSQL, HOST_IP) (todd)</li>
</ul>
</div>
<div class="section" id="recommended-system-configuration">
<h2>Recommended System Configuration<a class="headerlink" href="#recommended-system-configuration" title="Permalink to this headline"></a></h2>
<p>Although Nova can be run on a variety of system architectures, for most users the following will be simplest:</p>
<ul class="simple">
<li>Ubuntu Lucid</li>
<li>10GB Hard Disk Space</li>
<li>512MB RAM</li>
</ul>
<p>For development, Nova can run from within a VM.</p>
</div>
<div class="section" id="getting-the-code">
<h2>Getting the Code<a class="headerlink" href="#getting-the-code" title="Permalink to this headline"></a></h2>
<p>Nova is hosted on launchpad. You can get the code with the following command</p>
<div class="highlight-python"><pre>bzr clone lp:nova</pre>
</div>
<p>The <cite>contrib/nova.sh</cite> file in the source distribution is a script that
will quickly set up nova to run on a single machine. It is tested against
Ubuntu only, but other distributions are forthcoming.</p>
</div>
<div class="section" id="environment-variables">
<h2>Environment Variables<a class="headerlink" href="#environment-variables" title="Permalink to this headline"></a></h2>
<p>By tweaking the environment that nova.sh run in, you can build slightly
different configurations (though for more complex setups you should see
<a class="reference internal" href="adminguide/getting.started.html"><em>Getting Started with Nova</em></a> and <a class="reference internal" href="adminguide/multi.node.install.html"><em>Installing Nova on Multiple Servers</em></a>).</p>
<ul>
<li><dl class="first docutils">
<dt>HOST_IP</dt>
<dd><ul class="first last simple">
<li>Default: address of first interface from the ifconfig command</li>
<li>Values: 127.0.0.1, or any other valid address</li>
</ul>
</dd>
</dl>
</li>
</ul>
<div class="section" id="test">
<h3>TEST<a class="headerlink" href="#test" title="Permalink to this headline"></a></h3>
<p><strong>Default</strong>: 0
<strong>Values</strong>: 1, run tests after checkout and initial setup</p>
</div>
<div class="section" id="use-mysql">
<h3>USE_MYSQL<a class="headerlink" href="#use-mysql" title="Permalink to this headline"></a></h3>
<p><strong>Default</strong>: 0, use sqlite3
<strong>Values</strong>: 1, use mysql instead of sqlite3</p>
</div>
<div class="section" id="mysql-pass">
<h3>MYSQL_PASS<a class="headerlink" href="#mysql-pass" title="Permalink to this headline"></a></h3>
<p>Only useful if $USE_MYSQL=1.</p>
<p><strong>Default</strong>: nova
<strong>Values</strong>: value of root password for mysql</p>
</div>
<div class="section" id="use-ldap">
<h3>USE_LDAP<a class="headerlink" href="#use-ldap" title="Permalink to this headline"></a></h3>
<p><strong>Default</strong>: 0, use <tt class="xref py py-mod docutils literal"><span class="pre">nova.auth.dbdriver</span></tt>
<strong>Values</strong>: 1, use <tt class="xref py py-mod docutils literal"><span class="pre">nova.auth.ldapdriver</span></tt></p>
</div>
<div class="section" id="libvirt-type">
<h3>LIBVIRT_TYPE<a class="headerlink" href="#libvirt-type" title="Permalink to this headline"></a></h3>
<p><strong>Default</strong>: qemu
<strong>Values</strong>: uml, kvm</p>
</div>
</div>
<div class="section" id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline"></a></h2>
<p>Unless you want to spend a lot of time fiddling with permissions and sudoers,
you should probably run nova as root.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">sudo</span> <span class="o">-</span><span class="n">i</span>
</pre></div>
</div>
<p>If you are concerned about security, nova runs just fine inside a virtual
machine.</p>
<p>Use the script to install and run the current trunk. You can also specify a
specific branch by putting <cite>lp:~someone/nova/some-branch</cite> after the branch
command</p>
<div class="highlight-python"><pre>./nova.sh branch
./nova.sh install
./nova.sh run</pre>
</div>
<p>The run command will drop you into a screen session with all of the workers
running in different windows You can use eucatools to run commands against the
cloud.</p>
<div class="highlight-python"><pre>euca-add-keypair test &gt; test.pem
euca-run-instances -k test -t m1.tiny ami-tiny
euca-describe-instances</pre>
</div>
<p>To see output from the various workers, switch screen windows</p>
<div class="highlight-python"><pre>&lt;ctrl-a&gt; "</pre>
</div>
<p>will give you a list of running windows.</p>
<p>When the instance is running, you should be able to ssh to it.</p>
<div class="highlight-python"><pre>chmod 600 test.pem
ssh -i test.pem root@10.0.0.3</pre>
</div>
<p>When you exit screen</p>
<div class="highlight-python"><pre>&lt;ctrl-a&gt; &lt;ctrl-d&gt;</pre>
</div>
<p>nova will terminate. It may take a while for nova to finish cleaning up. If
you exit the process before it is done because there were some problems in your
build, you may have to clean up the nova processes manually. If you had any
instances running, you can attempt to kill them through the api:</p>
<div class="highlight-python"><pre>./nova.sh terminate</pre>
</div>
<p>Then you can destroy the screen:</p>
<div class="highlight-python"><pre>./nova.sh clean</pre>
</div>
<p>If things get particularly messed up, you might need to do some more intense
cleanup. Be careful, the following command will manually destroy all runnning
virsh instances and attempt to delete all vlans and bridges.</p>
<div class="highlight-python"><pre>./nova.sh scrub</pre>
</div>
<p>You can edit files in the install directory or do a bzr pull to pick up new versions. You only need to do</p>
<div class="highlight-python"><pre>./nova.sh run</pre>
</div>
<p>to run nova after the first install. The database should be cleaned up on each run.</p>
</div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="devref/index.html" title="Developer Guide"
>next</a> |</li>
<li class="right" >
<a href="adminguide/multi.node.install.html" title="Installing Nova on Multiple Servers"
>previous</a> |</li>
<li><a href="index.html">nova v2010.1 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2010, United States Government as represented by the Administrator of the National Aeronautics and Space Administration..
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.4.
</div>
</body>
</html>