devstack.org site updates

Includes:
* Change Precise to Trusty
* Add the new plugin phase
* Remove deprecated config options
* much, much more

Change-Id: I0385f18a3256ad37a611e505e49572f27b3bcc10
This commit is contained in:
Dean Troyer 2014-07-28 17:51:13 -05:00
parent c6a5126f4a
commit 1c42599a3b
8 changed files with 104 additions and 71 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -58,7 +58,7 @@
<h3>local.conf</h3>
<p>The new configuration file is <code>local.conf</code> and resides in the root DevStack directory like the old <code>localrc</code> file. It is a modified INI format file that introduces a meta-section header to carry additional information regarding the configuration files to be changed.</p>
<p>The new header is similar to a normal INI section header but with two '[[ ]]' chars and two internal fields separated by a pipe ('|'):</p>
<p>The new header is similar to a normal INI section header but with double brackets (<code>[[ ... ]]</code>) and two internal fields separated by a pipe (<code>|</code>):</p>
<pre>[[ &lt;phase&gt; | &lt;config-file-name&gt; ]]
</pre>
@ -67,6 +67,8 @@
<p>The defined phases are:</p>
<ul>
<li><strong>local</strong> - extracts <code>localrc</code> from <code>local.conf</code> before <code>stackrc</code> is sourced</li>
<li><strong>pre-install</strong> - runs after the system packages are installed but before any of the source repositories are installed</li>
<li><strong>install</strong> - runs immediately after the repo installations are complete</li>
<li><strong>post-config</strong> - runs after the layer 2 services are configured and before they are started</li>
<li><strong>extra</strong> - runs after services are started and before any files in <code>extra.d</code> are executed
</ul>
@ -96,7 +98,7 @@ LOGFILE=$DEST/logs/stack.sh.log
<pre>[[post-config|/$Q_PLUGIN_CONF_FILE]]
</pre>
<p>The existing ``EXTRAS_OPTS`` and similar variables are now deprecated. If used a warning will be printed at the end of the <code>stack.sh</code> run.</p>
<p>Also note that the <code>localrc</code> section is sourced as a shell script fragment amd <string>MUST</strong> conform to the shell requirements, specifically no whitespace around <code>=</code> (equals).</p>
<a id="minimal"></a>
<h3>Minimal Configuration</h3>
@ -205,14 +207,6 @@ ENABLED_SERVICES=n-vol,n-cpu,n-net,n-api</pre></dd>
<h3>Examples</h3>
<ul>
<li>Convert EXTRA_OPTS from (<code>localrc</code>):
<pre>EXTRA_OPTS=api_rate_limit=False
</pre>
to (<code>local.conf</code>):
<pre>[[post-config|$NOVA_CONF]]
[DEFAULT]
api_rate_limit = False
</pre></li>
<li>Eliminate a Cinder pass-through (<code>CINDER_PERIODIC_INTERVAL</code>):
<pre>[[post-config|$CINDER_CONF]]
[DEFAULT]

View File

