Move static docs into master branch
The hand-maintained static HTML docs for DevStack have been in a GitHub gh-pages branch; move them into the master branch in preparation for hosting them in openstack.org infrastructure. By default tools/build_docs.sh now builds the static HTML output into docs/html. Change-Id: Ide5f7d980a294c7a9f8a3decaed0939f1c239934
This commit is contained in:
parent
cab1eb12c6
commit
54b9732339
26
.gitignore
vendored
26
.gitignore
vendored
@ -1,23 +1,23 @@
|
|||||||
proto
|
|
||||||
*~
|
*~
|
||||||
.*.sw?
|
.*.sw?
|
||||||
*.log
|
*.log
|
||||||
*.log.[1-9]
|
*.log.[1-9]
|
||||||
src
|
*.pem
|
||||||
localrc
|
.localrc.auto
|
||||||
local.sh
|
.prereqs
|
||||||
|
.stackenv
|
||||||
|
accrc
|
||||||
|
docs/files
|
||||||
|
docs/html
|
||||||
files/*.gz
|
files/*.gz
|
||||||
files/*.qcow2
|
files/*.qcow2
|
||||||
files/images
|
files/images
|
||||||
files/pip-*
|
files/pip-*
|
||||||
files/get-pip.py
|
files/get-pip.py
|
||||||
stack-screenrc
|
|
||||||
*.pem
|
|
||||||
accrc
|
|
||||||
.stackenv
|
|
||||||
.prereqs
|
|
||||||
devstack-docs-*
|
|
||||||
docs/
|
|
||||||
docs-files
|
|
||||||
.localrc.auto
|
|
||||||
local.conf
|
local.conf
|
||||||
|
local.sh
|
||||||
|
localrc
|
||||||
|
proto
|
||||||
|
shocco
|
||||||
|
src
|
||||||
|
stack-screenrc
|
||||||
|
616
docs/source/assets/css/bootstrap.css
vendored
Normal file
616
docs/source/assets/css/bootstrap.css
vendored
Normal file
File diff suppressed because one or more lines are too long
122
docs/source/assets/css/local.css
Normal file
122
docs/source/assets/css/local.css
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
|
||||||
|
a.brand {
|
||||||
|
background: url(../images/small_logo.png) no-repeat left 6px;
|
||||||
|
width: 166px;
|
||||||
|
text-indent: -9999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#home .hero-unit {
|
||||||
|
background: url(../images/header_bg.png) top left repeat-x;
|
||||||
|
color: #fff;
|
||||||
|
padding-left: 25px;
|
||||||
|
padding-right: 25px;
|
||||||
|
height: 161px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#home .hero-unit {
|
||||||
|
margin-right: ;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1#main_header {
|
||||||
|
background: url(../images/logo.png) top left no-repeat;
|
||||||
|
text-indent: -9999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub_header {
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: "anivers";
|
||||||
|
font-weight: normal;
|
||||||
|
width: 420px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#home .hero-unit a {
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clear {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol#getting_started {
|
||||||
|
list-style: none;
|
||||||
|
width: 396px;
|
||||||
|
margin-top: -45px;
|
||||||
|
margin-right: 0;
|
||||||
|
margin-left: 72px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol#getting_started li {
|
||||||
|
background: url(../images/quickstart.png) top left no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol#getting_started li pre {
|
||||||
|
font-size: 11px;
|
||||||
|
padding: 5px;
|
||||||
|
background: #4d7ead;
|
||||||
|
border-color: #2c5d8d;
|
||||||
|
color: #fff;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
li#ubuntu {
|
||||||
|
height: 46px;
|
||||||
|
padding: ;
|
||||||
|
padding-left: 82px;
|
||||||
|
padding-top: 27px;
|
||||||
|
margin-bottom: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
li#github {
|
||||||
|
background-position: left -70px !important;
|
||||||
|
height: 61px;
|
||||||
|
padding: ;
|
||||||
|
padding-left: 82px;
|
||||||
|
padding-top: 4px;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
li#install {
|
||||||
|
background-position: left bottom !important;
|
||||||
|
height: 61px;
|
||||||
|
padding: ;
|
||||||
|
padding-left: 82px;
|
||||||
|
padding-top: 4px;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 small {
|
||||||
|
font-size: 12px;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container section {
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
thead, tfoot{
|
||||||
|
background: #ededed;
|
||||||
|
color: #444444;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
a.table-action {
|
||||||
|
display: block;
|
||||||
|
width: 45px;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wat {
|
||||||
|
margin-top: 33px;
|
||||||
|
}
|
BIN
docs/source/assets/images/devstack.png
Normal file
BIN
docs/source/assets/images/devstack.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
docs/source/assets/images/header_bg.png
Normal file
BIN
docs/source/assets/images/header_bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1014 B |
BIN
docs/source/assets/images/logo.png
Normal file
BIN
docs/source/assets/images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.9 KiB |
BIN
docs/source/assets/images/quickstart.png
Normal file
BIN
docs/source/assets/images/quickstart.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
docs/source/assets/images/small_logo.png
Normal file
BIN
docs/source/assets/images/small_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
1722
docs/source/assets/js/bootstrap.js
vendored
Normal file
1722
docs/source/assets/js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
docs/source/assets/js/bootstrap.min.js
vendored
Normal file
1
docs/source/assets/js/bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
docs/source/assets/js/jquery-1.7.1.min.js
vendored
Normal file
4
docs/source/assets/js/jquery-1.7.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
515
docs/source/changes.html
Normal file
515
docs/source/changes.html
Normal file
@ -0,0 +1,515 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - Recent Changes</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" id="home">
|
||||||
|
|
||||||
|
<section id="faq" class="span12">
|
||||||
|
|
||||||
|
<div class='row pull-left'>
|
||||||
|
<h2>Recent Changes <small>What's been happening?</small></h2>
|
||||||
|
<p>This is an incomplete list of recent changes to DevStack. For the complete list see <a href="https://review.openstack.org/#/q/status:merged+project:openstack-dev/devstack,n,z">the DevStack project in Gerrit</a>.</p>
|
||||||
|
<dl class='pull-left'>
|
||||||
|
<!--
|
||||||
|
<dt></dt>
|
||||||
|
<dd> <em>Commit <a href="https://review.openstack.org/x">x</a> merged dd_mmm_yyyy</em></dd>
|
||||||
|
-->
|
||||||
|
<dt>Install libguestfs with Nova Compute</dt>
|
||||||
|
<dd>Add for Ubuntu installations; this eliminates use of NBD. <em>Commit <a href="https://review.openstack.org/70237">70237</a> merged 31 Jan 2014</em></dd>
|
||||||
|
<dt>Fix Tempest config settings</dt>
|
||||||
|
<dd>Cleans up a number of configuration issues between DevStack and Tempest. <em>Commit <a href="https://review.openstack.org/68532">68532</a> merged 31 Jan 2014</em></dd>
|
||||||
|
<dt>Merge Gantt support</dt>
|
||||||
|
<dd>Gantt support is added to the repo as a plugin. <em>Commit <a href="https://review.openstack.org/67666">67666</a> merged 31 Jan 2014</em></dd>
|
||||||
|
<dt>Set Keystone admin_bind_host</dt>
|
||||||
|
<dd>This works around an odd problem with Keystone's use of port 35357 and its use as an ephemeral port. <em>Commit <a href="https://review.openstack.org/57577">57577</a> merged 30 Jan 2014</em></dd>
|
||||||
|
<dt>Generate Tempest service list</dt>
|
||||||
|
<dd>This eliminates the manual maintenance of the services Tempest checks for. <em>Commit <a href="https://review.openstack.org/70015">70015</a> merged 30 Jan 2014</em></dd>
|
||||||
|
<dt>Fix stop_swift()</dt>
|
||||||
|
<dd>Kill all swift processes correctly with pkill. <em>Commit <a href="https://review.openstack.org/69440">69440</a> merged 28 Jan 2014</em></dd>
|
||||||
|
<dt>Update Cinder cert script to use run_tempest</dt>
|
||||||
|
<dd>Update following changes to Tempest's run_tests.sh script. <em>Commit <a href="https://review.openstack.org/66904">66904</a> merged 25 Jan 2014</em></dd>
|
||||||
|
<dt>Add missing mongodb client</dt>
|
||||||
|
<dd>The mongodb client was skipped on Fedora. <em>Commit <a href="https://review.openstack.org/65147">65147</a> merged 25 Jan 2014</em></dd>
|
||||||
|
<dt>Fix reverting local changes in repo</dt>
|
||||||
|
<dd>Work around a bug in <code>git diff --quiet</code> used in reverting the repo changes during global requirements handling. <em>Commit <a href="https://review.openstack.org/68546">68546</a> merged 25 Jan 2014</em></dd>
|
||||||
|
<dt>Add cirros 3.0 image for Xenserver</dt>
|
||||||
|
<dd>Xenserver wants the cirros 3.0 vhd image <em>Commit <a href="https://review.openstack.org/68136">68136</a> merged 25 Jan 2014</em></dd>
|
||||||
|
<dt>Tweak upload_image.sh for .vmdk</dt>
|
||||||
|
<dd>Relax the vmdk regex for parsing metadata out of the filename. <em>Commit <a href="https://review.openstack.org/68821">68821</a> merged 25 Jan 2014</em></dd>
|
||||||
|
<dt>Keystone use common logging</dt>
|
||||||
|
<dd>Switch Keystone to use common logging configuration. <em>Commit <a href="https://review.openstack.org/68530">68530</a> merged 25 Jan 2014</em></dd>
|
||||||
|
<dt>Do not set bind_host for Heat APIs</dt>
|
||||||
|
<dd>Let the Heat API service bind to 0.0.0.0 to be consistent with other DevStack services. <em>Commit <a href="https://review.openstack.org/67683">67683</a> merged 25 Jan 2014</em></dd>
|
||||||
|
<dt>Fine tune libvirt logging</dt>
|
||||||
|
<dd>Disable client-side log and tune server-side to usable levels. <em>Commit <a href="https://review.openstack.org/68194">68194</a> merged 24 Jan 2014</em></dd>
|
||||||
|
<dt>Add check framework for Neutron server/backen integration</dt>
|
||||||
|
<dd>Add the framework to verify Neutron controllers and backend service configurations per plugin requirements. <em>Commit <a href="https://review.openstack.org/64754">64754</a> merged 17 Jan 2014</em></dd>
|
||||||
|
<dt>Add Marconi to Tempest config</dt>
|
||||||
|
<dd>Check if Marconi is enabled in Tempest configuration <em>Commit <a href="https://review.openstack.org/65478">65478</a> merged 13 Jan 2014</em></dd>
|
||||||
|
<dt>Enable libvirt logging</dt>
|
||||||
|
<dd>Enable server- and client-side logging for libvirt <em>Commit <a href="https://review.openstack.org/65834">65834</a> merged 13 Jan 2014</em></dd>
|
||||||
|
<dt>Clean up Heat/Cloud Formation catalog template</dt>
|
||||||
|
<dd>The service catalog entries in the template file for orchestration and cloud formation were out of whack. <em>Commit <a href="https://review.openstack.org/65916">65916</a> merged 13 Jan 2014</em></dd>
|
||||||
|
<dt>Create Ceilometer service accounts</dt>
|
||||||
|
<dd>Create the Ceilometer service accounts in Keystone. <em>Commit <a href="https://review.openstack.org/65678">65678</a> merged 13 Jan 2014</em></dd>
|
||||||
|
<dt>Freshen Ubuntu supported eleases</dt>
|
||||||
|
<dd>Remove oneiric and quantal support. <em>Commit <a href="https://review.openstack.org/64836">64836</a> merged 13 Jan 2014</em></dd>
|
||||||
|
<dt>Strengthen server shutdown</dt>
|
||||||
|
<dd>Add screen_stop() to kill server process groups to ensure shutdown of child processes. <em>Commit <a href="https://review.openstack.org/66080">66080</a> merged 13 Jan 2014</em></dd>
|
||||||
|
<dt>Support for VMware NSX plugin</dt>
|
||||||
|
<dd>This is the Nicira NVP plugin renamed. <em>Commit <a href="https://review.openstack.org/65002">65002</a> merged 13 Jan 2014</em></dd>
|
||||||
|
<dt>Remove --tenant_id usage</dt>
|
||||||
|
<dd>Remove remaining uses of <code>--tenant_id</code> and replace with <code>--tenant-id</code>. <em>Commit <a href="https://review.openstack.org/65682">65682</a> merged 11 Jan 2014</em></dd>
|
||||||
|
<dt>Identity API version configuration for Cinder, Glance and Heat</dt>
|
||||||
|
<dd>Use IDENTITY_API_VERISON to configure Cinder, Glance and Heat. <em>Commit <a href="https://review.openstack.org/57620">57620</a> merged 11 Jan 2014</em></dd>
|
||||||
|
<dt>Fedora 20 Support</dt>
|
||||||
|
<dd>Add support for Fedora 20, remove Fedora 16 and 17 support. <em>Commit <a href="https://review.openstack.org/63647">63647</a> merged 11 Jan 2014</em></dd>
|
||||||
|
<dt>Trove service availablility in Tempest</dt>
|
||||||
|
<dd>Check if Trove is enabled in Tempest configuration. <em>Commit <a href="https://review.openstack.org/64913">64913</a> merged 11 Jan 2014</em></dd>
|
||||||
|
|
||||||
|
<dt>Change libvirtd log level to DEBUG</dt>
|
||||||
|
<dd>Keep libvirtd logs in the gate log stash. <em>Commit <a href="https://review.openstack.org/63992">63992</a> merged 02 Jan 2014</em></dd>
|
||||||
|
<dt>Fix section start bug in get_meta_section()</dt>
|
||||||
|
<dd>get_meta_section() would incorrectly interpret '[[' and ']]' in shell command lines inside local.conf. <em>Commit <a href="https://review.openstack.org/63280">63280</a> merged 21 Dec 2013</em></dd>
|
||||||
|
<dt>Use Fedora 20 final release</dt>
|
||||||
|
<dd>Set the URL to get the final Fedora 20 release image. <em>Commit <a href="https://review.openstack.org/63200">63200</a> merged 21 Dec 2013</em></dd>
|
||||||
|
<dt>Use Ubuntu 'saucy' as XenAPI DomU</dt>
|
||||||
|
<dd>Updated the XenAPI DomU to Ubuntu Saucy release. <em>Commit <a href="https://review.openstack.org/60107">60107</a> merged 21 Dec 2013</em></dd>
|
||||||
|
<dt>Begin support for RHEL7 Beta</dt>
|
||||||
|
<dd>Adjust the sed regex in GetOSVersion() to handle text between the version and codename in RHEL-style release strings. <em>Commit <a href="https://review.openstack.org/62543">62543</a> merged 17 Dec 2013</em></dd>
|
||||||
|
<dt>Configure Tempest tests for network extensions</dt>
|
||||||
|
<dd>Puts the value of NETWORK_API_EXTENSIONS into tempest.conf. <em>Commit <a href="https://review.openstack.org/62054">62054</a> merged 17 Dec 2013</em></dd>
|
||||||
|
<dt>Default floating IP range to /24</dt>
|
||||||
|
<dd>Set the default FLOATING_RANGE=172.24.4.0/24 to accomodate parallel testing in Tempest. <em>Commit <a href="https://review.openstack.org/58284">58284</a> merged 17 Dec 2013</em></dd>
|
||||||
|
<dt>Support oslo-rootwrap in Cinder</dt>
|
||||||
|
<dd>Cinder can use both cinder-rootwrap and oslo-rootwrap for a transitional period. <em>Commit <a href="https://review.openstack.org/62003">62003</a> merged 16 Dec 2013</em></dd>
|
||||||
|
<dt>Heat tests can use test image if present</dt>
|
||||||
|
<dd>If HEAT_CREATE_TEST_IMAGE is defined and the image named in its value is present Heat will use it rather than invoke diskimage-builder. <em>Commit <a href="https://review.openstack.org/59893">59893</a> merged 15 Dec 2013</em></dd>
|
||||||
|
<dt>Fix iniset() pipe ('|') bug</dt>
|
||||||
|
<dd>iniset() did not properly handle a value containing a pipe ('|') character. <em>Commit <a href="https://review.openstack.org/60170">60170</a> merged 14 Dec 2013</em></dd>
|
||||||
|
<dt>Define Q_L3_ENABLED=True for MidoNet plugin</dt>
|
||||||
|
<dd>Q_L3_ENABLED=True for MidoNet plugin. <em>Commit <a href="https://review.openstack.org/56459">56459</a> merged 12 Dec 2013</em></dd>
|
||||||
|
<dt>Fix Swift workers for non-proxies</dt>
|
||||||
|
<dd>Swift spawned more proxy workers than required in DevStack environments, reduce it to '1'. <em>Commit <a href="https://review.openstack.org/61122">61122</a> merged 12 Dec 2013</em></dd>
|
||||||
|
<dt>Add Keystone auth port to Nova config</dt>
|
||||||
|
<dd>Set keystone_authtoken:auth_port to KEYSTONE_AUTH_PORT in nova.conf. <em>Commit <a href="https://review.openstack.org/60736">60736</a> merged 12 Dec 2013</em></dd>
|
||||||
|
<dt>Increase additional flavor RAM on ppc64</dt>
|
||||||
|
<dd>Create the nano and micro flavors with 128MB and 256MB RAM respectively on ppc64. <em>Commit <a href="https://review.openstack.org/60606">60606</a> merged 12 Dec 2013</em></dd>
|
||||||
|
<dt>Increase XenAPI DomU memory</dt>
|
||||||
|
<dd>Increase XenAPI DomU memory (OSDOMU_MEM_MB) to 4GB by default. <em>Commit <a href="https://review.openstack.org/59792">59792</a> merged 10 Dec 2013</em></dd>
|
||||||
|
<dt>Assign unique names to fake nova-computes</dt>
|
||||||
|
<dd>Assign each fake nova-compute instance a unique name so the scheduler works properly. <em>Commit <a href="https://review.openstack.org/58700">58700</a> merged 09 Dec 2013</em></dd>
|
||||||
|
<dt>Fix whitespace bugs in merge_config_file()</dt>
|
||||||
|
<dd>Merge_config_file() did not properly skip lines with only whitespace. <em>Commit <a href="https://review.openstack.org/60112">60112</a> merged 09 Dec 2013</em></dd>
|
||||||
|
<dt>Setup Savanna user and endpoints</dt>
|
||||||
|
<dd>Create savanna user, and savanna and data_processing endpoints. <em>Commit <a href="https://review.openstack.org/60077">60077</a> merged 09 Dec 2013</em></dd>
|
||||||
|
<dt>Display DevStack status at XenAPI DomU login</dt>
|
||||||
|
<dd>Add DevStack setup setvice status to /etc/issue so it is displayed at the DomU login. <em>Commit <a href="https://review.openstack.org/48444">48444</a> merged 09 Dec 2013</em></dd>
|
||||||
|
<dt>Fix install_get_pip using proxy</dt>
|
||||||
|
<dd>install_get_pip did not work properly through an HTTP proxy. <em>Commit <a href="https://review.openstack.org/60242">60242</a> merged 07 Dec 2013</em></dd>
|
||||||
|
<dt>Add color logs to Trove</dt>
|
||||||
|
<dd>Add the colorized log output to Trove. <em>Commit <a href="https://review.openstack.org/58363">58363</a> merged 06 Dec 2013</em></dd>
|
||||||
|
<dt>Update LDAP support</dt>
|
||||||
|
<dd>Update DevStack's LDAP support to make the DN configurable. <em>Commit <a href="https://review.openstack.org/58590">58590</a> merged 06 Dec 2013</em></dd>
|
||||||
|
<dt>Add Marconi support</dt>
|
||||||
|
<dd>Add Marconi support via extras.d plugin. <em>Commit <a href="https://review.openstack.org/47999">47999</a> merged 05 Dec 2013</em></dd>
|
||||||
|
<dt>Split Ceilometer collector service</dt>
|
||||||
|
<dd>Split Celio collector service into ceilometer-collector and ceilometer-agent-notification. <em>Commit <a href="https://review.openstack.org/58600">58600</a> merged 05 Dec 2013</em></dd>
|
||||||
|
<dt>Add 'post-extra' configuration phase</dt>
|
||||||
|
<dd>The 'post-extra' configuration phase is processed after the 'extra' plugin phase is executed. <em>Commit <a href="https://review.openstack.org/55583">55583</a> merged 05 Dec 2013</em></dd>
|
||||||
|
<dt>Enable user interaction with stack.sh in XenAPI</dt>
|
||||||
|
<dd>Multiple changes to how DevStack is configured to run under XenServer. <em>Commit <a href="https://review.openstack.org/48092">48092</a> merged 04 Dec 2013</em></dd>
|
||||||
|
<dt>Handle VMDK metadata</dt>
|
||||||
|
<dd>upload_image.sh now attempts to get the metadata for a *.vmdk file from *-flat.vmdk. <em>Commit <a href="https://review.openstack.org/58356">58356</a> merged 04 Dec 2013</em></dd>
|
||||||
|
<dt>Deploy Keystone with SSL</dt>
|
||||||
|
<dd>Configure Keystone to use SSL rather than using the tls-proxy function. <em>Commit <a href="https://review.openstack.org/47076">47076</a> merged 03 Dec 2013</em></dd>
|
||||||
|
<dt>change default Git base to git.openstack.org</dt>
|
||||||
|
<dd>Pull repos from git.openstack.org where possible. <em>Commit <a href="https://review.openstack.org/56749">56749</a> merged 02 Dec 2013</em></dd>
|
||||||
|
<dt>Fix Neutron color log format</dt>
|
||||||
|
<dd>Fix Neutron color log format. <em>Commit <a href="https://review.openstack.org/58350">58350</a> merged 01 Dec 2013</em></dd>
|
||||||
|
<dt>Truncate PKI token logging</dt>
|
||||||
|
<dd>Limit the PKI token logged to 12 characters. <em>Commit <a href="https://review.openstack.org/57526">57526</a> merged 26 Nov 2013</em></dd>
|
||||||
|
<dt>Support memchace for Keystone token backend</dt>
|
||||||
|
<dd>Use memcache backend with KEYSTONE_TOKEN_BACKEND=memcache. <em>Commit <a href="https://review.openstack.org/56691">56691</a> merged 26 Nov 2013</em></dd>
|
||||||
|
<dt>Remove powervm hypervisor support</dt>
|
||||||
|
<dd>The powervm arch is EOL, will be replaced in the future. <em>Commit <a href="https://review.openstack.org/57789">57789</a> merged 25 Nov 2013</em></dd>
|
||||||
|
<dt>Increase default Swift timeouts</dt>
|
||||||
|
<dd>node_timeout and conn_timeout needed to be increased for testing in slow VM environments. <em>Commit <a href="https://review.openstack.org/57514">57514</a> merged 25 Nov 2013</em></dd>
|
||||||
|
<dt>Add hacking rules for shell scripts</dt>
|
||||||
|
<dd>Record the previously unwritten rules for common formatting. <em>Commit <a href="https://review.openstack.org/55024">55024</a> merged 24 Nov 2013</em></dd>
|
||||||
|
<dt>Default to Cinder API v2</dt>
|
||||||
|
<dd>Set OS_VOLUME_API_VERSION=2 by default. <em>Commit <a href="https://review.openstack.org/43045">43045</a> merged 22 Nov 2013</em></dd>
|
||||||
|
<dt>Drop nodejs dependency</dt>
|
||||||
|
<dd>Horizon no longer needs nodejs. <em>Commit <a href="https://review.openstack.org/55255">55255</a> merged 22 Nov 2013</em></dd>
|
||||||
|
<dt>Change to use STACK_USER rather than USER</dt>
|
||||||
|
<dd>This changes DevStack to use STACK_USER for username references. <em>Commit <a href="https://review.openstack.org/57212">57212</a> merged 22 Nov 2013</em></dd>
|
||||||
|
<dt>Enable specifying FLAT_NETWORK_BRIDGE in XenAPI</dt>
|
||||||
|
<dd>Set FLAT_NETWORK_BRIDGE for DomU. <em>Commit <a href="https://review.openstack.org/48296">48296</a> merged 22 Nov 2013</em></dd>
|
||||||
|
<dt>Add file: URL handling to upload_image.sh</dt>
|
||||||
|
<dd>upload_image.sh can now use file: URLs as the image source. <em>Commit <a href="https://review.openstack.org/56721">56721</a> merged 21 Nov 2013</em></dd>
|
||||||
|
<dt>Increase Swift backing storage size</dt>
|
||||||
|
<dd>Swift now has SWIFT_LOOPBACK_DISK_SIZE_DEFAULT=6G. <em>Commit <a href="https://review.openstack.org/56116">56116</a> merged 13 Nov 2013</em></dd>
|
||||||
|
<dt>Fix Horizon config for Apache 2.4</dt>
|
||||||
|
<dd>Handle Apache config differences according to Apache version and not distro release. <em>Commit <a href="https://review.openstack.org/54738">54738</a> merged 11 Nov 2013</em></dd>
|
||||||
|
<dt>Add FORCE_CONFIG_DRIVE to nova.conf</dt>
|
||||||
|
<dd>Add FORCE_CONFIG_DRIVE, default to 'always'. <em>Commit <a href="https://review.openstack.org/54746">54746</a> merged 01 Nov 2013</em></dd>
|
||||||
|
<dt>Turn off Nova firewall when using Neutron</dt>
|
||||||
|
<dd>Sets firewall_driver when Neutron is enabled. <em>Commit <a href="https://review.openstack.org/54827">54827</a> merged 01 Nov 2013</em></dd>
|
||||||
|
<dt>Use nova.conf for auth_token config</dt>
|
||||||
|
<dd>Eliminates using api-paste.ini. <em>Commit <a href="https://review.openstack.org/53212">53212</a> merged 01 Nov 2013</em></dd>
|
||||||
|
<dt>Use conder.conf for auth_token config</dt>
|
||||||
|
<dd>Eliminates using api-paste.ini. <em>Commit <a href="https://review.openstack.org/53213">53213</a> merged 01 Nov 2013</em></dd>
|
||||||
|
<dt>Add Cinder support for NFS driver</dt>
|
||||||
|
<dd>Set CINDER_DRIVER=nfs. <em>Commit <a href="https://review.openstack.org/53276">53276</a> merged 31 Oct 2013</em></dd>
|
||||||
|
<dt>Add Postgres for Ceilometer backend</dt>
|
||||||
|
<dd>Set CEILOMETER_BACKEND=postgresql. <em>Commit <a href="https://review.openstack.org/53715">53715</a> merged 31 Oct 2013</em></dd>
|
||||||
|
<dt>Add Ubuntu Trusty</dt>
|
||||||
|
<dd>Add support for Ubuntu Trusty. <em>Commit <a href="https://review.openstack.org/53965">53965</a> merged 30 Oct 2013</em></dd>
|
||||||
|
<dt>Enable Keystone auth in Ironic</dt>
|
||||||
|
<dd>Always use Keystone for Ironic auth. <em>Commit <a href="https://review.openstack.org/51845">51845</a> merged 25 Oct 2013</em></dd>
|
||||||
|
<dt>Add bash8 tool</dt>
|
||||||
|
<dd>Perform basic format tests in CI gate. <em>Commit <a href="https://review.openstack.org/51676">51676</a> merged 23 Oct 2013</em></dd>
|
||||||
|
<dt>Add Savanna support</dt>
|
||||||
|
<dd>Add Savanna support using the plugin mech. <em>Commit <a href="https://review.openstack.org/50601">50601</a> merged 22 Oct 2013</em></dd>
|
||||||
|
<dt>Install Ironic client</dt>
|
||||||
|
<dd>Add python-ironicclient repo. <em>Commit <a href="https://review.openstack.org/51853">51853</a> merged 22 Oct 2013</em></dd>
|
||||||
|
|
||||||
|
<dt>Fix fixup_stuff.sh for RHEL6</dt>
|
||||||
|
<dd>fixup_stuff.sh didn't work properly on RHEL6/Python 2.6 <em>Commit <a href="https://review.openstack.org/52176">52176</a> merged 17 Oct 2013</em></dd>
|
||||||
|
<dt>Add more extras.d hooks</dt>
|
||||||
|
<dd>Add more hooks to call into extras.d to support adding services without modifying core DevStack scripts. <em>Commit <a href="https://review.openstack.org/51939">51939</a> merged 16 Oct 2013</em></dd>
|
||||||
|
<dt>Add run_tests.sh</dt>
|
||||||
|
<dd>Add a simple run_tests.sh for running bash8. <em>Commit <a href="https://review.openstack.org/51711">51711</a> merged 15 Oct 2013</em></dd>
|
||||||
|
<dt>Add bash8 style checker</dt>
|
||||||
|
<dd>Add bash8 to check certain style constraints in shell scripts. <em>Commit <a href="https://review.openstack.org/51676">51676</a> merged 15 Oct 2013</em></dd>
|
||||||
|
<dt>Add trove-conductor service</dt>
|
||||||
|
<dd>Add trove-conductor service to Trove support <em>Commit <a href="https://review.openstack.org/49237">49237</a> merged 14 Oct 2013</em></dd>
|
||||||
|
<dt>Add new local configuration file</dt>
|
||||||
|
<dd>Add local.conf support to replace localrc, includes ability to set values in arbitrary config files. <em>Commit <a href="https://review.openstack.org/46768">46768</a> merged 14 Oct 2013</em></dd>
|
||||||
|
<dt>Remove 'stack' account creation from stack.sh</dt>
|
||||||
|
<dd>This forces stack.sh to not be run as root and provides the account creation as a separate script. <em>Commit <a href="https://review.openstack.org/49798">49798</a> merged 05 Oct 2013</em></dd>
|
||||||
|
<dt>Support running Keystone under Apache</dt>
|
||||||
|
<dd>Run Keystone under Apache along with Swift and Horizon <em>Commit <a href="https://review.openstack.org/46866">46866</a> merged 26 Sep 2013</em></dd>
|
||||||
|
<dt>Increase default Swift storage for Tempest</dt>
|
||||||
|
<dd>When Tempest is enabled increase the default Swift storage to 4Gb <em>Commit <a href="https://review.openstack.org/46770">46770</a> merged 18 Sep 2013</em></dd>
|
||||||
|
<dt>Keystone mixed backend support</dt>
|
||||||
|
<dd>Add support for Keystone to use mixed backend configuration <em>Commit <a href="https://review.openstack.org/44605">44605</a> merged 16 Sep 2013</em></dd>
|
||||||
|
<dt>Add Trove support</dt>
|
||||||
|
<dd>Add support for Trove service <em>Commit <a href="https://review.openstack.org/38169">38169</a> merged 12 Sep 2013</em></dd>
|
||||||
|
<dt>Enable Neutron L3 plugon</dt>
|
||||||
|
<dd>Support Neutron's L3 plugin <em>Commit <a href="https://review.openstack.org/20909">20909</a> merged 10 Sep 2013</em></dd>
|
||||||
|
<dt>Configure VPNaaS panel in Horizon</dt>
|
||||||
|
<dd>If enabled configure VPNaaS panel in Horizon by default <em>Commit <a href="https://review.openstack.org/45751">45751</a> merged 10 Sep 2013</em></dd>
|
||||||
|
<dt>Enable multi-threaded Nova API servers</dt>
|
||||||
|
<dd>Sets the Nova API servers to use four worker threads by default <em>Commit <a href="https://review.openstack.org/45314">45314</a> merged 09 Sep 2031</em></dd>
|
||||||
|
<dt>Handle .vmdk custom properties</dt>
|
||||||
|
<dd>Parses property values out of the .vmdk filename and includes them in the glance upload. <em>Commit <a href="https://review.openstack.org/45181">45181</a> merged 09 Sep 2013</em></dd>
|
||||||
|
<dt>Use pip 1.4.1</dt>
|
||||||
|
<dd>Adds pip option --pre <em>Commit <a href="https://review.openstack.org/45436">45436</a> merged 06 Sep 2031</em></dd>
|
||||||
|
<dt>Rename Ceilometer alarm service</dt>
|
||||||
|
<dd>Change 'ceilometer-alarm-eval' to 'ceilometer-alarm-singleton' and 'ceilometer-alarm-notifier' <em>Commit <a href="https://review.openstack.org/45214">45214</a> merged 06 Sep 2013</em></dd>
|
||||||
|
<dt>Support OpenSwan in Neutron VPNaaS</dt>
|
||||||
|
<dd>Neutron VPNaaS changed IPSec to OpenSwan <em>Commit <a href="https://review.openstack.org/42265">42265</a> merged 06 Sep 2013</em></dd>
|
||||||
|
<dt>Change Ceilometer backend default to MySQL</dt>
|
||||||
|
<dd>Issues with MongoDB 2.4 availability resulted in this change <em>Commit <a href="https://review.openstack.org/43851">43851</a> merged 05 Sep 2013</em></dd>
|
||||||
|
<dt>Add Ironic support</dt>
|
||||||
|
<dd>Add Ironic as a supported service <em>Commit <a href="https://review.openstack.org/41053">41053</a> merged 03 Sep 2013</em></dd>
|
||||||
|
<dt>Add support for Docker hypervisor</dt>
|
||||||
|
<dd>Add Docker support and the hypervisor plugin mechanism <em>Commit <a href="https://review.openstack.org/40759">40759</a> merged 30 Aug 2013</em></dd>
|
||||||
|
|
||||||
|
<dt>Add support for Heat resource templates</dt>
|
||||||
|
<dd>Install Heat resource template files. <em>Commit <a href="https://review.openstack.org/43631">43631</a> merged 29 Aug 2013</em></dd>
|
||||||
|
<dt>Support Neutron FWaaS</dt>
|
||||||
|
<dd>Add support for OpenStack Networking Firewall (FWaaS). <em>Commit <a href="https://review.openstack.org/37147">37147</a> merged 29 Aug 2013</em></dd>
|
||||||
|
<dt>Add new #testonly tag for package prereq files</dt>
|
||||||
|
<dd>Add INSTALL_TESTONLY_PACKAGES to enable installing packages marked with #testonly. These packages are required only for running unit tests. <em>Commit <a href="https://review.openstack.org/38127">38127</a> merged 28 Aug 2013</em></dd>
|
||||||
|
<dt>Add support for Heat environments</dt>
|
||||||
|
<dd>Install Heat global environment config files. <em>Commit <a href="https://review.openstack.org/43387">43387</a> merged 28 Aug 2013</em></dd>
|
||||||
|
<dt>Configure bash completion</dt>
|
||||||
|
<dd>Configure bash completion for cinder, keystone, neutron, nova and nova-manage. <em>Commit <a href="https://review.openstack.org/41928">41928</a> merged 26 Aug 2013</em></dd>
|
||||||
|
<dt>Change horizon Apache config file to horizon.conf</dt>
|
||||||
|
<dd>Add .conf to horizon Apache config file to be consistent with Fedora practice. <em>Commit <a href="https://review.openstack.org/40352">40352</a> merged 22 Aug 2013</em></dd>
|
||||||
|
<dt>Echo service start failures</dt>
|
||||||
|
<dd>Echo service start failures to console so status is obvious in gate logs. <em>Commit <a href="https://review.openstack.org/42427">42427</a> merged 16 Aug 2013</em></dd>
|
||||||
|
<dt>Colorize Heat logs</dt>
|
||||||
|
<dd>Add Nova-style color support to Heat logging. <em>Commit <a href="https://review.openstack.org/40342">40342</a> merged 16 Aug 2013</em></dd>
|
||||||
|
<dt>Add Cinder support to VMware configuration</dt>
|
||||||
|
<dd>Configures Cinder to use VMware backend. <em>Commit <a href="https://review.openstack.org/41612">41612</a> merged 15 Aug 2013</em></dd>
|
||||||
|
<dt>Default PIP_USE_MIRRORS to False</dt>
|
||||||
|
<dd>Pip mirrors no longer used by default, can stil be enabled with PIP_USE_MIRRORS=True. <em>Commit <a href="https://review.openstack.org/40623">40623</a> merged 13 Aug 2013</em></dd>
|
||||||
|
<dt>Configure Volume API v2</dt>
|
||||||
|
<dd>Configure both SQL and template backends with Volume API v2. <em>Commit <a href="https://review.openstack.org/22489">22489</a> merged 13 Aug 2013</em></dd>
|
||||||
|
<dt>Enable Tempest debug logging</dt>
|
||||||
|
<dd>Enable Tempest debug logging for the same output verbosity under testr. <em>Commit <a href="https://review.openstack.org/41113">41113</a> merged 12 Aug 2013</em></dd>
|
||||||
|
<dt>Configure Cinder for Ceilometer notifications</dt>
|
||||||
|
<dd>Enable Cinder to send notifications when Ceilometer is enabled. <em>Commit <a href="https://review.openstack.org/41108">41108</a> merged 12 Aug 2013</em></dd>
|
||||||
|
<dt>Support Heat-only configuration</dt>
|
||||||
|
<dd>Allows stack.sh to start a standalone Heat installation. <em>Commit <a href="https://review.openstack.org/39602">39602</a> merged 10 Aug 2013</em></dd>
|
||||||
|
<dt>Add tools/install_pip.sh</dt>
|
||||||
|
<dd>Install pip from source in order to get a current version rather than the out-of-date OS-supplied version <em>Commit <a href="https://review.openstack.org/39827">39827</a> merged 08 Aug 2013</em></dd>
|
||||||
|
<dt>Add call trace to error message</dt>
|
||||||
|
<dd>Display the bash call stack in die() output. <em>Commit <a href="https://review.openstack.org/39887">39887</a> merged 08 Aug 2013</em></dd>
|
||||||
|
<dt>Configure Keystone client in Cinder</dt>
|
||||||
|
<dd>Configure auth creds in Cinder to allow queries to Keystone. <em>Commit <a href="https://review.openstack.org/39747">39747</a> merged 07 Aug 2013</em></dd>
|
||||||
|
<dt>Update all repos to global requirements</dt>
|
||||||
|
<dd>Force update project repos to global requirements before tests. <em>Commit <a href="https://review.openstack.org/35705">35705</a> merged 06 Aug 2013</em></dd>
|
||||||
|
<dt>Don't add 'bulk' middleware for Swift</dt>
|
||||||
|
<dd>The bulk middleware is already in the sample so don't add it. <em>Commit <a href="https://review.openstack.org/39826">39826</a> merged 06 Aug 2013</em></dd>
|
||||||
|
<dt>Enable using Apache as Swift frontend</dt>
|
||||||
|
<dd>Refactor apache functions into lib/apache; configure apache2 vhost and wsgi files for Swift proxy, account, container and object server. <em>Commit <a href="https://review.openstack.org/33946">33946</a> merged 02 Aug 2013</em></dd>
|
||||||
|
<dt>Launch Ceilometer alarm services</dt>
|
||||||
|
<dd>Add ceilometer-alarm-notify and ceilometer-alarm-eval to the Ceilometer services. <em>Commit <a href="https://review.openstack.org/39300">39300</a> merged 01 Aug 2013</em></dd>
|
||||||
|
<dt>Fix Tempest logging configuration</dt>
|
||||||
|
<dd>Correctly set the tempest output logging to dump all of tempest logs into a tempest.log file. Also fixes logging in the gate no longer print every log message on the console. <em>Commit <a href="https://review.openstack.org/39571">39571</a> merged 31 Jul 2013</em></dd>
|
||||||
|
<dt>Install Oslo from source</dt>
|
||||||
|
<dd>Install the gradulated Oslo libraries from source into $DEST. <em>Commit <a href="https://review.openstack.org/39450">39450</a> merged 31 Jul 2013</em></dd>
|
||||||
|
<dt>Multiple fixes for cell support</dt>
|
||||||
|
<dd>Start Nova cell services; skip unsupported exercises; use 'default' security group in exercises. <em>Commit <a href="https://review.openstack.org/38897">38897</a> merged 29 Jul 2013</em></dd>
|
||||||
|
<dt>Add MySQL support for Ceilometer</dt>
|
||||||
|
<dd>Add MySQL storage support for Ceilometer. <em>Commit <a href="https://review.openstack.org/37413">37413</a> merged 19 Jul 2013</em></dd>
|
||||||
|
<dt>Create Compute API v3 endpoint</dt>
|
||||||
|
<dd>Configures SQL and templated backends for Compute API v3. The service type is 'computev3'. <em>Commit <a href="https://review.openstack.org/33277">33277</a> merged 18 Jul 2013</em></dd>
|
||||||
|
<dt>Add Neutron VPNaaS support</dt>
|
||||||
|
<dd>Add Support for OpenStack Networking VPNaaS (IPSec) <em>Commit <a href="https://review.openstack.org/32174">32174</a> merged 15 Jul 2013</em></dd>
|
||||||
|
<dt>Configure Swift functional tests</dt>
|
||||||
|
<dd>The default Swift configuration now has functional tests properly configured. <em>Commit <a href="https://review.openstack.org/35793">35793</a> merged 12 Jul 2013</em></dd>
|
||||||
|
<dt>Enable all Nova notifications</dt>
|
||||||
|
<dd>Nova now sends all notification events to Ceilometer. <em>Commit <a href="https://review.openstack.org/35258">35258</a> merged 08 Jul 2013</em></dd>
|
||||||
|
<dt>Add IDENTITY_API_VERSION</dt>
|
||||||
|
<dd>IDENTITY_API_VERSION defaults to '2.0', enables setting '3' for API v3. <em>Commit <a href="https://review.openstack.org/34884">34884</a> merged 08 Jul 2013</em></dd>
|
||||||
|
|
||||||
|
<dt>Rename Qunatum repos to Neutron</dt>
|
||||||
|
<dd>Part of the project renaming process. This does not change the process short names ('q-api', 'q-agt', etc) or the variable names starting with <code>Q_</code>. Some Nova and Horizon changes remain to be completed. The change has been applied to stable/grizzly (35860) and stable/folsom (35861). <em>Commit <a href="https://review.openstack.org/35981">35981, 35861, 35860, 35859</a> merged 07 Jul 2013</em></dd>
|
||||||
|
<dt>Direct installation of Python prerequisites</dt>
|
||||||
|
<dd>Python prereqs are now installed by pip (and not easy_install) directly from each projects <code>requirements.txt</code>. <em>Commit <a href="https://review.openstack.org/35696">35696</a> merged 07 Jul 2013</em></dd>
|
||||||
|
<dt>Enable Fedora 19</dt>
|
||||||
|
<dd>Fedora 19 is now supported directly. <em>Commit <a href="https://review.openstack.org/35071">35071</a> merged 03 Jul 2013</em></dd>
|
||||||
|
<dt>Fix Cinder clones on RHEL 6/CentOS</dt>
|
||||||
|
<dd>On RHEL 6/CentOS 6 cloned LVM volumes required more space for metadata storage. <em>Commit <a href="https://review.openstack.org/34640">34640</a> merged 28 Jun 2013</em></dd>
|
||||||
|
<dt>Use lower case section names in Quantum</dt>
|
||||||
|
<dd>The service code now supports lowercase section names, change DevStack to use them by default. <em>Commit <a href="https://review.openstack.org/34177">34177</a> merged 27 Jun 2013</em></dd>
|
||||||
|
<dt>Set default VOLUME_BACKING_FILE to 10Gb</dt>
|
||||||
|
<dd>The previous default of 5Gb was not large enough for some Tempest usage requirements. <em>Commit <a href="https://review.openstack.org/33885">33885</a> merged 21 Jun 2013</em></dd>
|
||||||
|
<dt>Use service role for service accounts</dt>
|
||||||
|
<dd>Use an account with service role assigned rather than a full admin account for swift, heat, ceilometer. Ceilometer was later restored to admin account in <a href="https://review.openstack.org/33838">33838</a>. <em>Commit <a href="https://review.openstack.org/31687">31687</a> merged 16 Jun 2013</em></dd>
|
||||||
|
<dt>Enable Nova API v3</dt>
|
||||||
|
<dd>Nova disables API v3 by default so explicitly enable it. <em>Commit <a href="https://review.openstack.org/311980">31190</a> merged 31 May 2013</em></dd>
|
||||||
|
<dt>Enable Debian support</dt>
|
||||||
|
<dd>Allows Devstack to run on Debian as an unsupported OS. <em>Commit <a href="https://review.openstack.org/28215">28215</a> merged 9 May 2013</em></dd>
|
||||||
|
<dt>Default SWIFT_DATA_DIR to use $DATA_DIR</dt>
|
||||||
|
<dd>Previously SWIFT_DATA_DIR was in $DEST/data. <em>Commit <a href="https://review.openstack.org/27749">27749</a> merged 3 May 2013</em></dd>
|
||||||
|
<dt>Set default S3_URL port to 8080</dt>
|
||||||
|
<dd>Set port to 8080 if swift3 is enabled, previously was nove objectstore value of 3333. <em>Commit <a href="https://review.openstack.org/27404">27404</a> merged 25 Apr 2013</em></dd>
|
||||||
|
|
||||||
|
<dt>Use example settings in horizon repo as local_settings.py</dt>
|
||||||
|
<dd>Removes <code>files/horizon_settings.py</code> and copies the same file from the Horizon repo. <em>Commit <a href="https://review.openstack.org/25510">25510</a> merged 28 Mar 2013</em></dd>
|
||||||
|
<dt>Add support for iso files as glance images</dt>
|
||||||
|
<dd>Add support for iso files as glance images <em>Commit <a href="https://review.openstack.org/25290">25290</a> merged 28 Mar 2013</em></dd>
|
||||||
|
|
||||||
|
<dt>Allow processes to run without screen</dt>
|
||||||
|
<dd>Add <code>USE_SCREEN=False</code> to <code>localrc</code> to cause all server processes to run without <code>screen</code>. This is expected to be used primarily in the CI tests and should address the failures seen when <code>screen</code> does not start a process. <em>Commit <a href="https://review.openstack.org/23148">23148</a> merged 20 Mar 2013</em></dd>
|
||||||
|
<dt>Add clean.sh</dt>
|
||||||
|
<dd>This is intended to remove as much of the non-packaged (both OS and pip) remnants of DevStack from the system. It is suitable for changing queue managers and databases as those packages are uninstalled. It does not change the network configuration that Nova performs nor does it even attempt to undo anything that Quantum does. <em>Commit <a href="https://review.openstack.org/24360">24360</a> merged 15 Mar 2013</em></dd>
|
||||||
|
<dt>Add support for running a specific set of exercises</dt>
|
||||||
|
<dd>Set <code>RUN_EXERCISES</code> to a comma separated list of exercise names to run. <code>SKIP_EXERCISES</code> is ignored in this mode. <em>Commit <a href="https://review.openstack.org/23846">23846</a> merged 15 Mar 2013</em></dd>
|
||||||
|
<dt>Deprecate DATABASE_TYPE and use_database</dt>
|
||||||
|
<dd>This changes the way that a database is selected back to using only <code>ENABLED_SERVICES</code>. Backward compatibility is maintained until after Grizzly is released. <em>Commit <a href="https://review.openstack.org/22635">22635</a> merged 22 Feb 2013</em></dd>
|
||||||
|
<dt>Create tools/install_prereqs.sh</dt>
|
||||||
|
<dd>This factors out the installation/upgrade of required OS packages so it can run independently of <code>stack.sh</code>. It also adds a time marker so it does not run again within a set amount of time, default is 2 hours. Remove <code>.prereqs</code> to reset this timeout. <em>Commit <a href="https://review.openstack.org/21397">21397</a> merged 10 Feb 2013</em></dd>
|
||||||
|
<dt>Add initial LDAP support</dt>
|
||||||
|
<dd>Installs and configures OpenLDAP for Keystone. Select by adding <code>enable_service ldap</code> and <code>KEYSTONE_IDENTITY_BACKEND=ldap</code> to <code>localrc</code>. <em>Commit <a href="https://review.openstack.org/20249">20249</a> merged 07 Feb 2013</em></dd>
|
||||||
|
<dt>Add variable to set Keystone token backend</dt>
|
||||||
|
<dd>Change the default Keystone token backend from <code>kvs</code> to <code>sql</code>by setting <code>KEYSTONE_TOKEN_BACKEND=sql</code>. <em>Commit <a href="https://review.openstack.org/20739">20739</a> merged 30 Jan 2013</em></dd>
|
||||||
|
<dt>Add Sheepdog support in Cinder</dt>
|
||||||
|
<dd>This enables using Sheepdog as a Cinder backend storage by setting <code>CINDER_DRIVER=sheepdog</code>. <em>Commit <a href="https://review.openstack.org/19931">19931</a> merged 18 Jan 2013</em></dd>
|
||||||
|
<dt>Support SPICE</dt>
|
||||||
|
<dd>Adds an 'n-spice' service (off by default) that supports SPICE in the Nova libvirt driver. It also allows running in a SPICE only environment. <em>Commit <a href="https://review.openstack.org/19934">19934</a> merged 18 Jan 2013</em></dd>
|
||||||
|
|
||||||
|
<dt>Add a mechanism to automatically load additional projects at the end of <code>stack.sh</code></dt>
|
||||||
|
<dd>This differs from loca.sh in that scripts can be dropped into <code>local.d</code> and <code>stack.sh</code> will source them in alphanumeric order. <em>Commit <a href="https://review.openstack.org/19367">19367</a> merged 11 Jan 2013</em></dd>
|
||||||
|
<dt>Add support fir <code>baremetal</code> hypervisor</dt>
|
||||||
|
<dd>This is the first of a set of commits that enable baremetal support. <em>Commit <a href="https://review.openstack.org/15941">15941</a> merged 28 Dec 2012</em></dd>
|
||||||
|
<dt>Add support for OpenSuSE 12.2</dt>
|
||||||
|
<dd>This is actually just the commit to remove the need for FORCE=yes, OpenSuSE support has been coming along for a while. <em>Commit <a href="https://review.openstack.org/18479">18479</a> merged 27 Dec 2012</em></dd>
|
||||||
|
<dt>Save selected environment variables from <code>stack.sh</code> for later use</dt>
|
||||||
|
<dd>Write a set of environment variables to <code>.stackenv</code> so they can be quickly used by other scripts. These are mostly the variables that are derived and not statically set. <code>.stackenv</code> is overwritten on every <code>stack.sh</code> run.<em>Commit <a href="https://review.openstack.org/18094">18094</a> merged 19 Dec 2012</em></dd>
|
||||||
|
<dt>Enable Tempest by default</dt>
|
||||||
|
<dd>Tempest is now downloaded and configured by default in DevStack. This is to encourage more developers to use it as part of their workflow. Tempest configuration is now handled in <code>lib/tempest</code>; <code>tools/configure_tempest.sh</code> has been removed. <em>Commit <a href="https://review.openstack.org/17808">17808</a> merged 12 Dec 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add PostgreSQL support</dt>
|
||||||
|
<dd>Adds an abstraction layer to database configuration and adds support for PostgreSQL under that. MySQL is still the default. To use add <code>use_database postgresql</code> to <code>localrc</code><em>Commit <a href="https://review.openstack.org/15224">15224</a> merged 05 Nov 2012</em></dd>
|
||||||
|
<dt>Add PKI token configuration support</dt>
|
||||||
|
<dd>Adds configuration KEYSTONE_TOKEN_FORMAT to select <code>PKI</code> or <code>UUID</code> token format. The default is <code>PKI</code>.<em>Commit <a href="https://review.openstack.org/14895">14895</a> merged 29 Oct 2012</em></dd>
|
||||||
|
<dt>Add Ubuntu Raring Ringtail support</dt>
|
||||||
|
<dd>Adds raring to the list of supported Ubuntu releases<em>Commit <a href="https://review.openstack.org/14692">14692</a> merged 24 Oct 2012</em></dd>
|
||||||
|
<dt>Add support for Quantum Ryu plugin</dt>
|
||||||
|
<dd>Ryu plugin lets Quantum link Open vSwitch and Ryu OpenFlow controller<em>Commit <a href="https://review.openstack.org/10117">10117</a> merged 20 Oct 2012</em></dd>
|
||||||
|
<dt>Configure and launch HEAT API</dt>
|
||||||
|
<dd>Creates a new enpoint using service type 'orchestration'.<em>Commit <a href="https://review.openstack.org/14195">14195</a> merged 10 Oct 2012</em></dd>
|
||||||
|
<dt>Fix upload image handling</dt>
|
||||||
|
<dd>Detect qcow, raw, vdi, vmdk image formats and sets Glance's disk format accordingly. <em>Commit <a href="https://review.openstack.org/13044">13044</a> merged 24 Sep 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add non-verbose output mode</dt>
|
||||||
|
<dd>Set <code>VERBOSE=False</code> in <code>localrc</code> and see only periodic status messages on the screen. The detailed output continues to be written to the log file if <code>LOGFILE</code> is set. <em>Commit <a href="https://review.openstack.org/12996/">12996</a> merged 17 Sep 2012</em></dt>
|
||||||
|
|
||||||
|
<dt>Move data directories out of source repos</dt>
|
||||||
|
<dd>Data for Glance (images and cache) and Nova (instances, all state info) have historically been in the source repo. They have been moved to <code>$DEST/data/<project></code> by default. <em>Commit <a hred="https://review.openstack.org/12989/">12989</a> merged 14 Sep 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Change default Keystone backend to SQL</dt>
|
||||||
|
<dd>Keystone now uses the SQL backend by default enabling the use of the CRUD API; now <code>keystone service-create ...</code> works. Set <code>KEYSTONE_CATALOG_BACKEND=template</code> to maintain the previous behaviour. <em>Commit <a href="https://review.openstack.org/12746/">12746</a> merged 12 Sep 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Set <code>FLAT_INTERFACE</code> for local-only use</dt>
|
||||||
|
<dd>Allow <code>FLAT_INTERFACE</code> to be defined as <code>""</code> to prevent the <code>HOST_IP</code> from being moved to <code>br100</code>. <em>Commit <a href="https://review.openstack.org/12671/">12671</a> merged 09 Sep 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add support for Quantum L3 agent</dt>
|
||||||
|
<dd>Only available with OpenVSwitch plugin. <em>Commit <a href="https://review.openstack.org/11380/">11380</a> merged 08 Sep 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Configure Glance caching</dt>
|
||||||
|
<dd>Configure Glance caching and cache management. <em>Commit <a href="https://review.openstack.org/12207/">12207</a> merged 07 Sep 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add ZeroMQ RPC backend</dt>
|
||||||
|
<dd>Support ZeroMQ in addition to RabbitMQ and Qpid. But only one at a time. <em>Commit <a href="https://review.openstack.org/9278/">9278</a> merged 01 Sep 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add Heat support</dt>
|
||||||
|
<dd>Support Heat via the standard <code>ENABLED_SERVICES</code> configuration. <em>Commit <a href="https://review.openstack.org/11266/">11266</a> merged 28 Aug 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Ceilometer is now supported.</dt>
|
||||||
|
<dd>There is a description of how to get stared with it at <a href="https://lists.launchpad.net/openstack/msg15940.html">https://lists.launchpad.net/openstack/msg15940.html</a>. <em>Commit <a href="https://review.openstack.org/10363">10363</a> merged 17 Aug 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Colored logs in cinder</dt>
|
||||||
|
<dd>Chmouel has brought Vishy's colored log file patch to Cinder. <em>Commit <a href="https://review.openstack.org/10769">10769</a> merged 16 Aug 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Keystone auth middleware from Swift</dt>
|
||||||
|
<dd>Swift now uses <code>keystoneauth</code> by default. Commit <a href="https://review.openstack.org/10876">10876</a> merged 16 Aug 2012</dd>
|
||||||
|
|
||||||
|
<dt>Add support for <code>NO_PROXY</code></dt>
|
||||||
|
<dd>Added support for the standard no_proxy environment variable. <em>Commit <a href="https://review.openstack.org/10264">10264</a> merged 10 Aug 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Use default route to find <code>HOST_IP</code></dt>
|
||||||
|
<dd>This changed the login for hunting down the value of <code>HOST_IP</code> to look on the interface that has the default route. <em>Commit <a href="https://review.openstack.org/9291">9291</a> merged 10 Aug 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Enable testing of OpenVZ guests</dt>
|
||||||
|
<dd>Allows using OpenVZ virtualization layer. <em>Commit <a href="https://review.openstack.org/10317">10317</a> merged 07 Aug 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Cinder is the default volume service</dt>
|
||||||
|
<dd>DevStack is now configured to use Cinder as its volume service by default. <em>Commit <a hred="https://review.openstack.org/9662">9662</a> merged 27 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Increase size of default volume backing file</dt>
|
||||||
|
<dd>The volume backing file is now 5Gb by default. It can still be set using <code>VOLUME_BACKING_FILE_SIZE</code> in <code>localrc</code>. <em>Commit <a href="https://review.openstack.org/9837">9837</a> merged 19 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Configure pip cache location</dt>
|
||||||
|
<dd>Set <code>PIP_DOWNLOAD_CACHE</code> to the location of a root-writable directory to cache downloaded packages. <em>Commit <a href="https://review.openstack.org/9766">9766</a> merged 16 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add functions to manipulate <code>ENABLED_SERVICES</code>
|
||||||
|
<dd>Now <code>ENABLED_SERVICES</code> can be edited in <code>localrc</code> by using <code>enable_service()</code> and <code>disable_service()</code>. <em>Commit <a href="https://review.openstack.org/9407">9407</a> merged 13 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Change default Nova virt driver configuration</dt>
|
||||||
|
<dd>Change the Nova configuration to use <code>compute_driver</code> rather than <code>connection_type</code>. <em>Commit <a href="https://review.openstack.org/9635">9635</a> merged 13 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add support for Keystone PKI</dt>
|
||||||
|
<dd>Initializes Keystone's PKI configuration to support delegation and scaling. <em>Commit <a href="https://review.openstack.org/9240">9240</a> merged 13 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Disable Swift S3 support by default</dt>
|
||||||
|
<dd>Swift's S3 API support can be enabled by adding <code>swift3</code> to <code>ENABLED_SERVICES</code>. Commit <a href="https://review.openstack.org/9346">9346</a> merged 12 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Set libvirt CPU mode</dt>
|
||||||
|
<dd>Force <code>libvirt_cpu_move=none</code> to work around some nested virtualization issues. <em>Commit <a href="https://review.openstack.org/9718">9718</a> merged 12 Jul 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Support Nova rootwrap</dt>
|
||||||
|
<dd>Add support for Nova rootwrap configuration. <em>Commits <a href="https://review.openstack.org/8842/">8842</a> merged 25 Jun 2012 and <a href="https://review.openstack.org/8750/">8750</a> merged 20 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add Cinder support</dt>
|
||||||
|
<dd>Cinder can now be enabled by adding <code>c-api,c-sch,c-vol</code> to <code>ENABLED-sERVICES</code>. This also changed a couple of defaults: <code>VOLUME_GROUP</code> is now <code>stack-volumes</code> and <code>VOLUME_BACKING_FILE</code> is now <code>${DEST}/data/${VOLUME_GROUP}-backing-file</code>. <em>Commit <a href="https://review.openstack.org/7042">7042</a> merged 20 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Set default image for exercises</dt>
|
||||||
|
<dd>Set <code>DEFAULT_IMAGE_NAME</code> in <code>stackrc</code> to the cirros images downloaded. This avoids the ambiguous search for an 'ami'. <em>Commit <a href="https://review.openstack.org/7910">7910</a> merged 14 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Use default Swift config files</dt>
|
||||||
|
<dd>Use the configuration files shipped with Swift source rather than carrying files in the DevStack sources. <em>Commit <a href="https://review.openstack.org/8223">8223</a> merged 14 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Install Swift client</dt>
|
||||||
|
<dd>Install the new Swift client when Swift is enabled. <em>Commit <a href="https://review.openstack.org/7663">7663</a> merged 11 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Use pip to install Python dependencies</dt>
|
||||||
|
<dd>Use the dependencies in the <code>*.egg-info/requires.txt</code> and <code>*.egg-info/dependency_links.txt</code> to prevent <code>easy_install</code> from resolving the dependencies. <em>Commit <a href="https://review.openstack.org/8289">8289</a> merged 07 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Remove support for DevStack pip dependencies</dt>
|
||||||
|
<dd>Remove DevStack Python dependency files <code>files/pips/*</code> and handle Python dependencies through <code>tools/pip-requires</code>. <em>Commit <a href="https://review.openstack.org/8263">8263</a> merged 07 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Update XenServer support</dt>
|
||||||
|
<dd>Updates to work with <code>xcp-xapi</code> package on Ubuntu 12.04 and fix a number of other minor install problems. <em>Commits <a href="https://review.openstack.org/7673/">7673</a> and <a href="https://review.openstack.org/7449/">7449</a> merged 01 Jun 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Enable Quantum multi-node</dt>
|
||||||
|
<dd>Enable running Quantum agents on multiple nodes. <em>Commit <a href="https://review.openstack.org/7001">7001</a> merged 26 May 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Reinitialize Swift data store</dt>
|
||||||
|
<dd>Create a new XFS filesystem on the Swift data store on every <code>stack.sh</code> run. <em>Commit <a href="https://review.openstack.org/7554">7554</a> merged 22 May 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add support for Qpid</dt>
|
||||||
|
<dd>Configure Qpid RPC by replacing <code>rabbit</code> with <code>qpid</code> in <code>ENABLED_SERVICES</code>. <em>Commit <a href="https://review.openstack.org/6501">6501</a> merged 17 May 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Glance uses Swift if enabled</dt>
|
||||||
|
<dd>If Swift is enabled Glance will store images there by default. <em>Commit <a href="https://review.openstack.org/7277">7277</a> merged 15 May 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add Quantum linuxbridge support</dt>
|
||||||
|
<dd>Support using linuxbridge in Quantum. <em>Commit <a href="https://review.openstack.org/7300">7300</a> merged 10 May 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Change Nova volume name template</dt>
|
||||||
|
<dd>Change Nova's <code>volume_name_template</code> to <code>${VOLUME_NAME_PREFIX}%s</code>. <em>Commit <a href="https://review.openstack.org/7004">7004</a> merged 02 May 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Change MySQL engine default</dt>
|
||||||
|
<dd>Use InnoDB engine in MySQL by default. <em>Commit <a href="https://review.openstack.org/6185">6185</a> merged 30 Apr 2012</em></dd>
|
||||||
|
|
||||||
|
<dt>Add Glance client</dt>
|
||||||
|
<dd>Add new <code>python-glanceclient</code> to override the clinet in the Glance repo. <em>Config <a href="https://review.openstack.org/6533">6533</a> merged 26 Apr 2012</em></dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
243
docs/source/configuration.html
Normal file
243
docs/source/configuration.html
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - Overview</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" id="home">
|
||||||
|
|
||||||
|
<section id="overview" class="span12">
|
||||||
|
|
||||||
|
<div class='row pull-left'>
|
||||||
|
<h2>Configuration <small>Making it go my way</small></h2>
|
||||||
|
<p>DevStack has always tried to be mostly-functional with a minimal amount of configuration. The number of options has ballooned as projects add features, new projects added and more combinations need to be tested. Historically DevStack obtained all local configuration and customizations from a <code>localrc</code> file. The number of configuration variables that are simply passed-through to the individual project configuration files is also increasing. The old mechanism for this (<code>EXTRAS_OPTS</code> and friends) required specific code for each file and did not scale well.</p>
|
||||||
|
<p>In Oct 2013 a new configuration method was introduced (in <a href="https://review.openstack.org/#/c/46768/">review 46768</a>) to hopefully simplify this process and meet the following goals:</p>
|
||||||
|
<ul>
|
||||||
|
<li>contain all non-default local configuration in a single file</li>
|
||||||
|
<li>be backward-compatible with <code>localrc</code> to smooth the transition process</li>
|
||||||
|
<li>allow settings in arbitrary configuration files to be changed</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
<pre>[[ <phase> | <config-file-name> ]]
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>where <code><phase></code> is one of a set of phase names defined by <code>stack.sh</code> and <code><config-file-name></code> is the configuration filename. The filename is eval'ed in the <code>stack.sh</code> context so all environment variables are available and may be used. Using the project config file variables in the header is strongly suggested (see the <code>NOVA_CONF</code> example below). If the path of the config file does not exist it is skipped.</p>
|
||||||
|
|
||||||
|
<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>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>
|
||||||
|
|
||||||
|
<p>The file is processed strictly in sequence; meta-sections may be specified more than once but if any settings are duplicated the last to appear in the file will be used.</p>
|
||||||
|
<pre>[[post-config|$NOVA_CONF]]
|
||||||
|
[DEFAULT]
|
||||||
|
use_syslog = True
|
||||||
|
|
||||||
|
[osapi_v3]
|
||||||
|
enabled = False
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>A specific meta-section <code>local|localrc</code> is used to
|
||||||
|
provide a default <code>localrc</code> file (actually
|
||||||
|
<code>.localrc.auto</code>). This allows all custom settings
|
||||||
|
for DevStack to be contained in a single file. If <code>localrc</code>
|
||||||
|
exists it will be used instead to preserve backward-compatibility. More
|
||||||
|
details on the <a href="localrc.html">contents of localrc</a> are available.</p>
|
||||||
|
<pre>[[local|localrc]]
|
||||||
|
FIXED_RANGE=10.254.1.0/24
|
||||||
|
ADMIN_PASSWORD=speciale
|
||||||
|
LOGFILE=$DEST/logs/stack.sh.log
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>Note that <code>Q_PLUGIN_CONF_FILE</code> is unique in that it is assumed to <em>NOT</em> start with a <code>/</code> (slash) character. A slash will need to be added:</p>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<a id="minimal"></a>
|
||||||
|
<h3>Minimal Configuration</h3>
|
||||||
|
<p>While <code>stack.sh</code> is happy to run without a <code>localrc</code> section in <code>local.conf</code>, devlife is better when there are a few minimal variables set. This is an example of a minimal configuration that touches the values that most often need to be set.</p>
|
||||||
|
<ul>
|
||||||
|
<li>no logging</li>
|
||||||
|
<li>pre-set the passwords to prevent interactive prompts</li>
|
||||||
|
<li>move network ranges away from the local network (<code>FIXED_RANGE</code> and <code>FLOATING_RANGE</code>, commented out below)</li>
|
||||||
|
<li>set the host IP if detection is unreliable (<code>HOST_IP</code>, commented out below)</li>
|
||||||
|
</ul>
|
||||||
|
<pre>[[local|localrc]]
|
||||||
|
ADMIN_PASSWORD=secrete
|
||||||
|
DATABASE_PASSWORD=$ADMIN_PASSWORD
|
||||||
|
RABBIT_PASSWORD=$ADMIN_PASSWORD
|
||||||
|
SERVICE_PASSWORD=$ADMIN_PASSWORD
|
||||||
|
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50
|
||||||
|
#FIXED_RANGE=172.31.1.0/24
|
||||||
|
#FLOATING_RANGE=192.168.20.0/25
|
||||||
|
#HOST_IP=10.3.4.5</pre>
|
||||||
|
<p>If the <code>*_PASSWORD</code> variables are not set here you will be prompted to enter values for them by <code>stack.sh</code>.</p>
|
||||||
|
<p>The network ranges must not overlap with any networks in use on the host. Overlap is not uncommon as RFC-1918 'private' ranges are commonly used for both the local networking and Nova's fixed and floating ranges.</p>
|
||||||
|
<p><code>HOST_IP</code> is normally detected on the first run of <code>stack.sh</code> but often is indeterminate on later runs due to the IP being moved from an Ethernet integace to a bridge on the host. Setting it here also makes it available for <code>openrc</code> to set <code>OS_AUTH_URL</code>. <code>HOST_IP</code> is not set by default.</p>
|
||||||
|
|
||||||
|
<h3>Common Configuration Variables</h3>
|
||||||
|
<dl>
|
||||||
|
<dt>Set DevStack install directory</dt>
|
||||||
|
<dd><em>Default: <code>DEST=/opt/stack</code></em><br />
|
||||||
|
The DevStack install directory is set by the <code>DEST</code> variable. By setting it early in the <code>localrc</code> section you can reference it in later variables. It can be useful to set it even though it is not changed from the default value.
|
||||||
|
<pre>DEST=/opt/stack</pre></dd>
|
||||||
|
|
||||||
|
<dt>stack.sh logging</dt>
|
||||||
|
<dd><em>Defaults: <code>LOGFILE="" LOGDAYS=7 LOG_COLOR=True</code></em><br />
|
||||||
|
By default <code>stack.sh</code> output is only written to the console where is runs. It can be sent to a file in addition to the console by setting <code>LOGFILE</code> to the fully-qualified name of the destination log file. A timestamp will be appended to the given filename for each run of <code>stack.sh</code>.
|
||||||
|
<pre>LOGFILE=$DEST/logs/stack.sh.log</pre>
|
||||||
|
Old log files are cleaned automatically if <code>LOGDAYS</code> is set to the number of days of old log files to keep.
|
||||||
|
<pre>LOGDAYS=1</pre>
|
||||||
|
The some of the project logs (Nova, Cinder, etc) will be colorized by default (if <code>SYSLOG</code> is not set below); this can be turned off by setting <code>LOG_COLOR</code> False.
|
||||||
|
<pre>LOG_COLOR=False</pre></dd>
|
||||||
|
|
||||||
|
<dt>Screen logging</dt>
|
||||||
|
<dd><em>Default: <code>SCREEN_LOGDIR=""</code></em><br />
|
||||||
|
By default DevStack runs the OpenStack services using <code>screen</code> which is useful for watching log and debug output. However, in automated testing the interactive <code>screen</code> sessions may not be available after the fact; setting <code>SCREEN_LOGDIR</code> enables logging of the <code>screen</code> sessions in the specified diretory. There will be one file per <code>screen</code> session named for the session name and a timestamp.
|
||||||
|
<pre>SCREEN_LOGDIR=$DEST/logs/screen</pre>
|
||||||
|
<em>Note the use of <code>DEST</code> to locate the main install directory; this is why we suggest setting it in <code>local.conf</code>.</em></dd><br />
|
||||||
|
|
||||||
|
<dt>One syslog to bind them all</dt>
|
||||||
|
<dd><em>Default: <code>SYSLOG=False SYSLOG_HOST=$HOST_IP SYSLOG_PORT=516</code></em><br />
|
||||||
|
Logging all services to a single syslog can be convenient. Enable syslogging by seting <code>SYSLOG</code> to <code>True</code>. If the destination log host is not localhost <code>SYSLOG_HOST</code> and <code>SYSLOG_PORT</code> can be used to direct the message stream to the log host.
|
||||||
|
<pre>SYSLOG=True
|
||||||
|
SYSLOG_HOST=$HOST_IP
|
||||||
|
SYSLOG_PORT=516</pre></dd>
|
||||||
|
|
||||||
|
<dt>A clean install every time</dt>
|
||||||
|
<dd><em>Default: <code>RECLONE=""</code></em><br />
|
||||||
|
By default <code>stack.sh</code> only clones the project repos if they do not exist in <code>$DEST</code>. <code>stack.sh</code> will freshen each repo on each run if <code>RECLONE</code> is set to <code>yes</code>. This avoids having to manually remove repos in order to get the current branch from <code>$GIT_BASE</code>.
|
||||||
|
<pre>RECLONE=yes</code></dd>
|
||||||
|
|
||||||
|
<dt>Swift</dt>
|
||||||
|
<dd><em>Default: <code>SWIFT_HASH="" SWIFT_REPLICAS=1 SWIFT_DATA_DIR=$DEST/data/swift</code></em><br />
|
||||||
|
Swift is now used as the back-end for the S3-like object store. When enabled Nova's objectstore (n-obj in <code>ENABLED_SERVICES</code>) is automatically disabled. Enable Swift by adding it services to <code>ENABLED_SERVICES</code>:
|
||||||
|
<pre>enable_service s-proxy s-object s-container s-account</pre>
|
||||||
|
Setting Swift's hash value is required and you will be prompted for it if Swift is enabled so just set it to something already:
|
||||||
|
<pre>SWIFT_HASH=66a3d6b56c1f479c8b4e70ab5c2000f5</pre>
|
||||||
|
For development purposes the default number of replicas is set to <code>1</code> to reduce the overhead required. To better simulate a production deployment set this to <code>3</code> or more.
|
||||||
|
<pre>SWIFT_REPLICAS=3</pre>
|
||||||
|
The data for Swift is stored in the source tree by default
|
||||||
|
(in <code>$DEST/swift/data</code>) and can be moved by setting
|
||||||
|
<code>SWIFT_DATA_DIR</code>. The specified directory will be created if it does not exist.
|
||||||
|
<pre>SWIFT_DATA_DIR=$DEST/data/swift</pre>
|
||||||
|
<em>Note: Previously just enabling <code>swift</code> was sufficient to start the Swift services. That does not provide proper service granularity, particularly in multi-host configurations, and is considered deprecated. Some service combination tests now check for specific Swift services and the old blanket acceptance will longer work correctly.</em>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>Service Catalog Backend</dt>
|
||||||
|
<dd><em>Default: <code>KEYSTONE_CATALOG_BACKEND=sql</code></em><br />
|
||||||
|
DevStack uses Keystone's <code>sql</code> service catalog backend. An alternate <code>template</code> backend is also available. However, it does not support the <code>service-*</code> and <code>endpoint-*</code> commands of the <code>keystone</code> CLI. To
|
||||||
|
do so requires the <code>sql</code> backend be enabled:
|
||||||
|
<pre>KEYSTONE_CATALOG_BACKEND=template</pre>
|
||||||
|
DevStack's default configuration in <code>sql</code> mode is set in
|
||||||
|
<code>files/keystone_data.sh</code></dd>
|
||||||
|
|
||||||
|
<dt>Cinder</dt>
|
||||||
|
<dd><em>Default: <code>VOLUME_GROUP="stack-volumes" VOLUME_NAME_PREFIX="volume-" VOLUME_BACKING_FILE_SIZE=10250M</code></em><br />
|
||||||
|
The logical volume group used to hold the Cinder-managed volumes is set by <code>VOLUME_GROUP</code>, the logical volume name prefix is set with <code>VOLUME_NAME_PREFIX</code> and the size of the volume backing file is set with <code>VOLUME_BACKING_FILE_SIZE</code>.
|
||||||
|
<pre>VOLUME_GROUP="stack-volumes"
|
||||||
|
VOLUME_NAME_PREFIX="volume-"
|
||||||
|
VOLUME_BACKING_FILE_SIZE=10250M</pre></dd>
|
||||||
|
|
||||||
|
<dt>Multi-host DevStack</dt>
|
||||||
|
<dd><em>Default: <code>MULTI_HOST=False</code></em><br />
|
||||||
|
Running DevStack with multiple hosts requires a custom <code>local.conf</code> section for each host. The master is the same as a single host installation with <code>MULTI_HOST=True</code>. The slaves have fewer services enabled and a couple of host variables pointing to the master.
|
||||||
|
<br /><br />
|
||||||
|
<strong>Master</strong>
|
||||||
|
<pre>MULTI_HOST=True</pre>
|
||||||
|
|
||||||
|
<strong>Slave</strong>
|
||||||
|
<pre>MYSQL_HOST=w.x.y.z
|
||||||
|
RABBIT_HOST=w.x.y.z
|
||||||
|
GLANCE_HOSTPORT=w.x.y.z:9292
|
||||||
|
ENABLED_SERVICES=n-vol,n-cpu,n-net,n-api</pre></dd>
|
||||||
|
|
||||||
|
<dt>API rate limits</dt>
|
||||||
|
<dd><em>Default: <code>API_RATE_LIMIT=True</code><br />
|
||||||
|
Integration tests such as Tempest will likely run afoul of the default rate limits configured for Nova. Turn off rate limiting during testing by setting <code>API_RATE_LIMIT=False</code>.
|
||||||
|
<pre>API_RATE_LIMIT=False</pre></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<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]
|
||||||
|
periodic_interval = 60
|
||||||
|
</pre></li>
|
||||||
|
<li>Sample <code>local.conf</code> with screen logging enabled:
|
||||||
|
<pre>[[local|localrc]]
|
||||||
|
FIXED_RANGE=10.254.1.0/24
|
||||||
|
NETWORK_GATEWAY=10.254.1.1
|
||||||
|
LOGDAYS=1
|
||||||
|
LOGFILE=$DEST/logs/stack.sh.log
|
||||||
|
SCREEN_LOGDIR=$DEST/logs/screen
|
||||||
|
ADMIN_PASSWORD=quiet
|
||||||
|
DATABASE_PASSWORD=$ADMIN_PASSWORD
|
||||||
|
RABBIT_PASSWORD=$ADMIN_PASSWORD
|
||||||
|
SERVICE_PASSWORD=$ADMIN_PASSWORD
|
||||||
|
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50</pre></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
87
docs/source/contributing.html
Normal file
87
docs/source/contributing.html
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - Overview</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" id="home">
|
||||||
|
|
||||||
|
<section id="overview" class="span12">
|
||||||
|
|
||||||
|
<div class='row pull-left'>
|
||||||
|
<h2>Contributing <small>Help us help you</small></h2>
|
||||||
|
<p>DevStack uses the standard OpenStack contribution process as outlined in <a href="https://wiki.openstack.org/wiki/How_To_Contribute">the OpenStack wiki 'How To Contribute'</a>. This means that you will need to meet the requirements of the Contribututors License Agreement (CLA). If you have already done that for another OpenStack project you are good to go.</p>
|
||||||
|
|
||||||
|
<h3>Things To Know</h3>
|
||||||
|
|
||||||
|
<br /><strong>Where Things Are</strong>
|
||||||
|
<p>The official DevStack repository is located at <code>git://github.com/openstack-dev/devstack.git</code> and <code>git://git.openstack.org/openstack-dev/devstack.git</code>, both mirrors of the official repo maintained by Gerrit.</p>
|
||||||
|
<p>The <a href="https://blueprints.launchpad.net/devstack">blueprint</a> and <a href="https://bugs.launchpad.net/devstack">bug trackers</a> are on Launchpad. It should be noted that DevStack generally does not use these as strongly as other projects, but we're trying to change that.</p>
|
||||||
|
<p>The <a href="https://review.openstack.org/#/q/project:openstack-dev/devstack,n,z">Gerrit review queue</a> is, however, used for all commits except for the text of this website. That should also change in the near future.</p>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<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>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>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — An <a href="https://wiki.openstack.org/wiki/Programs">OpenStack program</a> created by <a href="http://www.rackspace.com/cloud/private_edition/">Rackspace Cloud Builders</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
94
docs/source/eucarc.html
Normal file
94
docs/source/eucarc.html
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - eucarc</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<section class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>eucarc <small>EC2 settings</small></h2>
|
||||||
|
<p><code>eucarc</code> creates EC2 credentials for the current user as
|
||||||
|
defined by <code>OS_TENANT_NAME:OS_USERNAME</code>.
|
||||||
|
<code>eucarc</code> sources <code>openrc</code> at the beginning
|
||||||
|
(which in turn sources <code>stackrc</code> and <code>localrc</code>)
|
||||||
|
in order to set credentials to create EC2 credentials in Keystone.
|
||||||
|
</div>
|
||||||
|
<dl>
|
||||||
|
|
||||||
|
<dt>EC2_URL</dt>
|
||||||
|
<dd>Set the EC2 url for euca2ools. The endpoint is extracted from the
|
||||||
|
service catalog for <code>OS_TENANT_NAME:OS_USERNAME</code>.
|
||||||
|
<pre>EC2_URL=$(keystone catalog --service ec2 | awk '/ publicURL / { print $4 }')</pre></dd>
|
||||||
|
|
||||||
|
<dt>S3_URL</dt>
|
||||||
|
<dd>Set the S3 endpoint for euca2ools. The endpoint is extracted from the
|
||||||
|
service catalog for <code>OS_TENANT_NAME:OS_USERNAME</code>.
|
||||||
|
<pre>export S3_URL=$(keystone catalog --service s3 | awk '/ publicURL / { print $4 }')</pre></dd>
|
||||||
|
|
||||||
|
<dt>EC2_ACCESS_KEY, EC2_SECRET_KEY</dt>
|
||||||
|
<dd>Create EC2 credentials for the current tenant:user in Keystone.
|
||||||
|
<pre>CREDS=$(keystone ec2-credentials-create)
|
||||||
|
export EC2_ACCESS_KEY=$(echo "$CREDS" | awk '/ access / { print $4 }')
|
||||||
|
export EC2_SECRET_KEY=$(echo "$CREDS" | awk '/ secret / { print $4 }')</pre></dd>
|
||||||
|
|
||||||
|
<dt>Certificates for Bundling</dt>
|
||||||
|
<dd>Euca2ools requires certificate files to enable bundle uploading.
|
||||||
|
The exercise script <code>exercises/bundle.sh</code> demonstrated
|
||||||
|
retrieving certificates using the Nova CLI.
|
||||||
|
<pre>EC2_PRIVATE_KEY=pk.pem
|
||||||
|
EC2_CERT=cert.pem
|
||||||
|
NOVA_CERT=cacert.pem
|
||||||
|
EUCALYPTUS_CERT=${NOVA_CERT}</pre></dd>
|
||||||
|
|
||||||
|
</dl>
|
||||||
|
</section
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — An
|
||||||
|
<a href="https://wiki.openstack.org/wiki/Programs">OpenStack program</a>
|
||||||
|
created by <a href="http://www.rackspace.com/cloud/private_edition/">Rackspace Cloud Builders</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
88
docs/source/exerciserc.html
Normal file
88
docs/source/exerciserc.html
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - exerciserc</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<section class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>exerciserc <small>Exercise settings</small></h2>
|
||||||
|
<p><code>exerciserc</code> is used to configure settings for the
|
||||||
|
exercise scripts. The values shown below are the default values.
|
||||||
|
Thse can all be overridden by setting them in the <code>localrc</code>
|
||||||
|
section.</p>
|
||||||
|
</div>
|
||||||
|
<dl>
|
||||||
|
|
||||||
|
<dt>ACTIVE_TIMEOUT</dt>
|
||||||
|
<dd>Max time to wait while vm goes from build to active state
|
||||||
|
<pre>ACTIVE_TIMEOUT==30</pre></dd>
|
||||||
|
|
||||||
|
<dt>ASSOCIATE_TIMEOUT</dt>
|
||||||
|
<dd>Max time to wait for proper IP association and dis-association.
|
||||||
|
<pre>ASSOCIATE_TIMEOUT=15</pre></dd>
|
||||||
|
|
||||||
|
<dt>BOOT_TIMEOUT</dt>
|
||||||
|
<dd>Max time till the vm is bootable
|
||||||
|
<pre>BOOT_TIMEOUT=30</pre></dd>
|
||||||
|
|
||||||
|
<dt>RUNNING_TIMEOUT</dt>
|
||||||
|
<dd>Max time from run instance command until it is running
|
||||||
|
<pre>RUNNING_TIMEOUT=$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))</pre></dd>
|
||||||
|
|
||||||
|
<dt>TERMINATE_TIMEOUT</dt>
|
||||||
|
<dd>Max time to wait for a vm to terminate
|
||||||
|
<pre>TERMINATE_TIMEOUT=30</pre></dd>
|
||||||
|
|
||||||
|
</dl>
|
||||||
|
</section
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — An
|
||||||
|
<a href="https://wiki.openstack.org/wiki/Programs">OpenStack program</a>
|
||||||
|
created by <a href="http://www.rackspace.com/cloud/private_edition/">Rackspace Cloud Builders</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
169
docs/source/faq.html
Normal file
169
docs/source/faq.html
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - Frequently Asked Questions</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" id="home">
|
||||||
|
|
||||||
|
<section id="faq" class="span12">
|
||||||
|
|
||||||
|
<div class='row pull-left'>
|
||||||
|
<h2>FAQ: Using DevStack <small>Making to behave</small></h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#general">General Questions</a></li>
|
||||||
|
<li><a href="#ops_conf">Operation and Configuration</a></li>
|
||||||
|
<li><a href="#misc">Miscellaneous</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3><a name="general">General Questions</a></h3>
|
||||||
|
|
||||||
|
<dl class='pull-left'>
|
||||||
|
<dt>Q: Can I use DevStack for production?</dt>
|
||||||
|
<dd>A: No. We mean it. Really. DevStack makes some implementation choices that are not appropriate for production deployments. We warned you!</dd>
|
||||||
|
|
||||||
|
<dt>Q: Then why selinux in enforcing mode?</dt>
|
||||||
|
<dd>A: That is the default on current Fedora and RHEL releases. DevStack has (rightly so) a bad reputation for its security practices; it has always been meant as a development tool first and system integration later. This is changing as the security issues around OpenStack's use of root (for example) have been tightened and developers need to be better equipped to work in these environments. <code>stack.sh</code>'s use of root is primarily to support the activities that would be handled by packaging in "real" deployments. To remove additional protections that will be desired/required in production would be a step backward.</dd>
|
||||||
|
|
||||||
|
<dt>Q: But selinux is disabled in RHEL 6!</dt>
|
||||||
|
<dd>A: Today it is, yes. That is a specific exception that certain DevStack contributors fought strongly against. The primary reason it was allowed was to support using RHEL6 as the Python 2.6 test platform and that took priority time-wise. This will not be the case with RHEL 7.</dd>
|
||||||
|
|
||||||
|
<dt>Q: Why a shell script, why not chef/puppet/...</dt>
|
||||||
|
<dd>A: The script is meant to be read by humans (as well as ran by computers); it is the primary documentation after all. Using a recipe system requires everyone to agree and understand chef or puppet.</dd>
|
||||||
|
|
||||||
|
<dt>Q: Why not use Crowbar?</dt>
|
||||||
|
<dd>A: DevStack is optimized for documentation & developers. As some of us use <a href="https://github.com/dellcloudedge/crowbar">Crowbar</a> for production deployments, we hope developers documenting how they setup systems for new features supports projects like Crowbar.</dd>
|
||||||
|
|
||||||
|
<dt>Q: I'd like to help!</dt>
|
||||||
|
<dd>A: That isn't a question, but please do! The source for DevStack is <a href="http://github.com/openstack-dev/devstack">github</a> and bug reports go to <a href="http://bugs.launchpad.net/devstack/">LaunchPad</a>. Contributions follow the usual process as described in the <a href="http://wiki.openstack.org/HowToContribute">OpenStack wiki</a> even though DevStack is not an official OpenStack project. This site is housed in the CloudBuilder's <a href="http://github.com/cloudbuilders/devstack">github</a> in the gh-pages branch.</dd>
|
||||||
|
|
||||||
|
<dt>Q: Why not use packages?</dt>
|
||||||
|
<dd>A: Unlike packages, DevStack leaves your cloud ready to develop - checkouts of the code and services running in screen. However, many people are doing the hard work of packaging and recipes for production deployments. We hope this script serves as a way to communicate configuration changes between developers and packagers.</dd>
|
||||||
|
|
||||||
|
<dt>Q: Why isn't $MY_FAVORITE_DISTRO supported?</dt>
|
||||||
|
<dd>A: DevStack is meant for developers and those who want to see how OpenStack really works. DevStack is known to run on the distro/release combinations listed in <code>README.md</code>. DevStack is only supported on releases other than those documented in <code>README.md</code> on a best-effort basis.</dd>
|
||||||
|
|
||||||
|
<dt>Q: What about Fedora/RHEL/CentOS?</dt>
|
||||||
|
<dd>A: Fedora and CentOS/RHEL are supported via rpm dependency files and specific checks in <code>stack.sh</code>. Support will follow the pattern set with the Ubuntu testing, i.e. only a single release of the distro will receive regular testing, others will be handled on a best-effort basis.</dd>
|
||||||
|
|
||||||
|
<dt>Q: Are there any differences between Ubuntu and Fedora support?</dt>
|
||||||
|
<dd>A: LXC support is not complete on Fedora; Neutron is not fully supported prior to Fedora 18 due lack of OpenVSwitch packages.</dd>
|
||||||
|
|
||||||
|
<dt>Q: How about RHEL 6?</dt>
|
||||||
|
<dd>A: RHEL 6 has Python 2.6 and many old modules packaged and is a challenge to support. There are a number of specific RHEL6 work-arounds in <code>stack.sh</code> to handle this. But the testing on py26 is valuable so we do it...</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3><a name="ops_conf">Operation and Configuration</a></h3>
|
||||||
|
|
||||||
|
<dl class='pull-left'>
|
||||||
|
<dt>Q: Can DevStack handle a multi-node installation?</dt>
|
||||||
|
<dd>A: Indirectly, yes. You run DevStack on each node with the appropriate configuration in <code>local.conf</code>. The primary considerations are turning off the services not required on the secondary nodes, making sure the passwords match and setting the various API URLs to the right place.</dd>
|
||||||
|
|
||||||
|
<dt>Q: How can I document the environment that DevStack is using?</dt>
|
||||||
|
<dd>A: DevStack includes a script (<code>tools/info.sh</code>) that gathers the versions of the relevant installed apt packages, pip packages and git repos. This is a good way to verify what Python modules are installed.</dd>
|
||||||
|
|
||||||
|
<dt>Q: How do I turn off a service that is enabled by default?</dt>
|
||||||
|
<dd>A: Services can be turned off by adding <code>disable_service xxx</code> to <code>local.conf</code> (using <code>n-vol</code> in this example):
|
||||||
|
<pre>disable_service n-vol</pre>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>Q: Is enabling a service that defaults to off done with the reverse of the above?</dt>
|
||||||
|
<dd>A: Of course!
|
||||||
|
<pre>enable_service qpid</pre>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>Q: How do I run a specific OpenStack milestone?</dt>
|
||||||
|
<dd>A: OpenStack milestones have tags set in the git repo. Set the appropriate tag in the <code>*_BRANCH</code> variables in <code>local.conf</code>. Swift is on its own release schedule so pick a tag in the Swift repo that is just before the milestone release. For example:
|
||||||
|
<pre>[[local|localrc]]
|
||||||
|
GLANCE_BRANCH=stable/grizzly
|
||||||
|
HORIZON_BRANCH=stable/grizzly
|
||||||
|
KEYSTONE_BRANCH=stable/grizzly
|
||||||
|
NOVA_BRANCH=stable/grizzly
|
||||||
|
GLANCE_BRANCH=stable/grizzly
|
||||||
|
NEUTRON_BRANCH=stable/grizzly
|
||||||
|
SWIFT_BRANCH=1.10.0</pre>
|
||||||
|
</dd>
|
||||||
|
<!--- this is incomplete, remove it until populating the sql catalog is complete
|
||||||
|
<dt>Q: How do I use the SQL catalog backend in Keystone?</dt>
|
||||||
|
<dd>A: Comment out the template backend lines in the <code>[catalog]</code> section of <code>keystone/etc/keystone.conf</code> and add the SQL backend config like this:
|
||||||
|
<pre>[catalog]
|
||||||
|
#driver = keystone.catalog.backends.templated.TemplatedCatalog
|
||||||
|
#template_file = ./etc/default_catalog.templates
|
||||||
|
driver = keystone.catalog.backends.sql.Catalog</pre>
|
||||||
|
</dd>
|
||||||
|
-->
|
||||||
|
<dt>Q: Why not use <strike><code>tools/pip-requires</code></strike><code>requirements.txt</code> to grab project dependencies?</dt>
|
||||||
|
<dd><strike>The majority of deployments will use packages to install OpenStack that will have distro-based packages as dependencies. DevStack installs as many of these Python packages as possible to mimic the expected production environemnt.</strike> Certain Linux distributions have a 'lack of workaround' in their Python configurations that installs vendor packaged Python modules and pip-installed modules to the SAME DIRECTORY TREE. This is causing heartache and moving us in the direction of installing more modules from PyPI than vendor packages. However, that is only being done as necessary as the packaging needs to catch up to the development cycle anyway so this is kept to a minimum.</dd>
|
||||||
|
|
||||||
|
<dt>Q: What can I do about RabbitMQ not wanting to start on my fresh new VM?</dt>
|
||||||
|
<dd>A: This is often caused by <code>erlang</code> not being happy with the hostname resolving to a reachable IP address. Make sure your hostname resolves to a working IP address; setting it to 127.0.0.1 in <code>/etc/hosts</code> is often good enough for a single-node installation. And in an extreme case, use <code>clean.sh</code> to eradicate it and try again.</dd>
|
||||||
|
|
||||||
|
<dt>Q: How can I set up Heat in stand-alone configuration?</dt>
|
||||||
|
<dd>A: Configure <code>local.conf</code> thusly:
|
||||||
|
<pre>[[local|localrc]]
|
||||||
|
HEAT_STANDALONE=True
|
||||||
|
ENABLED_SERVICES=rabbit,mysql,heat,h-api,h-api-cfn,h-api-cw,h-eng
|
||||||
|
KEYSTONE_SERVICE_HOST=<keystone-host>
|
||||||
|
KEYSTONE_AUTH_HOST=<keystone-host></pre>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>Q: Why are my configuration changes ignored?</dt>
|
||||||
|
<dd>A: You may have run into the package prerequisite installation timeout. <code>tools/install_prereqs.sh</code> has a timer that skips the package installation checks if it was run within the last <code>PREREQ_RERUN_HOURS</code> hours (default is 2). To override this, set <code>FORCE_PREREQ=1</code> and the package checks will never be skipped.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3><a name="misc">Miscellaneous</a></h3>
|
||||||
|
|
||||||
|
<dl class='pull-left'>
|
||||||
|
<dt>Q: <code>tools/fixup_stuff.sh</code> is broken and shouldn't 'fix' just one version of packages.</dt>
|
||||||
|
<dd>A: [Another not-a-question] No it isn't. Stuff in there is to correct problems in an environment that need to be fixed elsewhere or may/will be fixed in a future release. In the case of <code>httplib2</code> and <code>prettytable</code> specific problems with specific versions are being worked around. If later releases have those problems than we'll add them to the script. Knowing about the broken future releases is valuable rather than polling to see if it has been fixed.</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
330
docs/source/guides/multinode-lab.html
Normal file
330
docs/source/guides/multinode-lab.html
Normal file
@ -0,0 +1,330 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Multi-Node Lab Server Guide - DevStack</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="../overview.html">Overview</a></li>
|
||||||
|
<li><a href="../changes.html">Changes</a></li>
|
||||||
|
<li><a href="../faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<section id="overview">
|
||||||
|
<h1>Multi-Node Lab: Serious Stuff</h1>
|
||||||
|
<p>Here is OpenStack in a realistic test configuration with multiple physical servers.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="prerequisites">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Prerequisites <small>Linux & Network</small></h2>
|
||||||
|
</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 & 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>Install a couple of packages to bootstrap configuration:</p>
|
||||||
|
<pre>apt-get install -y git sudo || yum install -y git sudo</pre>
|
||||||
|
|
||||||
|
<h3>Network Configuration</h3>
|
||||||
|
<p>The first iteration of the lab uses OpenStack's FlatDHCP network controller so
|
||||||
|
only a single network will be required. It should be on its own subnet without DHCP;
|
||||||
|
the host IPs and floating IP pool(s) will come out of this block. This example
|
||||||
|
uses the following:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Gateway: 192.168.42.1</li>
|
||||||
|
<li>Physical nodes: 192.168.42.11-192.168.42.99</li>
|
||||||
|
<li>Floating IPs: 192.168.42.128-192.168.42.254</li>
|
||||||
|
</ul>
|
||||||
|
<p>Configure each node with a static IP.
|
||||||
|
For Ubuntu edit <code>/etc/network/interfaces</code>:</p>
|
||||||
|
|
||||||
|
<pre>auto eth0
|
||||||
|
iface eth0 inet static
|
||||||
|
address 192.168.42.11
|
||||||
|
netmask 255.255.255.0
|
||||||
|
gateway 192.168.42.1
|
||||||
|
</pre>
|
||||||
|
<p>For Fedora and CentOS/RHEL edit
|
||||||
|
<code>/etc/sysconfig/network-scripts/ifcfg-eth0</code>:</p>
|
||||||
|
|
||||||
|
<pre>BOOTPROTO=static
|
||||||
|
IPADDR=192.168.42.11
|
||||||
|
NETMASK=255.255.255.0
|
||||||
|
GATEWAY=192.168.42.1
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<!-- save these for the VLAN version
|
||||||
|
auto eth0.926
|
||||||
|
iface eth0.926 inet static
|
||||||
|
address 10.4.144.3
|
||||||
|
netmask 255.255.240.0
|
||||||
|
#gateway 10.4.144.1
|
||||||
|
up ifconfig eth0.926
|
||||||
|
|
||||||
|
auto eth0.605
|
||||||
|
iface eth0.605 inet static
|
||||||
|
address 172.16.103.3
|
||||||
|
netmask 255.255.255.0
|
||||||
|
#gateway 172.16.103.1
|
||||||
|
up ifconfig eth0.605 up
|
||||||
|
-->
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="installation">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Installation <small>shake and bake</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Add the DevStack User</h3>
|
||||||
|
<p>OpenStack runs as a non-root user that has sudo access to root. There is nothing special
|
||||||
|
about the name, we'll use <code>stack</code> here. Every node must use the same name and
|
||||||
|
preferably uid. If you created a user during the OS install you can use it and give it
|
||||||
|
sudo priviledges below. Otherwise create the stack user:</p>
|
||||||
|
<pre>groupadd stack
|
||||||
|
useradd -g stack -s /bin/bash -d /opt/stack -m stack</pre>
|
||||||
|
<p>This user will be making many changes to your system during installation and operation
|
||||||
|
so it needs to have sudo priviledges to root without a password:</p>
|
||||||
|
<pre>echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers</pre>
|
||||||
|
<p>From here on use the <code>stack</code> user. <b>Logout</b> and <b>login</b> as the
|
||||||
|
<code>stack</code> user.</p>
|
||||||
|
|
||||||
|
<h3>Set Up Ssh</h3>
|
||||||
|
<p>Set up the stack user on each node with an ssh key for access:</p>
|
||||||
|
<pre>mkdir ~/.ssh; chmod 700 ~/.ssh
|
||||||
|
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyYjfgyPazTvGpd8OaAvtU2utL8W6gWC4JdRS1J95GhNNfQd657yO6s1AH5KYQWktcE6FO/xNUC2reEXSGC7ezy+sGO1kj9Limv5vrvNHvF1+wts0Cmyx61D2nQw35/Qz8BvpdJANL7VwP/cFI/p3yhvx2lsnjFE3hN8xRB2LtLUopUSVdBwACOVUmH2G+2BWMJDjVINd2DPqRIA4Zhy09KJ3O1Joabr0XpQL0yt/I9x8BVHdAx6l9U0tMg9dj5+tAjZvMAFfye3PJcYwwsfJoFxC8w/SLtqlFX7Ehw++8RtvomvuipLdmWCy+T9hIkl+gHYE4cS3OIqXH7f49jdJf jesse@spacey.local" > ~/.ssh/authorized_keys</pre>
|
||||||
|
|
||||||
|
<h3>Download DevStack</h3>
|
||||||
|
<p>Grab the latest version of DevStack from github:</p>
|
||||||
|
<pre>git clone https://github.com/openstack-dev/devstack.git
|
||||||
|
cd devstack</pre>
|
||||||
|
|
||||||
|
<p>Up to this point all of the steps apply to each node in the cluster. From here on
|
||||||
|
there are some differences between the cluster controller (aka 'head node') and the
|
||||||
|
compute nodes.</p>
|
||||||
|
|
||||||
|
<h3>Configure Cluster Controller</h3>
|
||||||
|
<p>The cluster controller runs all OpenStack services. Configure the cluster controller's DevStack in <code>local.conf</code>:</p>
|
||||||
|
<pre>[[local|localrc]]
|
||||||
|
HOST_IP=192.168.42.11
|
||||||
|
FLAT_INTERFACE=eth0
|
||||||
|
FIXED_RANGE=10.4.128.0/20
|
||||||
|
FIXED_NETWORK_SIZE=4096
|
||||||
|
FLOATING_RANGE=192.168.42.128/25
|
||||||
|
MULTI_HOST=1
|
||||||
|
LOGFILE=/opt/stack/logs/stack.sh.log
|
||||||
|
ADMIN_PASSWORD=labstack
|
||||||
|
MYSQL_PASSWORD=supersecret
|
||||||
|
RABBIT_PASSWORD=supersecrete
|
||||||
|
SERVICE_PASSWORD=supersecrete
|
||||||
|
SERVICE_TOKEN=xyzpdqlazydog</pre>
|
||||||
|
<!-- save for vlan
|
||||||
|
FLAT_INTERFACE=eth0.926
|
||||||
|
-->
|
||||||
|
|
||||||
|
<p>In the multi-node configuration the first 10 or so IPs in the private subnet are usually reserved. Add this to <code>local.sh</code> to have it run after every <code>stack.sh</code> run:</p>
|
||||||
|
<pre>for i in `seq 2 10`; do /opt/stack/nova/bin/nova-manage fixed reserve 10.4.128.$i; done</pre>
|
||||||
|
|
||||||
|
<p>Fire up OpenStack:</p>
|
||||||
|
<pre>./stack.sh</pre>
|
||||||
|
<p>A stream of activity ensues. When complete you will see a summary of
|
||||||
|
<code>stack.sh</code>'s work, including the relevant URLs, accounts and passwords to poke at your
|
||||||
|
shiny new OpenStack. The most recent log file is available in <code>stack.sh.log</code>.</p>
|
||||||
|
|
||||||
|
<h3>Configure Compute Nodes</h3>
|
||||||
|
<p>The compute nodes only run the OpenStack worker services. For additional machines, create a <code>local.conf</code> with:</p>
|
||||||
|
<pre>HOST_IP=192.168.42.12 # change this per compute node
|
||||||
|
FLAT_INTERFACE=eth0
|
||||||
|
FIXED_RANGE=10.4.128.0/20
|
||||||
|
FIXED_NETWORK_SIZE=4096
|
||||||
|
FLOATING_RANGE=192.168.42.128/25
|
||||||
|
MULTI_HOST=1
|
||||||
|
LOGFILE=/opt/stack/logs/stack.sh.log
|
||||||
|
ADMIN_PASSWORD=labstack
|
||||||
|
MYSQL_PASSWORD=supersecret
|
||||||
|
RABBIT_PASSWORD=supersecrete
|
||||||
|
SERVICE_PASSWORD=supersecrete
|
||||||
|
SERVICE_TOKEN=xyzpdqlazydog
|
||||||
|
DATABASE_TYPE=mysql
|
||||||
|
SERVICE_HOST=192.168.42.11
|
||||||
|
MYSQL_HOST=192.168.42.11
|
||||||
|
RABBIT_HOST=192.168.42.11
|
||||||
|
GLANCE_HOSTPORT=192.168.42.11:9292
|
||||||
|
ENABLED_SERVICES=n-cpu,n-net,n-api,c-sch,c-api,c-vol</pre>
|
||||||
|
<!-- save for vlan
|
||||||
|
FLAT_INTERFACE=eth0.926
|
||||||
|
-->
|
||||||
|
|
||||||
|
<p>Fire up OpenStack:</p>
|
||||||
|
<pre>./stack.sh</pre>
|
||||||
|
<p>A stream of activity ensues. When complete you will see a summary of
|
||||||
|
<code>stack.sh</code>'s work, including the relevant URLs, accounts and passwords to poke at your
|
||||||
|
shiny new OpenStack. The most recent log file is available in <code>stack.sh.log</code>.</p>
|
||||||
|
|
||||||
|
<h3>Cleaning Up After DevStack</h3>
|
||||||
|
<p>Shutting down OpenStack is now as simple as running the included <code>unstack.sh</code> script:</p>
|
||||||
|
<pre>./unstack.sh</pre>
|
||||||
|
|
||||||
|
<p>A more aggressive cleanup can be performed using <code>clean.sh</code>. It removes certain troublesome packages and attempts to leave the system in a state where changing the database or queue manager can be reliably performed.
|
||||||
|
<pre>./clean.sh</pre>
|
||||||
|
|
||||||
|
<p>Sometimes running instances are not cleaned up. DevStack attempts to do this when it
|
||||||
|
runs but there are times it needs to still be done by hand:</p>
|
||||||
|
<pre>sudo rm -rf /etc/libvirt/qemu/inst*
|
||||||
|
sudo virsh list | grep inst | awk '{print $1}' | xargs -n1 virsh destroy</pre>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="options">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Options <small>pimp your stack</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Additional Users</h3>
|
||||||
|
<p>DevStack creates two OpenStack users (<code>admin</code> and <code>demo</code>) and two tenants (also <code>admin</code> and <code>demo</code>). <code>admin</code> is exactly what it sounds like, a priveleged administrative account that is a member of both the <code>admin</code> and <code>demo</code> tenants. <code>demo</code> is a normal user account that is only a member of the <code>demo</code> tenant. Creating additional OpenStack users can be done through the dashboard, sometimes it is easier to do them in bulk from a script, especially since they get blown away every time
|
||||||
|
<code>stack.sh</code> runs. The following steps are ripe for scripting:</p>
|
||||||
|
<pre># Get admin creds
|
||||||
|
. openrc admin admin
|
||||||
|
|
||||||
|
# List existing tenants
|
||||||
|
keystone tenant-list
|
||||||
|
|
||||||
|
# List existing users
|
||||||
|
keystone user-list
|
||||||
|
|
||||||
|
# Add a user and tenant
|
||||||
|
NAME=bob
|
||||||
|
PASSWORD=BigSecrete
|
||||||
|
TENANT=$NAME
|
||||||
|
keystone tenant-create --name=$NAME
|
||||||
|
keystone user-create --name=$NAME --pass=$PASSWORD
|
||||||
|
keystone user-role-add --user-id=<bob-user-id> --tenant-id=<bob-tenant-id> --role-id=<member-role-id>
|
||||||
|
# member-role-id comes from the existing member role created by stack.sh
|
||||||
|
# keystone role-list</pre>
|
||||||
|
|
||||||
|
<h3>Swift</h3>
|
||||||
|
<p>Swift requires a significant amount of resources and is disabled by default in DevStack.
|
||||||
|
The support in DevStack is geared toward a minimal installation but can be used for
|
||||||
|
testing. To implement a true multi-node test of Swift required more than DevStack provides.
|
||||||
|
Enabling it is as simple as enabling the <code>swift</code> service in <code>local.conf</code>:
|
||||||
|
<pre>enable_service swift</pre>
|
||||||
|
|
||||||
|
<p>Swift will put its data files in <code>SWIFT_DATA_DIR</code> (default <code>/opt/stack/data/swift</code>).
|
||||||
|
The size of the data 'partition' created (really a loop-mounted file) is set by
|
||||||
|
<code>SWIFT_LOOPBACK_DISK_SIZE</code>. The Swift config files are located in
|
||||||
|
<code>SWIFT_CONFIG_DIR</code> (default <code>/etc/swift</code>). All of these settings can be overridden in
|
||||||
|
(wait for it...) <code>local.conf</code>.</p>
|
||||||
|
|
||||||
|
<h3>Volumes</h3>
|
||||||
|
<p>DevStack will automatically use an existing LVM volume group named <code>stack-volumes</code>
|
||||||
|
to store cloud-created volumes. If <code>stack-volumes</code> doesn't exist, DevStack
|
||||||
|
will set up a 5Gb loop-mounted file to contain it. This obviously limits the
|
||||||
|
number and size of volumes that can be created inside OpenStack. The size can be
|
||||||
|
overridden by setting <code>VOLUME_BACKING_FILE_SIZE</code> in <code>local.conf</code>.</p>
|
||||||
|
|
||||||
|
<p><code>stack-volumes</code> can be pre-created on any physical volume supported by
|
||||||
|
Linux's LVM. The name of the volume group can be changed by setting <code>VOLUME_GROUP</code>
|
||||||
|
in <code>localrc</code>. <code>stack.sh</code> deletes
|
||||||
|
all logical volumes in <code>VOLUME_GROUP</code> that begin with
|
||||||
|
<code>VOLUME_NAME_PREFIX</code> as part of cleaning up from previous runs.
|
||||||
|
It is recommended to not use the root volume group as <code>VOLUME_GROUP</code>.</p>
|
||||||
|
|
||||||
|
<p>The details of creating the volume group depends on the server hardware involved
|
||||||
|
but looks something like this:</p>
|
||||||
|
<pre>pvcreate /dev/sdc
|
||||||
|
vgcreate stack-volumes /dev/sdc</pre>
|
||||||
|
|
||||||
|
<h3>Syslog</h3>
|
||||||
|
<p>DevStack is capable of using <code>rsyslog</code> to agregate logging across the cluster.
|
||||||
|
It is off by default; to turn it on set <code>SYSLOG=True</code> in <code>local.conf</code>.
|
||||||
|
<code>SYSLOG_HOST</code> defaults to <code>HOST_IP</code>; on the compute nodes it
|
||||||
|
must be set to the IP of the cluster controller to send syslog output there. In the example
|
||||||
|
above, add this to the compute node <code>local.conf</code>:</p>
|
||||||
|
<pre>SYSLOG_HOST=192.168.42.11</pre>
|
||||||
|
|
||||||
|
<h3>Using Alternate Repositories/Branches</h3>
|
||||||
|
<p>The git repositories for all of the OpenStack services are defined in <code>stackrc</code>.
|
||||||
|
Since this file is a part of the DevStack package changes to it will probably be overwritten
|
||||||
|
as updates are applied. Every setting in <code>stackrc</code> can be redefined in
|
||||||
|
<code>local.conf</code>.</p>
|
||||||
|
|
||||||
|
<p>To change the repository or branch that a particular OpenStack service is created from,
|
||||||
|
simply change the value of <code>*_REPO</code> or <code>*_BRANCH</code> corresponding to
|
||||||
|
that service.</p>
|
||||||
|
|
||||||
|
<p>After making changes to the repository or branch, if <code>RECLONE</code> is not set
|
||||||
|
in <code>localrc</code> it may be necessary to remove the corresponding directory from
|
||||||
|
<code>/opt/stack</code> to force git to re-clone the repository.</p>
|
||||||
|
|
||||||
|
<p>For example, to pull Nova from a proposed release candidate in the primary Nova
|
||||||
|
repository:</p>
|
||||||
|
<pre>NOVA_BRANCH=rc-proposed</pre>
|
||||||
|
|
||||||
|
<p>To pull Glance from an experimental fork:</p>
|
||||||
|
<pre>GLANCE_BRANCH=try-something-big
|
||||||
|
GLANCE_REPO=https://github.com/mcuser/glance.git</pre>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="Notes">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Notes <small>stuff you might need to know</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Reset the Bridge</h3>
|
||||||
|
<p>How to reset the bridge configuration:</p>
|
||||||
|
<pre>sudo brctl delif br100 eth0.926
|
||||||
|
sudo ip link set dev br100 down
|
||||||
|
sudo brctl delbr br100</pre>
|
||||||
|
<!--
|
||||||
|
sudo rm /etc/libvirt/qemu/*.xml
|
||||||
|
-->
|
||||||
|
|
||||||
|
<h3>Set MySQL Password</h3>
|
||||||
|
<p>If you forgot to set the root password you can do this:</p>
|
||||||
|
<pre>mysqladmin -u root -pnova password 'supersecret'</pre>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
147
docs/source/guides/pxe-boot.html
Normal file
147
docs/source/guides/pxe-boot.html
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>PXE Boot Server Guide - DevStack</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="../overview.html">Overview</a></li>
|
||||||
|
<li><a href="../changes.html">Changes</a></li>
|
||||||
|
<li><a href="../faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<section id="overview">
|
||||||
|
<h1>PXE Boot Server Guide: Magic Dust for Network Boot</h1>
|
||||||
|
<p>Boot DevStack from a PXE server to a RAM disk.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="requirements">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Prerequisites <small>Hardware & OpenWRT</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Hardware</h3>
|
||||||
|
<p>The whole point of this exercise is to have a highly portable boot server, so using a small router with a USB port is the desired platform. This guide uses a Buffalo WZR-HP-G300NH as an example, but it is easily generalized for other supported platforms. See openwrt.org for more.</p>
|
||||||
|
|
||||||
|
<h3>OpenWRT</h3>
|
||||||
|
<p>Any recent 'Backfire' build of OpenWRT will work for the boot server project. We build from trunk and have made the images available at <a href="http://openwrt.xr7.org/openwrt">http://openwrt.xr7.org/openwrt</a>.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="installation">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Installation <small>bit blasting</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Install the Image</h3>
|
||||||
|
<p>This process follows <a href="http://wiki.openwrt.org/toh/buffalo/wzr-hp-g300h">the OpenWRT doc OEM Install</a> to tftp the new image onto the router. You need a computer to set up the router, we assume it is a recent Linux or OS/X installation.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Get openwrt-ar71xx-wzr-hp-g300nh-squashfs-tftp.bin
|
||||||
|
<pre>wget http://openwrt.xr7.org/openwrt/ar71xx/openwrt-ar71xx-wzr-hp-g300nh-squashfs-tftp.bin</pre>
|
||||||
|
</li>
|
||||||
|
<li>Connect computer to LAN port 4 (closest to WAN port)</li>
|
||||||
|
<li>Set computer interface to IP address in the 192.168.11.2</li>
|
||||||
|
<li>Add static arp entry for router
|
||||||
|
<pre>arp -s 192.168.11.1 <mac-address></pre>
|
||||||
|
</li>
|
||||||
|
<li>Start TFTP transfer attempt
|
||||||
|
<pre>tftp 192.168.11.1
|
||||||
|
binary
|
||||||
|
rexmt 1
|
||||||
|
timeout 60
|
||||||
|
put openwrt-ar71xx-wzr-hp-g300nh-squashfs-tftp.bin</pre>
|
||||||
|
</li>
|
||||||
|
<li>Power on router. Router will reboot and initialize on 192.168.1.1.</li>
|
||||||
|
<li>Delete static arp entry for router
|
||||||
|
<pre>arp -d 192.168.11.1</pre>
|
||||||
|
</li>
|
||||||
|
<li>Set computer to DHCP, connect and telnet to router and set root password.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Configure the Router</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Update <code>/etc/opkg.conf</code> to point to our repo:
|
||||||
|
<pre>src/gz packages http://192.168.5.13/openwrt/build/ar71xx/packages</pre>
|
||||||
|
</li>
|
||||||
|
<li>Configure anon mounts:
|
||||||
|
<pre>uci delete fstab.@mount[0]
|
||||||
|
uci commit fstab
|
||||||
|
/etc/init.d/fstab restart</pre>
|
||||||
|
</li>
|
||||||
|
<li>Reset the DHCP address range. DevStack will claim the upper
|
||||||
|
/25 of the router's LAN address space for floating IPs so the
|
||||||
|
default DHCP address range needs to be moved:
|
||||||
|
<pre>uci set dhcp.lan.start=65
|
||||||
|
uci set dhcp.lan.limit=60
|
||||||
|
uci commit dhcp</pre>
|
||||||
|
</li>
|
||||||
|
<li>Enable TFTP:
|
||||||
|
<pre>uci set dhcp.@dnsmasq[0].enable_tftp=1
|
||||||
|
uci set dhcp.@dnsmasq[0].tftp_root=/mnt/sda1/tftpboot
|
||||||
|
uci set dhcp.@dnsmasq[0].dhcp_boot=pxelinux.0
|
||||||
|
uci commit dhcp
|
||||||
|
/etc/init.d/dnsmasq restart</pre>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Set Up tftpboot</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Create the <code>/tmp/tftpboot</code> structure and populate it:
|
||||||
|
<pre>cd ~/devstack
|
||||||
|
tools/build_pxe_boot.sh /tmp</pre>
|
||||||
|
This calls <code>tools/build_ramdisk.sh</code> to create a 2GB ramdisk
|
||||||
|
containing a complete development Oneiric OS plus the
|
||||||
|
OpenStack code checkouts.
|
||||||
|
</li>
|
||||||
|
<li>Copy <code>tftpboot</code> to a USB drive:
|
||||||
|
<pre>mount /dev/sdb1 /mnt/tmp
|
||||||
|
rsync -a /tmp/tftpboot/ /mnt/tmp/tftpboot/
|
||||||
|
umount /mnt/tmp</pre>
|
||||||
|
</li>
|
||||||
|
<li>Plug USB drive into router. It will be automounted and is ready to serve content.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Now <a href="ramdisk.html">return</a> to the RAM disk Guide to kick
|
||||||
|
off your DevStack experience.</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — this is not an official OpenStack project...</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
119
docs/source/guides/ramdisk.html
Normal file
119
docs/source/guides/ramdisk.html
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>RAMdisk Boot Guide - DevStack</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="../overview.html">Overview</a></li>
|
||||||
|
<li><a href="../changes.html">Changes</a></li>
|
||||||
|
<li><a href="../faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<section id="overview">
|
||||||
|
<h1>Stack-in-a-Box: Try before you mkfs</h1>
|
||||||
|
<p>Run DevStack from a RAM disk to give it a whirl before making the
|
||||||
|
commitment to install it. We'll cover booting from a USB drive or
|
||||||
|
over the network via PXE. We'll even thow in configuring a home
|
||||||
|
router to handle the PXE boot. You will need a minimum of 3GB
|
||||||
|
for both of these configurations as the RAM disk itself is 2GB.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="requirements">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Prerequisites <small>Hardware</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>USB Boot</h3>
|
||||||
|
<p><a href="usb-boot.html">This guide</a> covers the creation of a bootable USB drive. Your
|
||||||
|
computer BIOS must support booting from USB.</p>
|
||||||
|
|
||||||
|
<h3>PXE Boot</h3>
|
||||||
|
<p><a href="pxe-boot.html">This guide</a> covers the installation of OpenWRT on a home router
|
||||||
|
and configuring it as a PXE server, plus the creation of the
|
||||||
|
boot images and PXE support files.
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="installation">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Installation <small>bit blasting</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Install DevStack</h3>
|
||||||
|
<p>Grab the latest version of DevStack via https:</p>
|
||||||
|
<pre>sudo apt-get install git -y
|
||||||
|
git clone https://github.com/openstack-dev/devstack.git
|
||||||
|
cd devstack</pre>
|
||||||
|
|
||||||
|
<h3>Prepare the Boot RAMdisk</h3>
|
||||||
|
<p>Pick your boot method and follow the guide to prepare to build
|
||||||
|
the RAM disk and set up the boot process:</p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="usb-boot.html">USB boot</a></li>
|
||||||
|
<li><a href="pxe-boot.html">PXE boot</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Fire It Up</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Boot the computer into the RAM disk. The details will vary from
|
||||||
|
machine to machine but most BIOSes have a method to select the
|
||||||
|
boot device, often by pressing F12 during POST.</li>
|
||||||
|
<li>Select 'DevStack' from the Boot Menu.</li>
|
||||||
|
<li>Log in with the 'stack' user and 'pass' password.</li>
|
||||||
|
<li>Create <code>devstack/localrc</code> if you wish to change any
|
||||||
|
of the configuration variables. You will probably want to at
|
||||||
|
least set the admin login password to something memorable rather
|
||||||
|
than the default 20 random characters:
|
||||||
|
<pre>ADMIN_PASSWORD=openstack</pre>
|
||||||
|
</li>
|
||||||
|
<li>Fire up OpenStack!
|
||||||
|
<pre>./run.sh</pre>
|
||||||
|
</li>
|
||||||
|
<li>See the processes running in screen:
|
||||||
|
<pre>screen -x</pre>
|
||||||
|
</li>
|
||||||
|
<li>Connect to the dashboard at <code>http://<ip-address>/</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — this is not an official OpenStack project...</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
131
docs/source/guides/single-machine.html
Normal file
131
docs/source/guides/single-machine.html
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Single Machine Guide - DevStack</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="../overview.html">Overview</a></li>
|
||||||
|
<li><a href="../changes.html">Changes</a></li>
|
||||||
|
<li><a href="../faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<section id="overview">
|
||||||
|
<h1>All-In-One: Dedicated Hardware</h1>
|
||||||
|
<p>Things are about to get real! Using OpenStack in containers or VMs is nice for kicking the tires, but doesn't compare to the feeling you get with hardware.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="prerequisites">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Prerequisites <small>Linux & Network</small></h2>
|
||||||
|
</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 & 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>
|
||||||
|
|
||||||
|
<h3>Network Configuration</h3>
|
||||||
|
<p>Determine the network configuration on the interface used to integrate your
|
||||||
|
OpenStack cloud with your existing network. For example, if the IPs given out on your network
|
||||||
|
by DHCP are 192.168.1.X - where X is between 100 and 200 you will be able to use IPs
|
||||||
|
201-254 for <b>floating ips</b>.</p>
|
||||||
|
<p>To make things easier later change your host to use a static IP instead of DHCP (i.e. 192.168.1.201).</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="installation">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Installation <small>shake and bake</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Add your user</h3>
|
||||||
|
<p>We need to add a user to install DevStack. (if you created a user during install you can skip this step and just give the user sudo priviledges below)</p>
|
||||||
|
<pre>adduser stack</pre>
|
||||||
|
<p>Since this user will be making many changes to your system, it will need to have sudo priviledges:</p>
|
||||||
|
<pre>apt-get install sudo -y || yum install -y sudo
|
||||||
|
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers</pre>
|
||||||
|
<p>From here on you should use the user you created. <b>Logout</b> and <b>login</b> as that user.</p>
|
||||||
|
|
||||||
|
<h3>Download DevStack</h3>
|
||||||
|
<p>We'll grab the latest version of DevStack via https:</p>
|
||||||
|
<pre>sudo apt-get install git -y || yum install -y git
|
||||||
|
git clone https://github.com/openstack-dev/devstack.git
|
||||||
|
cd devstack</pre>
|
||||||
|
|
||||||
|
<h3>Run DevStack</h3>
|
||||||
|
<p>Now to configure <code>stack.sh</code>. DevStack includes a sample in <code>devstack/samples/local.conf</code>. Create <code>local.conf</code> as shown below to do the following:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Set <code>FLOATING_RANGE</code> to a range not used on the local network, i.e. 192.168.1.224/27. This configures IP addresses ending in 225-254 to be used as floating IPs.</li>
|
||||||
|
<li>Set <code>FIXED_RANGE</code> and <code>FIXED_NETWORK_SIZE</code> to configure the internal address space used by the instances.</li>
|
||||||
|
<li>Set <code>FLAT_INTERFACE</code> to the Ethernet interface that connects the host to your local network. This is the interface that should be configured with the static IP address mentioned above.</li>
|
||||||
|
<li>Set the administrative password. This password is used for the <b>admin</b> and <b>demo</b> accounts set up as OpenStack users.</li>
|
||||||
|
<li>Set the MySQL administrative password. The default here is a random hex string which is inconvenient if you need to look at the database directly for anything.</li>
|
||||||
|
<li>Set the RabbitMQ password.</li>
|
||||||
|
<li>Set the service password. This is used by the OpenStack services (Nova, Glance, etc) to authenticate with Keystone.</li>
|
||||||
|
</ul>
|
||||||
|
<p><code>local.conf</code> should look something like this:</p>
|
||||||
|
<pre>[[local|localrc]]
|
||||||
|
FLOATING_RANGE=192.168.1.224/27
|
||||||
|
FIXED_RANGE=10.11.12.0/24
|
||||||
|
FIXED_NETWORK_SIZE=256
|
||||||
|
FLAT_INTERFACE=eth0
|
||||||
|
ADMIN_PASSWORD=supersecret
|
||||||
|
MYSQL_PASSWORD=iheartdatabases
|
||||||
|
RABBIT_PASSWORD=flopsymopsy
|
||||||
|
SERVICE_PASSWORD=iheartksl</pre>
|
||||||
|
|
||||||
|
<p>Run DevStack:</p>
|
||||||
|
<pre>./stack.sh</pre>
|
||||||
|
<p>A seemingly endless stream of activity ensues. When complete you will see a summary of
|
||||||
|
<code>stack.sh</code>'s work, including the relevant URLs, accounts and passwords to poke at your
|
||||||
|
shiny new OpenStack.</p>
|
||||||
|
|
||||||
|
<h3>Using OpenStack</h3>
|
||||||
|
<p>At this point you should be able to access the dashboard from other computers on the
|
||||||
|
local network. In this example that would be http://192.168.1.201/ for the dashboard (aka Horizon).
|
||||||
|
Launch VMs and if you give them floating IPs and security group access those VMs will be accessable from other machines on your network.</p>
|
||||||
|
|
||||||
|
<p>Some examples of using the OpenStack command-line clients <code>nova</code> and <code>glance</code>
|
||||||
|
are in the shakedown scripts in <code>devstack/exercises</code>. <code>exercise.sh</code>
|
||||||
|
will run all of those scripts and report on the results.</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — An <a href="https://wiki.openstack.org/wiki/Programs">OpenStack program</a> created by <a href="http://www.rackspace.com/cloud/private_edition/">Rackspace Cloud Builders</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
137
docs/source/guides/single-vm.html
Normal file
137
docs/source/guides/single-vm.html
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Single Machine Guide - DevStack</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="../overview.html">Overview</a></li>
|
||||||
|
<li><a href="../changes.html">Changes</a></li>
|
||||||
|
<li><a href="../faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<section id="overview">
|
||||||
|
<h1>Running a Cloud in a VM</h1>
|
||||||
|
<p>Use the cloud to build the cloud! Use your cloud to launch new versions of OpenStack
|
||||||
|
in about 5 minutes. When you break it, start over! The VMs launched in the cloud will
|
||||||
|
be slow as they are running in QEMU (emulation), but their primary use is testing
|
||||||
|
OpenStack development and operation. Speed not required.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="prerequisites">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Prerequisites <small>Cloud & Image</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Virtual Machine</h3>
|
||||||
|
<p>DevStack should run in any virtual machine running a supported Linux release. It will perform best with 2Gb or more of RAM.</p>
|
||||||
|
|
||||||
|
<h3>OpenStack Deployment & cloud-init</h3>
|
||||||
|
<p>If the cloud service has an image with <code>cloud-init</code> pre-installed, use it. You can
|
||||||
|
get one from <a href="http://uec-images.ubuntu.com">Ubuntu's Daily Build</a>
|
||||||
|
site if necessary. This will enable you to launch VMs with userdata that installs
|
||||||
|
everything at boot time. The userdata script below will install and run
|
||||||
|
DevStack with a minimal configuration. The use of <code>cloud-init</code>
|
||||||
|
is outside the scope of this document, refer to <a href"http://cloudinit.readthedocs.org/en/latest/index.html">the
|
||||||
|
<code>cloud-init</code> docs</a> for more information.</p>
|
||||||
|
|
||||||
|
<p>If you are directly using a hypervisor like Xen, kvm or VirtualBox you can manually kick off
|
||||||
|
the script below as a non-root user in a bare-bones server installation.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="requirements">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Installation <small>shake and bake</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Launching With Cloud-Init</h3>
|
||||||
|
<p>This cloud config grabs the latest version of DevStack via git, creates a minimal
|
||||||
|
<code>local.conf</code> file and kicks off <code>stack.sh</code>. It should
|
||||||
|
be passed as the user-data file when booting the VM.</p>
|
||||||
|
<pre>#cloud-config
|
||||||
|
|
||||||
|
users:
|
||||||
|
- default
|
||||||
|
- name: stack
|
||||||
|
lock_passwd: False
|
||||||
|
sudo: ["ALL=(ALL) NOPASSWD:ALL\nDefaults:stack !requiretty"]
|
||||||
|
shell: /bin/bash
|
||||||
|
|
||||||
|
write_files:
|
||||||
|
- content: |
|
||||||
|
#!/bin/sh
|
||||||
|
DEBIAN_FRONTEND=noninteractive sudo apt-get -qqy update || sudo yum update -qy
|
||||||
|
DEBIAN_FRONTEND=noninteractive sudo apt-get install -qqy git || sudo yum install -qy git
|
||||||
|
sudo chown stack:stack /home/stack
|
||||||
|
cd /home/stack
|
||||||
|
git clone https://github.com/openstack-dev/devstack.git
|
||||||
|
cd devstack
|
||||||
|
echo '[[local|localrc]]' > local.conf
|
||||||
|
echo ADMIN_PASSWORD=password >> local.conf
|
||||||
|
echo MYSQL_PASSWORD=password >> local.conf
|
||||||
|
echo RABBIT_PASSWORD=password >> local.conf
|
||||||
|
echo SERVICE_PASSWORD=password >> local.conf
|
||||||
|
echo SERVICE_TOKEN=tokentoken >> local.conf
|
||||||
|
./stack.sh
|
||||||
|
path: /home/stack/start.sh
|
||||||
|
permissions: 0755
|
||||||
|
|
||||||
|
runcmd:
|
||||||
|
- su -l stack ./start.sh</pre>
|
||||||
|
<p>As DevStack will refuse to run as root, this configures <code>cloud-init</code>
|
||||||
|
to create a non-root user and run the <code>start.sh</code> script as that user.</p>
|
||||||
|
|
||||||
|
<h3>Launching By Hand</h3>
|
||||||
|
<p>Using a hypervisor directly, launch the VM and either manually perform the steps in the
|
||||||
|
embedded shell script above or copy it into the VM.</p>
|
||||||
|
|
||||||
|
<h3>Using OpenStack</h3>
|
||||||
|
<p>At this point you should be able to access the dashboard. Launch VMs and if you give them floating IPs access those VMs from other machines on your network.</p>
|
||||||
|
|
||||||
|
<p>One interesting use case is for developers working on a VM on their laptop. Once
|
||||||
|
<code>stack.sh</code> has completed once, all of the pre-requisite packages are installed
|
||||||
|
in the VM and the source trees checked out. Setting <code>OFFLINE=True</code> in
|
||||||
|
<code>local.conf</code> enables <code>stack.sh</code> to run multiple times without an Internet
|
||||||
|
connection. DevStack, making hacking at the lake possible since 2012!</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
99
docs/source/guides/usb-boot.html
Normal file
99
docs/source/guides/usb-boot.html
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>USB Boot Server Guide - DevStack</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="../assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="../overview.html">Overview</a></li>
|
||||||
|
<li><a href="../changes.html">Changes</a></li>
|
||||||
|
<li><a href="../faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<section id="overview">
|
||||||
|
<h1>USB Boot: Undoable Stack Boot</h1>
|
||||||
|
<p>Boot DevStack from a USB disk into a RAM disk.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="requirements">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Prerequisites</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Hardware</h3>
|
||||||
|
<p>This guide covers the creation of a bootable USB drive. Your
|
||||||
|
computer BIOS must support booting from USB and You will want at least 3GB of
|
||||||
|
RAM. You also will need a USB drive of at least 2GB.</p>
|
||||||
|
|
||||||
|
<h3>Software</h3>
|
||||||
|
<p>Ubuntu 11.10 (Oneiric Ocelot) is required on host to create images.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="installation">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Installation <small>bit blasting</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Set Up USB Drive</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Insert the USB drive into the computer. Make a note of the device name, such as
|
||||||
|
<code>sdb</code>. Do not mount the device.</li>
|
||||||
|
<li>Install the boot system:
|
||||||
|
<pre>tools/build_usb_boot.sh /dev/sdb1</pre>
|
||||||
|
<p>This calls tools/build_ramdisk.sh to create a 2GB ramdisk
|
||||||
|
containing a complete development Oneiric OS plus the
|
||||||
|
OpenStack code checkouts. It then writes a syslinux boot sector
|
||||||
|
to the specified device and creates <code>/syslinux</code>.</p>
|
||||||
|
</li>
|
||||||
|
<li>If desired, you may now mount the device:
|
||||||
|
<pre>mount /dev/sdb1 /mnt/tmp
|
||||||
|
# foo
|
||||||
|
umount /mnt/tmp</pre>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Now <a href="ramdisk.html">return</a> to the RAM disk Guide to kick
|
||||||
|
off your DevStack experience.</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — this is not an official OpenStack project...</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
529
docs/source/index.html
Normal file
529
docs/source/index.html
Normal file
@ -0,0 +1,529 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - Deploying OpenStack for Developers</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" id="home">
|
||||||
|
|
||||||
|
<div class="hero-unit">
|
||||||
|
<div class="pull-left">
|
||||||
|
<h1 id="main_header">DevStack - an OpenStack Community Production</h1>
|
||||||
|
<div class="sub_header">
|
||||||
|
<p></p>
|
||||||
|
<p>A documented shell script to build complete OpenStack development environments. <br /><br />
|
||||||
|
An OpenStack program maintained by the developer community.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pull-left">
|
||||||
|
<ol id="getting_started">
|
||||||
|
<li id="ubuntu">Setup a fresh supported Linux installation.</li>
|
||||||
|
<li id="github">
|
||||||
|
Clone devstack from devstack.
|
||||||
|
<pre>git clone https://github.com/openstack-dev/devstack.git</pre>
|
||||||
|
</li>
|
||||||
|
<li id="install">
|
||||||
|
Deploy your OpenStack Cloud
|
||||||
|
<pre>cd devstack && ./stack.sh</pre>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
<div class="clear"> </div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<section id="quickstart" class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Quick Start <small>This ain't your first rodeo</small></h2>
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Install Selected OS</h3>
|
||||||
|
<p>In order to correctly install all the dependencies, we assume a specific minimal version of the supported distributions to make it as easy as possible. We recommend using a minimal install of Ubuntu or Fedora server in a VM if this is your first time.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Download DevStack</h3>
|
||||||
|
<pre>git clone https://github.com/openstack-dev/devstack.git</pre>
|
||||||
|
<p>The <code>devstack</code> repo contains a script that installs OpenStack and templates for configuration files</p>
|
||||||
|
</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>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<h3>Start the install</h3>
|
||||||
|
<pre>cd devstack; ./stack.sh</pre>
|
||||||
|
<p>It takes a few minutes, we recommend <a href="stack.sh.html">reading the script</a> while it is building.</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="guides" class='span12'>
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Guides <small>Walk through various setups used by stackers</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='row span8'>
|
||||||
|
<h2>OpenStack on VMs</h2>
|
||||||
|
<table class='table table-striped table-bordered'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Title</th>
|
||||||
|
<th>Description</th>
|
||||||
|
<th>Link</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Virtual Machine</td>
|
||||||
|
<td>Run OpenStack in a VM. The VMs launched in your cloud will be slow as they are running in QEMU (emulation), but it is useful if you don't have spare hardware laying around.</td>
|
||||||
|
<td><a class="btn btn-small btn-primary table-action" href="guides/single-vm.html">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<tr>
|
||||||
|
<td>LXC Containers</td>
|
||||||
|
<td>Already running Ubuntu on your machine? Using containers lets you build even faster.</td>
|
||||||
|
<td>Coming soon!</td>
|
||||||
|
</tr>
|
||||||
|
-->
|
||||||
|
</tbody>
|
||||||
|
<tfoot>
|
||||||
|
<td colspan="3">1 Guide</td>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="wat span3 pull-right">
|
||||||
|
<h4>What is this?</h4>
|
||||||
|
<p>These guides tell you how to virtualize your OpenStack cloud in virtual machines. This means that you can get started without having to purchase any hardware.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='row span8'>
|
||||||
|
<h2>OpenStack on Hardware</h2>
|
||||||
|
<table class='table table-striped table-bordered'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Title</th>
|
||||||
|
<th>Description</th>
|
||||||
|
<th>Link</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>All-In-One</td>
|
||||||
|
<td>Run OpenStack on dedicated hardware to get real performance in your VMs. This can include a server-class machine or a laptop at home.</td>
|
||||||
|
<td><a class="btn btn-small btn-primary table-action" href="guides/single-machine.html">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Multi-Node + VLANs</td>
|
||||||
|
<td>Setup a multi-node cluster with dedicated VLANs for VMs & Management.</td>
|
||||||
|
<td><a class="btn btn-small btn-primary table-action" href="guides/multinode-lab.html">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<tr>
|
||||||
|
<td>Stack-in-a-Box</td>
|
||||||
|
<td>Run OpenStack from a RAM disk to give it a spin without touching your existing OS installation. Includes PXE and USB boot methods.</td>
|
||||||
|
<td><a class="btn btn-small btn-primary table-action" href="guides/ramdisk.html">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
-->
|
||||||
|
</tbody>
|
||||||
|
<tfoot>
|
||||||
|
<td colspan="3">2 Guides</td>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="wat span3 pull-right">
|
||||||
|
<h4>What is this?</h4>
|
||||||
|
<p>These guides tell you how to deploy a development environment on real hardware. Guides range from running OpenStack on a single laptop to running a multi-node deployment on datacenter hardware.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="docs" class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Documentation <small>Help yourself to stack</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='row span5 pull-left'>
|
||||||
|
<h2>Overview</h2>
|
||||||
|
<p><a href="overview.html">An overview of DevStack goals and priorities</a></p>
|
||||||
|
<h2>Configuration</h2>
|
||||||
|
<p><a href="configuration.html">Configuring and customizing the stack</a></p>
|
||||||
|
<h2>Plugins</h2>
|
||||||
|
<p><a href="plugins.html">Extending DevStack with new features</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='span5 pull-right'>
|
||||||
|
<h2>Recent Changes</h2>
|
||||||
|
<p><a href="changes.html">An incomplete summary of recent changes</a></p>
|
||||||
|
<h2>FAQ</h2>
|
||||||
|
<p><a href="faq.html">The DevStack FAQ</a></p>
|
||||||
|
<h2>Contributing</h2>
|
||||||
|
<p><a href="contributing.html">Pitching in to make DevStack a better place</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="docs" class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>Code <small>A look at the bits that make it all go</small></h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='row span5 pull-left'>
|
||||||
|
<h2>Scripts <small>Generated documentation of DevStack scripts.</small></h2>
|
||||||
|
<table class='table table-striped table-bordered'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Filename</th>
|
||||||
|
<th>Link</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>stack.sh</td>
|
||||||
|
<td><a href="stack.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>functions</td>
|
||||||
|
<td><a href="functions.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/apache</td>
|
||||||
|
<td><a href="lib/apache.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/baremetal</td>
|
||||||
|
<td><a href="lib/baremetal.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/ceilometer</td>
|
||||||
|
<td><a href="lib/ceilometer.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/cinder</td>
|
||||||
|
<td><a href="lib/cinder.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/config</td>
|
||||||
|
<td><a href="lib/config.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/database</td>
|
||||||
|
<td><a href="lib/database.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/glance</td>
|
||||||
|
<td><a href="lib/glance.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/heat</td>
|
||||||
|
<td><a href="lib/heat.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/horizon</td>
|
||||||
|
<td><a href="lib/horizon.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/infra</td>
|
||||||
|
<td><a href="lib/infra.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/ironic</td>
|
||||||
|
<td><a href="lib/ironic.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/keystone</td>
|
||||||
|
<td><a href="lib/keystone.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/ldap</td>
|
||||||
|
<td><a href="lib/ldap.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/marconi</td>
|
||||||
|
<td><a href="lib/marconi.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/neutron</td>
|
||||||
|
<td><a href="lib/neutron.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/nova</td>
|
||||||
|
<td><a href="lib/nova.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/oslo</td>
|
||||||
|
<td><a href="lib/oslo.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/rpc_backend</td>
|
||||||
|
<td><a href="lib/rpc_backend.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/savanna</td>
|
||||||
|
<td><a href="lib/savanna.html" class="btn btn-small btn-primary table-action">Read »</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 »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/stackforge</td>
|
||||||
|
<td><a href="lib/stackforge.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/swift</td>
|
||||||
|
<td><a href="lib/swift.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/tempest</td>
|
||||||
|
<td><a href="lib/tempest.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/tls</td>
|
||||||
|
<td><a href="lib/tls.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>lib/trove</td>
|
||||||
|
<td><a href="lib/trove.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>unstack.sh</td>
|
||||||
|
<td><a href="unstack.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>clean.sh</td>
|
||||||
|
<td><a href="clean.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>run_tests.sh</td>
|
||||||
|
<td><a href="run_tests.sh.html" class="btn btn-small btn-primary table-action">Read »</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 »</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 »</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 »</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 »</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 »</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 »</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 »</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 »</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 »</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 »</a></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
<tfoot>
|
||||||
|
<td colspan="3">40 bash scripts</td>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class='span5 pull-right'>
|
||||||
|
<h2>Configuration <small>Setting the table</small></h2>
|
||||||
|
<table class='table table-striped table-bordered'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Filename</th>
|
||||||
|
<th>Link</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>local.conf</td>
|
||||||
|
<td><a href="local.conf.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>stackrc</td>
|
||||||
|
<td><a href="stackrc.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>openrc</td>
|
||||||
|
<td><a href="openrc.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exerciserc</td>
|
||||||
|
<td><a href="exerciserc.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>eucarc</td>
|
||||||
|
<td><a href="eucarc.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
<tfoot>
|
||||||
|
<td colspan="3">5 configuration files</td>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>Samples <small>Generated documentation of DevStack sample files.</small></h2>
|
||||||
|
<table class='table table-striped table-bordered'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Filename</th>
|
||||||
|
<th>Link</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>local.sh</td>
|
||||||
|
<td><a href="samples/local.sh.html" class="btn btn-small btn-success table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>localrc</td>
|
||||||
|
<td><a href="samples/localrc.html" class="btn btn-small btn-success table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
<tfoot>
|
||||||
|
<td colspan="3">2 sample files</td>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class='row span5 pull-right'>
|
||||||
|
<h2>Exercises <small>Generated documentation of DevStack scripts.</small></h2>
|
||||||
|
<table class='table table-striped table-bordered'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Filename</th>
|
||||||
|
<th>Link</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>exercise.sh</td>
|
||||||
|
<td><a href="exercise.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/aggregates.sh</td>
|
||||||
|
<td><a href="exercises/aggregates.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/boot_from_volume.sh</td>
|
||||||
|
<td><a href="exercises/boot_from_volume.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/bundle.sh</td>
|
||||||
|
<td><a href="exercises/bundle.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/client-args.sh</td>
|
||||||
|
<td><a href="exercises/client-args.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/client-env.sh</td>
|
||||||
|
<td><a href="exercises/client-env.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/euca.sh</td>
|
||||||
|
<td><a href="exercises/euca.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/floating_ips.sh</td>
|
||||||
|
<td><a href="exercises/floating_ips.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/horizon.sh</td>
|
||||||
|
<td><a href="exercises/horizon.sh.html" class="btn btn-small btn-primary table-action">Read »</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 »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/sec_groups.sh</td>
|
||||||
|
<td><a href="exercises/sec_groups.sh.html" class="btn btn-small btn-primary table-action">Read »</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>exercises/swift.sh</td>
|
||||||
|
<td><a href="exercises/swift.sh.html" class="btn btn-small btn-primary table-action">Read »</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 »</a></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
<tfoot>
|
||||||
|
<td colspan="3">13 exercise scripts</td>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
64
docs/source/local.conf.html
Normal file
64
docs/source/local.conf.html
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - local.conf</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<section class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>local.conf <small>User settings</small></h2>
|
||||||
|
<p><code>local.conf</code> is a user-maintained setings file that is
|
||||||
|
sourced in <code>stackrc</code>. It contains a section that replaces
|
||||||
|
the historical <code>localrc</code> file. See
|
||||||
|
<a href="configuration.html">the description of local.conf</a> for
|
||||||
|
more details about the mechanics of the file.</p>
|
||||||
|
</div>
|
||||||
|
</section
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
60
docs/source/localrc.html
Normal file
60
docs/source/localrc.html
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - localrc</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<section class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>localrc <small>User settings</small></h2>
|
||||||
|
<p><code>localrc</code> is the old file used to configure DevStack. It is deprecated and has been replaced by <a href="local.conf.html"><code>local.conf</code></a>. DevStack will continue to use <code>localrc</code> if it is present and ignore the <code>localrc</code> section in <code>local.conf.</code>. Remove <code>localrc</code> to switch to using the new file.</p>
|
||||||
|
</div>
|
||||||
|
</section
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
115
docs/source/openrc.html
Normal file
115
docs/source/openrc.html
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - openrc</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<section class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>openrc <small>User authentication settings</small></h2>
|
||||||
|
<p><code>openrc</code> configures login credentials suitable for use
|
||||||
|
with the OpenStack command-line tools. <code>openrc</code> sources
|
||||||
|
<code>stackrc</code> at the beginning (which in turn sources
|
||||||
|
the <code>localrc</code> setion of <code>local.conf</code>) in
|
||||||
|
order to pick up <code>HOST_IP</code>
|
||||||
|
and/or <code>SERVICE_HOST</code> to use in the endpoints.
|
||||||
|
The values shown below are the default values.</p>
|
||||||
|
</div>
|
||||||
|
<dl>
|
||||||
|
|
||||||
|
<dt>OS_TENANT_NAME</dt>
|
||||||
|
<dd>The introduction of Keystone to the OpenStack ecosystem has standardized the
|
||||||
|
term <em>tenant</em> as the entity that owns resources. In some places references
|
||||||
|
still exist to the original Nova term <em>project</em> for this use. Also,
|
||||||
|
<em>tenant_name</em> is prefered to <em>tenant_id</em>.
|
||||||
|
<pre>OS_TENANT_NAME=demo</pre></dd>
|
||||||
|
|
||||||
|
<dt>OS_USERNAME</dt>
|
||||||
|
<dd>In addition to the owning entity (tenant), Nova stores the entity performing
|
||||||
|
the action as the <em>user</em>.
|
||||||
|
<pre>OS_USERNAME=demo</pre></dd>
|
||||||
|
|
||||||
|
<dt>OS_PASSWORD</dt>
|
||||||
|
<dd>With Keystone you pass the keystone password instead of an api key.
|
||||||
|
Recent versions of novaclient use OS_PASSWORD instead of NOVA_API_KEYs
|
||||||
|
or NOVA_PASSWORD.
|
||||||
|
<pre>OS_PASSWORD=secrete</pre></dd>
|
||||||
|
|
||||||
|
<dt>HOST_IP, SERVICE_HOST</dt>
|
||||||
|
<dd>Set API endpoint host using <code>HOST_IP</code>. <code>SERVICE_HOST</code>
|
||||||
|
may also be used to specify the endpoint, which is convenient for
|
||||||
|
some <code>localrc</code> configurations. Typically, <code>HOST_IP</code>
|
||||||
|
is set in the <code>localrc</code> section.
|
||||||
|
<pre>HOST_IP=127.0.0.1
|
||||||
|
SERVICE_HOST=$HOST_IP</pre></dd>
|
||||||
|
|
||||||
|
<dt>OS_AUTH_URL</dt>
|
||||||
|
<dd>Authenticating against an OpenStack cloud using Keystone returns a <em>Token</em>
|
||||||
|
and <em>Service Catalog</em>. The catalog contains the endpoints for all services
|
||||||
|
the user/tenant has access to - including Nova, Glance, Keystone and Swift.
|
||||||
|
<pre>OS_AUTH_URL=http://$SERVICE_HOST:5000/v2.0</pre></dd>
|
||||||
|
|
||||||
|
<dt>GLANCE_HOST</dt>
|
||||||
|
<dd>Some exercises call Glance directly. On a single-node installation, Glance
|
||||||
|
should be listening on <code>HOST_IP</code>. If its running elsewhere
|
||||||
|
it can be set here.
|
||||||
|
<pre>GLANCE_HOST=$HOST_IP</pre></dd>
|
||||||
|
|
||||||
|
<dt>KEYSTONECLIENT_DEBUG, NOVACLIENT_DEBUG</dt>
|
||||||
|
<dd>Set command-line client log level to <code>DEBUG</code>. These are
|
||||||
|
commented out by default.
|
||||||
|
<pre># export KEYSTONECLIENT_DEBUG=1
|
||||||
|
# export NOVACLIENT_DEBUG=1</pre></dd>
|
||||||
|
|
||||||
|
</dl>
|
||||||
|
</section
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — An
|
||||||
|
<a href="https://wiki.openstack.org/wiki/Programs">OpenStack program</a>
|
||||||
|
created by <a href="http://www.rackspace.com/cloud/private_edition/">Rackspace Cloud Builders</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
118
docs/source/overview.html
Normal file
118
docs/source/overview.html
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - Overview</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" id="home">
|
||||||
|
|
||||||
|
<section id="overview" class="span12">
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<h2>Supported Components</h2>
|
||||||
|
|
||||||
|
<h3>Base OS</h3>
|
||||||
|
<p><em>The OpenStack Technical Committee (TC) has defined the current CI strategy to include the latest Ubuntu release and the latest RHEL release (for Python 2.6 testing).</em></p>
|
||||||
|
<ul>
|
||||||
|
<li>Ubuntu: current LTS release plus current development release</li>
|
||||||
|
<li>Fedora: current release plus previous release</li>
|
||||||
|
<li>RHEL: current major release</li>
|
||||||
|
<li>Other OS platforms may continue to be included but the maintenance of those platforms shall not be assumed simply due to their presence. Having a listed point-of-contact for each additional OS will greatly increase its chance of being well-maintained.</li>
|
||||||
|
<li>Patches for Ubuntu and/or Fedora will not be held up due to side-effects on other OS platforms.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Databases</h3>
|
||||||
|
<p><em>As packaged by the host OS</em></p>
|
||||||
|
<ul>
|
||||||
|
<li>MySQL</li>
|
||||||
|
<li>PostgreSQL</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Queues</h3>
|
||||||
|
<p><em>As packaged by the host OS</em></p>
|
||||||
|
<ul>
|
||||||
|
<li>Rabbit</li>
|
||||||
|
<li>Qpid</li>
|
||||||
|
<!--
|
||||||
|
<li>ZeroMQ</li>
|
||||||
|
-->
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Web Server</h3>
|
||||||
|
<p><em>As packaged by the host OS</em></p>
|
||||||
|
<ul>
|
||||||
|
<li>Apache</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>OpenStack Network</h3>
|
||||||
|
<p><em>Default to Nova Network, optionally use Neutron</em></p>
|
||||||
|
<ul>
|
||||||
|
<li>Nova Network: FlatDHCP</li>
|
||||||
|
<li>Neutron: A basic configuration approximating the original FlatDHCP mode using linuxbridge or OpenVSwitch.</li>
|
||||||
|
</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>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>
|
||||||
|
<ul>
|
||||||
|
<li>single node</li>
|
||||||
|
<li>multi-node is not tested regularly by the core team, and even then only minimal configurations are reviewed</li>
|
||||||
|
</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>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
136
docs/source/plugins.html
Normal file
136
docs/source/plugins.html
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - Plugins</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container" id="home">
|
||||||
|
|
||||||
|
<section id="faq" class="span12">
|
||||||
|
|
||||||
|
<div class='row pull-left'>
|
||||||
|
<h2>Plugins <small>Add stuff</small></h2>
|
||||||
|
<p>DevStack has a couple of plugin mechanisms to allow easily adding support for additional projects and features.</p>
|
||||||
|
|
||||||
|
<h3>Extras.d Hooks</h3>
|
||||||
|
<p>These relatively new hooks are an extension of the existing calls from <code>stack.sh</code> at the end of its run, plus <code>unstack.sh</code> and <code>clean.sh</code>. A number of the higher-layer projects are implemented in DevStack using this mechanism.</p>
|
||||||
|
|
||||||
|
<p>The script in <code>extras.d</code> is expected to be mostly a dispatcher to functions in a <code>lib/*</code> script. The scripts are named with a zero-padded two digits sequence number prefix to control the order that the scripts are called, and with a suffix of <code>.sh</code>. DevSack reserves for itself the sequence numbers 00 through 09 and 90 through 99.</p>
|
||||||
|
|
||||||
|
<p>Below is a template that shows handlers for the possible command-line arguments:</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
# template.sh - DevStack extras.d dispatch script template
|
||||||
|
|
||||||
|
# check for service enabled
|
||||||
|
if is_service_enabled template; then
|
||||||
|
|
||||||
|
if [[ "$1" == "source" ]]; then
|
||||||
|
# Initial source of lib script
|
||||||
|
source $TOP_DIR/lib/template
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$1" == "stack" && "$2" == "install" ]]; then
|
||||||
|
# Perform installation of service source
|
||||||
|
echo_summary "Installing Template"
|
||||||
|
install_template
|
||||||
|
|
||||||
|
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
||||||
|
# Configure after the other layer 1 and 2 services have been configured
|
||||||
|
echo_summary "Configuring Template"
|
||||||
|
configure_template
|
||||||
|
|
||||||
|
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
||||||
|
# Initialize and start the template service
|
||||||
|
echo_summary "Initializing Template"
|
||||||
|
##init_template
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$1" == "unstack" ]]; then
|
||||||
|
# Shut down template services
|
||||||
|
# no-op
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$1" == "clean" ]]; then
|
||||||
|
# Remove state and transient data
|
||||||
|
# Remember clean.sh first calls unstack.sh
|
||||||
|
# no-op
|
||||||
|
:
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>The arguments are:
|
||||||
|
<ul>
|
||||||
|
<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>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>
|
||||||
|
</ul></li>
|
||||||
|
<li><strong>unstack</strong> - Called by <code>unstack.sh</code> before other services are shut down.</li>
|
||||||
|
<li><strong>clean</strong> - Called by <code>clean.sh</code> before other services are cleaned, but after <code>unstack.sh</code> has been called.
|
||||||
|
</ul></p>
|
||||||
|
|
||||||
|
|
||||||
|
<h3>Hypervisor</h3>
|
||||||
|
<p>Hypervisor plugins are fairly new and condense most hypervisor configuration into one place.</p>
|
||||||
|
|
||||||
|
<p>The initial plugin implemented was for Docker support and is a useful template for the required support. Plugins are placed in <code>lib/nova_plugins</code> and named <code>hypervisor-<name></code> where <code><name></code> is the value of <code>VIRT_DRIVER</code>. Plugins must define the following functions:</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>install_nova_hypervisor</code> - install any external requirements</li>
|
||||||
|
<li><code>configure_nova_hypervisor</code> - make configuration changes, including those to other services</li>
|
||||||
|
<li><code>start_nova_hypervisor</code> - start any external services</li>
|
||||||
|
<li><code>stop_nova_hypervisor</code> - stop any external services</li>
|
||||||
|
<li><code>cleanup_nova_hypervisor</code> - remove transient data and cache</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2013 — An <a href="https://wiki.openstack.org/wiki/Programs">OpenStack program</a> created by <a href="http://www.rackspace.com/cloud/private_edition/">Rackspace Cloud Builders</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
</body>
|
||||||
|
</html>
|
101
docs/source/stackrc.html
Normal file
101
docs/source/stackrc.html
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>DevStack - stackrc</title>
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
|
<!--[if lt IE 9]>
|
||||||
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<!-- Le styles -->
|
||||||
|
<link href="assets/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="assets/css/local.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
body { padding-top: 60px; }
|
||||||
|
dd { padding: 10px; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Le javascripts -->
|
||||||
|
<script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
<script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="container">
|
||||||
|
<a class="brand" href="/">DevStack</a>
|
||||||
|
<ul class="nav pull-right">
|
||||||
|
<li><a href="overview.html">Overview</a></li>
|
||||||
|
<li><a href="changes.html">Changes</a></li>
|
||||||
|
<li><a href="faq.html">FAQ</a></li>
|
||||||
|
<li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
|
||||||
|
<li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<section class="span12">
|
||||||
|
<div class="page-header">
|
||||||
|
<h2>stackrc <small>DevStack settings</small></h2>
|
||||||
|
<p><code>stackrc</code> is the primary configuration file for DevStack.
|
||||||
|
It contains all of the settings that control the services started
|
||||||
|
and the repositories used to download the source for those services.
|
||||||
|
<code>stackrc</code> sources the <code>localrc</code> section of
|
||||||
|
<code>local.conf</code> to perform the default overrides.</p>
|
||||||
|
</div>
|
||||||
|
<dl>
|
||||||
|
|
||||||
|
<dt>DATABASE_TYPE</dt>
|
||||||
|
<dd>Select the database backend to use. The default is <code>mysql</code>,
|
||||||
|
<code>postgresql</code> is also available.</dd>
|
||||||
|
|
||||||
|
<dt>ENABLED_SERVICES</dt>
|
||||||
|
<dd>Specify which services to launch. These generally correspond to
|
||||||
|
screen tabs.
|
||||||
|
The default includes: Glance (API and Registry), Keystone, Nova (API,
|
||||||
|
Certificate, Object Store, Compute, Network, Scheduler, VNC proxies,
|
||||||
|
Certificate Authentication), Cinder (Scheduler, API, Volume), Horizon, MySQL, RabbitMQ, Tempest.
|
||||||
|
<pre>ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,$DATABASE_TYPE</pre>
|
||||||
|
Other services that are not enabled by default can be enabled in
|
||||||
|
<code>localrc</code>. For example, to add Swift:
|
||||||
|
<pre>enable_service swift</pre>
|
||||||
|
A service can similarly be disabled:
|
||||||
|
<pre>disable_service horizon</pre></dd>
|
||||||
|
|
||||||
|
<dt>Service Repos</dt>
|
||||||
|
<dd>The Git repositories used to check out the source for each service
|
||||||
|
are controlled by a pair of variables set for each service.
|
||||||
|
<code>*_REPO</code> points to the repository and <code>*_BRANCH</code>
|
||||||
|
selects which branch to check out. These may be overridden in
|
||||||
|
<code>local.conf</code> to pull source from a different repo for testing,
|
||||||
|
such as a Gerrit branch proposal. <code>GIT_BASE</code> points to the primary repository server.
|
||||||
|
<pre>NOVA_REPO=$GIT_BASE/openstack/nova.git
|
||||||
|
NOVA_BRANCH=master</pre>
|
||||||
|
To pull a branch directly from Gerrit, get the repo and branch from the
|
||||||
|
Gerrit review page:
|
||||||
|
<pre>git fetch https://review.openstack.org/p/openstack/nova refs/changes/50/5050/1 && git checkout FETCH_HEAD</pre>
|
||||||
|
The repo is the stanza following <code>fetch</code> and the branch
|
||||||
|
is the stanza following that:
|
||||||
|
<pre>NOVA_REPO=https://review.openstack.org/p/openstack/nova
|
||||||
|
NOVA_BRANCH=refs/changes/50/5050/1</pre></dd>
|
||||||
|
|
||||||
|
</dl>
|
||||||
|
</section
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Openstack Foundation 2011-2014 — An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -2,21 +2,22 @@
|
|||||||
|
|
||||||
# **build_docs.sh** - Build the gh-pages docs for DevStack
|
# **build_docs.sh** - Build the gh-pages docs for DevStack
|
||||||
#
|
#
|
||||||
# - Install shocco if not found on PATH
|
# - Install shocco if not found on PATH and INSTALL_SHOCCO is set
|
||||||
# - Clone MASTER_REPO branch MASTER_BRANCH
|
# - Clone MASTER_REPO branch MASTER_BRANCH
|
||||||
# - Re-creates ``docs`` directory from existing repo + new generated script docs
|
# - Re-creates ``docs/html`` directory from existing repo + new generated script docs
|
||||||
|
|
||||||
# Usage:
|
# Usage:
|
||||||
## build_docs.sh [[-b branch] [-p] repo] | .
|
## build_docs.sh [-o <out-dir>] [-g] [master|<repo> [<branch>]]
|
||||||
## -b branch The DevStack branch to check out (default is master; ignored if
|
## <repo> The DevStack repository to clone (default is DevStack github repo)
|
||||||
## repo is not specified)
|
|
||||||
## -p Push the resulting docs tree to the source repo; fatal error if
|
|
||||||
## repo is not specified
|
|
||||||
## repo The DevStack repository to clone (default is DevStack github repo)
|
|
||||||
## If a repo is not supplied use the current directory
|
## If a repo is not supplied use the current directory
|
||||||
## (assumed to be a DevStack checkout) as the source.
|
## (assumed to be a DevStack checkout) as the source.
|
||||||
|
## <branch> The DevStack branch to check out (default is master; ignored if
|
||||||
|
## repo is not specified)
|
||||||
## . Use the current repo and branch (do not use with -p to
|
## . Use the current repo and branch (do not use with -p to
|
||||||
## prevent stray files in the workspace being added tot he docs)
|
## prevent stray files in the workspace being added tot he docs)
|
||||||
|
## -o <out-dir> Write the static HTML output to <out-dir>
|
||||||
|
## (Note that <out-dir> will be deleted and re-created to ensure it is clean)
|
||||||
|
## -g Update the old gh-pages repo (set PUSH=1 to actualy push up to RCB)
|
||||||
|
|
||||||
# Defaults
|
# Defaults
|
||||||
# --------
|
# --------
|
||||||
@ -28,6 +29,9 @@ MASTER_BRANCH=${MASTER_BRANCH:-master}
|
|||||||
# http://devstack.org is a GitHub gh-pages site in the https://github.com/cloudbuilders/devtack.git repo
|
# http://devstack.org is a GitHub gh-pages site in the https://github.com/cloudbuilders/devtack.git repo
|
||||||
GH_PAGES_REPO=git@github.com:cloudbuilders/devstack.git
|
GH_PAGES_REPO=git@github.com:cloudbuilders/devstack.git
|
||||||
|
|
||||||
|
DOCS_SOURCE=docs/source
|
||||||
|
HTML_BUILD=docs/html
|
||||||
|
|
||||||
# Keep track of the devstack directory
|
# Keep track of the devstack directory
|
||||||
TOP_DIR=$(cd $(dirname "$0")/.. && pwd)
|
TOP_DIR=$(cd $(dirname "$0")/.. && pwd)
|
||||||
|
|
||||||
@ -49,97 +53,110 @@ if ! which shocco; then
|
|||||||
git clone -b rst_support https://github.com/dtroyer/shocco shocco
|
git clone -b rst_support https://github.com/dtroyer/shocco shocco
|
||||||
cd shocco
|
cd shocco
|
||||||
./configure
|
./configure
|
||||||
make
|
make || exit
|
||||||
cd ..
|
cd ..
|
||||||
fi
|
fi
|
||||||
SHOCCO=$TOP_DIR/shocco/shocco
|
SHOCCO=$TOP_DIR/shocco/shocco
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Process command-line args
|
# Process command-line args
|
||||||
while getopts b:p c; do
|
while getopts go: c; do
|
||||||
case $c in
|
case $c in
|
||||||
b) MASTER_BRANCH=$OPTARG
|
g) GH_UPDATE=1
|
||||||
;;
|
;;
|
||||||
p) PUSH_REPO=1
|
o) HTML_BUILD=$OPTARG
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
shift `expr $OPTIND - 1`
|
shift `expr $OPTIND - 1`
|
||||||
|
|
||||||
# Sanity check the args
|
|
||||||
if [[ "$1" == "." ]]; then
|
if [[ -n "$1" ]]; then
|
||||||
REPO=""
|
master="master"
|
||||||
if [[ -n $PUSH_REPO ]]; then
|
if [[ "${master/#$1}" != "master" ]]; then
|
||||||
echo "Push not allowed from an active workspace"
|
# Partial match on "master"
|
||||||
unset PUSH_REPO
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [[ -z "$1" ]]; then
|
|
||||||
REPO=$MASTER_REPO
|
REPO=$MASTER_REPO
|
||||||
else
|
else
|
||||||
REPO=$1
|
REPO=$1
|
||||||
fi
|
fi
|
||||||
|
REPO_BRANCH=${2:-$MASTER_BRANCH}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check out a specific DevStack branch
|
# Check out a specific DevStack branch
|
||||||
if [[ -n $REPO ]]; then
|
if [[ -n $REPO ]]; then
|
||||||
# Make a workspace
|
# Make a workspace
|
||||||
TMP_ROOT=$(mktemp -d devstack-docs-XXXX)
|
TMP_ROOT=$(mktemp -d work-docs-XXXX)
|
||||||
echo "Building docs in $TMP_ROOT"
|
echo "Building docs in $TMP_ROOT"
|
||||||
cd $TMP_ROOT
|
cd $TMP_ROOT
|
||||||
|
|
||||||
# Get the master branch
|
# Get the master branch
|
||||||
git clone $REPO devstack
|
git clone $REPO devstack
|
||||||
cd devstack
|
cd devstack
|
||||||
git checkout $MASTER_BRANCH
|
if [[ -n "$REPO_BRANCH" ]]; then
|
||||||
|
git checkout $REPO_BRANCH
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Assumption is we are now in the DevStack workspace to be processed
|
||||||
|
|
||||||
# Processing
|
# Processing
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
# Assumption is we are now in the DevStack repo workspace to be processed
|
# Clean up build dir
|
||||||
|
rm -rf $HTML_BUILD
|
||||||
|
mkdir -p $HTML_BUILD
|
||||||
|
|
||||||
# Pull the latest docs branch from devstack.org repo
|
# Get fully qualified dirs
|
||||||
if ! [ -d docs ]; then
|
FQ_DOCS_SOURCE=$(cd $DOCS_SOURCE && pwd)
|
||||||
git clone -b gh-pages $GH_PAGES_REPO docs
|
FQ_HTML_BUILD=$(cd $HTML_BUILD && pwd)
|
||||||
fi
|
|
||||||
|
# Get repo static
|
||||||
|
cp -pr $FQ_DOCS_SOURCE/* $FQ_HTML_BUILD
|
||||||
|
|
||||||
# Build list of scripts to process
|
# Build list of scripts to process
|
||||||
FILES=""
|
FILES=""
|
||||||
for f in $(find . -name .git -prune -o \( -type f -name \*.sh -not -path \*shocco/\* -print \)); do
|
for f in $(find . -name .git -prune -o \( -type f -name \*.sh -not -path \*shocco/\* -print \)); do
|
||||||
echo $f
|
echo $f
|
||||||
FILES+="$f "
|
FILES+="$f "
|
||||||
mkdir -p docs/`dirname $f`;
|
mkdir -p $FQ_HTML_BUILD/`dirname $f`;
|
||||||
$SHOCCO $f > docs/$f.html
|
$SHOCCO $f > $FQ_HTML_BUILD/$f.html
|
||||||
done
|
done
|
||||||
for f in $(find functions lib samples -type f -name \*); do
|
for f in $(find functions functions-common lib samples -type f -name \*); do
|
||||||
echo $f
|
echo $f
|
||||||
FILES+="$f "
|
FILES+="$f "
|
||||||
mkdir -p docs/`dirname $f`;
|
mkdir -p $FQ_HTML_BUILD/`dirname $f`;
|
||||||
$SHOCCO $f > docs/$f.html
|
$SHOCCO $f > $FQ_HTML_BUILD/$f.html
|
||||||
done
|
done
|
||||||
echo "$FILES" >docs-files
|
echo "$FILES" >docs/files
|
||||||
|
|
||||||
# Switch to the gh_pages repo
|
if [[ -n $GH_UPDATE ]]; then
|
||||||
cd docs
|
GH_ROOT=$(mktemp -d work-gh-XXXX)
|
||||||
|
cd $GH_ROOT
|
||||||
|
|
||||||
# Collect the new generated pages
|
# Pull the latest docs branch from devstack.org repo
|
||||||
find . -name \*.html -print0 | xargs -0 git add
|
git clone -b gh-pages $GH_PAGES_REPO gh-docs
|
||||||
|
|
||||||
# Push our changes back up to the docs branch
|
# Get the generated files
|
||||||
if ! git diff-index HEAD --quiet; then
|
cp -pr $FQ_HTML_BUILD/* gh-docs
|
||||||
git commit -a -m "Update script docs"
|
|
||||||
if [[ -n $PUSH ]]; then
|
# Collect the new generated pages
|
||||||
git push
|
(cd gh-docs; find . -name \*.html -print0 | xargs -0 git add)
|
||||||
|
|
||||||
|
# Push our changes back up to the docs branch
|
||||||
|
if ! git diff-index HEAD --quiet; then
|
||||||
|
git commit -a -m "Update script docs"
|
||||||
|
if [[ -n $PUSH ]]; then
|
||||||
|
git push
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clean up or report the temp workspace
|
# Clean up or report the temp workspace
|
||||||
if [[ -n REPO && -n $PUSH_REPO ]]; then
|
if [[ -n REPO && -n $PUSH_REPO ]]; then
|
||||||
rm -rf $TMP_ROOT
|
echo rm -rf $TMP_ROOT
|
||||||
else
|
else
|
||||||
if [[ -z "$TMP_ROOT" ]]; then
|
if [[ -z "$TMP_ROOT" ]]; then
|
||||||
TMP_ROOT="$(pwd)"
|
TMP_ROOT="$(pwd)"
|
||||||
fi
|
fi
|
||||||
echo "Built docs in $TMP_ROOT"
|
echo "Built docs in $HTML_BUILD"
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user