@ -59,20 +59,21 @@
<br /><strong>HACKING.rst</strong>
<p>Like most OpenStack projects, DevStack includes a <code>HACKING.rst</code> file that describes the layout, style and conventions of the project. Because <code>HACKING.rst</code> is in the main DevStack repo it is considered authoritative. Much of the content on this page is taken from there.</p>
<br /><strong>bash8 Formatting</strong>
<p>Around the time of the OpenStack Havana release we added a tool to do style checking in DevStack similar to what pep8/flake8 do for Python projects. It is still _very_ simplistic, focusing mostly on stray whitespace to help prevent -1 on reviews that are otherwise acceptable. Oddly enough it is called <code>bash8</code>. It will be expanded to enforce some of the documentation rules in comments that are used in formatting the script pages for devstack.org and possibly even simple code formatting. Run it on the entire project with <code>./run_tests.sh</code>.</p>
<br /><strong>bashate Formatting</strong>
<p>Around the time of the OpenStack Havana release we added a tool to do style checking in DevStack similar to what pep8/flake8 do for Python projects. It is still _very_ simplistic, focusing mostly on stray whitespace to help prevent -1 on reviews that are otherwise acceptable. Oddly enough it is called <code>bashate</code>. It will be expanded to enforce some of the documentation rules in comments that are used in formatting the script pages for devstack.org and possibly even simple code formatting. Run it on the entire project with <code>./run_tests.sh</code>.</p>
<h3>Code</h3>
<br /><strong>Repo Layout</strong>
<p>The DevStack repo generally keeps all of the primary scripts at the root level.</p>
<p><code>exercises</code> - contains the test scripts used to validate and demonstrate some OpenStack functions. These scripts know how to exit early or skip services that are not enabled.</p>
<p><code>extras.d</code> - contains the dispatch scripts called by the hooks in <code>stack.sh</code>, <code>unstack.sh</code> and <code>clean.sh</code>. See <a href="plugins.html">the plugins docs</a> for more information.</p>
<p><code>files</code> - contains a variety of otherwise lost files used in configuring and operating DevStack. This includes templates for configuration files and the system dependency information. This is also where image files are downloaded and expanded if necessary.</p>
<p><code>lib</code> - contains the sub-scripts specific to each project. This is where the work of managing a project's services is located. Each top-level project (Keystone, Nova, etc) has a file here. Additionally there are some for system services and project plugins.</p>
<p><code>samples</code> - contains a sample of the local files not included in the DevStack repo.</p>
<p><code>docs</code> - Contains the source for this website. It is built using <code>tools/build_docs.sh</code>.</p>
<p><code>exercises</code> - Contains the test scripts used to validate and demonstrate some OpenStack functions. These scripts know how to exit early or skip services that are not enabled.</p>
<p><code>extras.d</code> - Contains the dispatch scripts called by the hooks in <code>stack.sh</code>, <code>unstack.sh</code> and <code>clean.sh</code>. See <a href="plugins.html">the plugins docs</a> for more information.</p>
<p><code>files</code> - Contains a variety of otherwise lost files used in configuring and operating DevStack. This includes templates for configuration files and the system dependency information. This is also where image files are downloaded and expanded if necessary.</p>
<p><code>lib</code> - Contains the sub-scripts specific to each project. This is where the work of managing a project's services is located. Each top-level project (Keystone, Nova, etc) has a file here. Additionally there are some for system services and project plugins.</p>
<p><code>samples</code> - Contains a sample of the local files not included in the DevStack repo.</p>
<p><code>tests</code> - the DevStack test suite is rather sparse, mostly consisting of test of specific fragile functions in the <code>functions</code> file.</p>
<p><code>tools</code> - contains a collection of stand-alone scripts, some of which have aged a bit (does anyone still do pamdisk installs?). While these may reference the top-level DevStack configuration they can generally be run alone. There are also some sub-directories to support specific environments such as XenServer and Docker.</p>
<p><code>tools</code> - Contains a collection of stand-alone scripts, some of which have aged a bit (does anyone still do ramdisk installs?). While these may reference the top-level DevStack configuration they can generally be run alone. There are also some sub-directories to support specific environments such as XenServer.</p>

View File

@ -54,7 +54,7 @@
</div>
<h3>Minimal Install</h3>
<p>You need to have a fresh install of Linux on all of your nodes. You can download the <a href="https://help.ubuntu.com/community/Installation/MinimalCD">Minimal CD</a> for Ubuntu 12.04 (only 27MB) since DevStack will download &amp; install all the additional dependencies. The netinstall ISO is available for <a href="http://mirrors.kernel.org/fedora/releases/20/Fedora/x86_64/iso/Fedora-20-x86_64-netinst.iso">Fedora</a> and <a href="http://mirrors.kernel.org/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-netinstall.iso">CentOS/RHEL</a>.</p>
<p>You need to have a system with a fresh install of Linux. You can download the <a href="https://help.ubuntu.com/community/Installation/MinimalCD">Minimal CD</a> for Ubuntu releases since DevStack will download &amp; install all the additional dependencies. The netinstall ISO is available for <a href="http://mirrors.kernel.org/fedora/releases/18/Fedora/x86_64/iso/Fedora-20-x86_64-netinst.iso">Fedora</a> and <a href="http://mirrors.kernel.org/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-netinstall.iso">CentOS/RHEL</a>.</p>
<p>Install a couple of packages to bootstrap configuration:</p>
<pre>apt-get install -y git sudo || yum install -y git sudo</pre>

View File

@ -53,7 +53,7 @@
</div>
<h3>Minimal Install</h3>
<p>You need to have a system with a fresh install of Linux. You can download the <a href="https://help.ubuntu.com/community/Installation/MinimalCD">Minimal CD</a> for Ubuntu 12.04 (only 27MB) since DevStack will download &amp; install all the additional dependencies. The netinstall ISO is available for <a href="http://mirrors.kernel.org/fedora/releases/18/Fedora/x86_64/iso/Fedora-18-x86_64-netinst.iso">Fedora</a> and <a href="http://mirrors.kernel.org/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-netinstall.iso">CentOS/RHEL</a>. You may be tempted to use a desktop distro on a laptop, it will probably work but you may need to tell Network Manager to keep its fingers off the interface(s) that OpenStack uses for bridging.</p>
<p>You need to have a system with a fresh install of Linux. You can download the <a href="https://help.ubuntu.com/community/Installation/MinimalCD">Minimal CD</a> for Ubuntu releases since DevStack will download &amp; install all the additional dependencies. The netinstall ISO is available for <a href="http://mirrors.kernel.org/fedora/releases/18/Fedora/x86_64/iso/Fedora-20-x86_64-netinst.iso">Fedora</a> and <a href="http://mirrors.kernel.org/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-netinstall.iso">CentOS/RHEL</a>. You may be tempted to use a desktop distro on a laptop, it will probably work but you may need to tell Network Manager to keep its fingers off the interface(s) that OpenStack uses for bridging.</p>
<h3>Network Configuration</h3>
<p>Determine the network configuration on the interface used to integrate your

View File

@ -76,7 +76,7 @@
<ol>
<li value="0">
<h3>Select a Linux Distribution</h3>
<p>Only Ubuntu 12.04 (Precise), Fedora 20 and CentOS/RHEL 6.5 are documented here. OpenStack also runs and is packaged on other flavors of Linux such as OpenSUSE and Debian.</p>
<p>Only Ubuntu 14.04 (Trusty), Fedora 20 and CentOS/RHEL 6.5 are documented here. OpenStack also runs and is packaged on other flavors of Linux such as OpenSUSE and Debian.</p>
</li>
<li>
<h3>Install Selected OS</h3>
@ -89,7 +89,7 @@
</li>
<li>
<h3>Configure</h3>
<p>While optional, we recommend a <a href="configuration.html">minimal configuration</a> be set up as you may not want our default values for everything.</p>
<p>We recommend at least a <a href="configuration.html">minimal configuration</a> be set up.</p>
</li>
<li>
<h3>Start the install</h3>
@ -230,6 +230,10 @@
<td>functions</td>
<td><a href="functions.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>functions-common</td>
<td><a href="functions-common.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>lib/apache</td>
<td><a href="lib/apache.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
@ -303,12 +307,12 @@
<td><a href="lib/rpc_backend.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>lib/savanna</td>
<td><a href="lib/savanna.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
<td>lib/sahara</td>
<td><a href="lib/sahara.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>lib/savanna-dashboard</td>
<td><a href="lib/savanna-dashboard.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
<td>lib/savanna</td>
<td><a href="lib/savanna.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>lib/stackforge</td>
@ -342,50 +346,35 @@
<td>run_tests.sh</td>
<td><a href="run_tests.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>extras.d/50-ironic.sh</td>
<td><a href="extras.d/50-ironic.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>extras.d/70-marconi.sh</td>
<td><a href="extras.d/70-marconi.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>extras.d/70-sahara.sh</td>
<td><a href="extras.d/70-sahara.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>extras.d/70-savanna.sh</td>
<td><a href="extras.d/70-savanna.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>extras.d/70-trove.sh</td>
<td><a href="extras.d/70-trove.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>extras.d/80-opendaylight.sh</td>
<td><a href="extras.d/80-opendaylight.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>extras.d/80-tempest.sh</td>
<td><a href="extras.d/80-tempest.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/info.sh</td>
<td><a href="tools/info.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/build_docs.sh</td>
<td><a href="tools/build_docs.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/create_userrc.sh</td>
<td><a href="tools/create_userrc.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/fixup_stuff.sh</td>
<td><a href="tools/fixup_stuff.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/install_prereqs.sh</td>
<td><a href="tools/install_prereqs.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/install_pip.sh</td>
<td><a href="tools/install_pip.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/upload_image.sh</td>
<td><a href="tools/upload_image.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
</tbody>
<tfoot>
<td colspan="3">40 bash scripts</td>
</tfoot>
</table>
</div>
@ -420,9 +409,46 @@
<td><a href="eucarc.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
</tbody>
<tfoot>
<td colspan="3">5 configuration files</td>
</tfoot>
</table>
<h2>Tools <small>Support scripts</small></h2>
<table class='table table-striped table-bordered'>
<thead>
<tr>
<th>Filename</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>tools/info.sh</td>
<td><a href="tools/info.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/build_docs.sh</td>
<td><a href="tools/build_docs.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/create_userrc.sh</td>
<td><a href="tools/create_userrc.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/fixup_stuff.sh</td>
<td><a href="tools/fixup_stuff.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/install_prereqs.sh</td>
<td><a href="tools/install_prereqs.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/install_pip.sh</td>
<td><a href="tools/install_pip.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>tools/upload_image.sh</td>
<td><a href="tools/upload_image.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
</tbody>
</table>
<h2>Samples <small>Generated documentation of DevStack sample files.</small></h2>
@ -443,9 +469,6 @@
<td><a href="samples/localrc.html" class="btn btn-small btn-success table-action">Read &raquo;</a></td>
</tr>
</tbody>
<tfoot>
<td colspan="3">2 sample files</td>
</tfoot>
</table>
<div class='row span5 pull-right'>
@ -493,10 +516,19 @@
<tr>
<td>exercises/horizon.sh</td>
<td><a href="exercises/horizon.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<td>exercises/marconi.sh</td>
<td><a href="exercises/marconi.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>exercises/neutron-adv-test.sh</td>
<td><a href="exercises/neutron-adv-test.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<td>exercises/sahara.sh</td>
<td><a href="exercises/sahara.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<td>exercises/savanna.sh</td>
<td><a href="exercises/savanna.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>exercises/sec_groups.sh</td>
@ -505,15 +537,15 @@
<tr>
<td>exercises/swift.sh</td>
<td><a href="exercises/swift.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<td>exercises/trove.sh</td>
<td><a href="exercises/trove.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
<tr>
<td>exercises/volumes.sh</td>
<td><a href="exercises/volumes.sh.html" class="btn btn-small btn-primary table-action">Read &raquo;</a></td>
</tr>
</tbody>
<tfoot>
<td colspan="3">13 exercise scripts</td>
</tfoot>
</table>
</div>

View File

@ -47,8 +47,8 @@
<div class='row pull-left'>
<h2>Overview <small>DevStack from a cloud-height view</small></h2>
<p>DevStack is not and has never been intended to be a general OpenStack installer. It has evolved to support a large number of configuration options and alternative platforms and support services. However, that evolution has grown well beyond what was originally intended and the majority of configuration combinations are rarely, if ever, tested. DevStack was never meant to be everything to everyone and can not continue in that direction.</p>
<p>Below is a list of what is specifically is supported (read that as "tested and assumed to work") going forward.</p>
<p>DevStack has evolved to support a large number of configuration options and alternative platforms and support services. That evolution has grown well beyond what was originally intended and the majority of configuration combinations are rarely, if ever, tested. DevStack is not a general OpenStack installer and was never meant to be everything to everyone..</p>
<p>Below is a list of what is specifically is supported (read that as "tested") going forward.</p>
<h2>Supported Components</h2>
@ -93,7 +93,7 @@
</ul>
<h3>Services</h3>
<p>The default services configured by DevStack are Identity (Keystone), Object Storage (Swift), Image Storage (Glance), Block Storage (Cinder), Compute (Nova), Network (Nova), Dashboard (Horizon)</p>
<p>The default services configured by DevStack are Identity (Keystone), Object Storage (Swift), Image Storage (Glance), Block Storage (Cinder), Compute (Nova), Network (Nova), Dashboard (Horizon), Orchestration (Heat)</p>
<p>Additional services not included directly in DevStack can be tied in to <code>stack.sh</code> using the <a href="plugins.html">plugin mechanism</a> to call scripts that perform the configuration and startup of the service.</p>
<h3>Node Configurations</h3>
@ -103,7 +103,7 @@
</ul>
<h3>Exercises</h3>
<p>The DevStack exercise scripts have been replaced as integration and gating test with Tempest. They will continue to be maintained as they are valuable as demonstrations of using OpenStack from the command line and for quick operational testing.</p>
<p>The DevStack exercise scripts are no longer used as integration and gate testing as that job has transitioned to Tempest. They are still maintained as a demonstrations of using OpenStack from the command line and for quick operational testing.</p>
</div>

View File

@ -67,7 +67,12 @@ if is_service_enabled template; then
source $TOP_DIR/lib/template
fi
if [[ "$1" == "stack" && "$2" == "install" ]]; then
if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
# Set up system services
echo_summary "Configuring system services Template"
install_package cowsay
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
# Perform installation of service source
echo_summary "Installing Template"
install_template
@ -103,6 +108,7 @@ fi
<li><strong>source</strong> - Called by each script that utilizes <code>extras.d</code> hooks; this replaces directly sourcing the <code>lib/*</code> script.</li>
<li><strong>stack</strong> - Called by <code>stack.sh</code> three times for different phases of its run:
<ul>
<li><strong>pre-install</strong> - Called after system (OS) setup is complete and before project source is installed.</li>
<li><strong>install</strong> - Called after the layer 1 and 2 projects source and their dependencies have been installed.</li>
<li><strong>post-config</strong> - Called after the layer 1 and 2 services have been configured. All configuration files for enabled services should exist at this point.</li>
<li><strong>extra</strong> - Called near the end after layer 1 and 2 services have been started. This is the existing hook and has not otherwise changed.</li>