While rst doesn't actually care about the order of headers, reviewers
sometimes do. And the build in emacs mode has a certain order
specified that it can easily rotate between.
Standardize on == h1, = h2, - h3, ~ h4 in the code.
Change-Id: I80ff6df6ef0703a3c3005809069428018bb355d4
| ... | ... |
@@ -10,9 +10,9 @@ License Agreement (CLA). If you have already done that for another |
| 10 | 10 |
OpenStack project you are good to go. |
| 11 | 11 |
|
| 12 | 12 |
Things To Know |
| 13 |
-~~~~~~~~~~~~~~ |
|
| 13 |
+============== |
|
| 14 | 14 |
|
| 15 |
-| |
|
| 15 |
+| |
|
| 16 | 16 |
| **Where Things Are** |
| 17 | 17 |
|
| 18 | 18 |
The official DevStack repository is located at |
| ... | ... |
@@ -30,7 +30,7 @@ queue <https://review.openstack.org/#/q/project:openstack-dev/devstack,n,z>`__ |
| 30 | 30 |
is, however, used for all commits except for the text of this website. |
| 31 | 31 |
That should also change in the near future. |
| 32 | 32 |
|
| 33 |
-| |
|
| 33 |
+| |
|
| 34 | 34 |
| **HACKING.rst** |
| 35 | 35 |
|
| 36 | 36 |
Like most OpenStack projects, DevStack includes a ``HACKING.rst`` file |
| ... | ... |
@@ -38,7 +38,7 @@ that describes the layout, style and conventions of the project. Because |
| 38 | 38 |
``HACKING.rst`` is in the main DevStack repo it is considered |
| 39 | 39 |
authoritative. Much of the content on this page is taken from there. |
| 40 | 40 |
|
| 41 |
-| |
|
| 41 |
+| |
|
| 42 | 42 |
| **bashate Formatting** |
| 43 | 43 |
|
| 44 | 44 |
Around the time of the OpenStack Havana release we added a tool to do |
| ... | ... |
@@ -51,9 +51,9 @@ the script pages for devstack.org and possibly even simple code |
| 51 | 51 |
formatting. Run it on the entire project with ``./run_tests.sh``. |
| 52 | 52 |
|
| 53 | 53 |
Code |
| 54 |
-~~~~ |
|
| 54 |
+==== |
|
| 55 | 55 |
|
| 56 |
-| |
|
| 56 |
+| |
|
| 57 | 57 |
| **Repo Layout** |
| 58 | 58 |
|
| 59 | 59 |
The DevStack repo generally keeps all of the primary scripts at the root |
| ... | ... |
@@ -7,7 +7,7 @@ FAQ |
| 7 | 7 |
- `Miscellaneous <#misc>`__ |
| 8 | 8 |
|
| 9 | 9 |
General Questions |
| 10 |
-~~~~~~~~~~~~~~~~~ |
|
| 10 |
+================= |
|
| 11 | 11 |
|
| 12 | 12 |
Q: Can I use DevStack for production? |
| 13 | 13 |
A: No. We mean it. Really. DevStack makes some implementation |
| ... | ... |
@@ -77,7 +77,7 @@ Q: How about RHEL 6? |
| 77 | 77 |
is valuable so we do it... |
| 78 | 78 |
|
| 79 | 79 |
Operation and Configuration |
| 80 |
-~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 80 |
+=========================== |
|
| 81 | 81 |
|
| 82 | 82 |
Q: Can DevStack handle a multi-node installation? |
| 83 | 83 |
A: Indirectly, yes. You run DevStack on each node with the |
| ... | ... |
@@ -157,7 +157,7 @@ Q: Why are my configuration changes ignored? |
| 157 | 157 |
``FORCE_PREREQ=1`` and the package checks will never be skipped. |
| 158 | 158 |
|
| 159 | 159 |
Miscellaneous |
| 160 |
-~~~~~~~~~~~~~ |
|
| 160 |
+============= |
|
| 161 | 161 |
|
| 162 | 162 |
Q: ``tools/fixup_stuff.sh`` is broken and shouldn't 'fix' just one version of packages. |
| 163 | 163 |
A: [Another not-a-question] No it isn't. Stuff in there is to |
| ... | ... |
@@ -6,10 +6,10 @@ Here is OpenStack in a realistic test configuration with multiple |
| 6 | 6 |
physical servers. |
| 7 | 7 |
|
| 8 | 8 |
Prerequisites Linux & Network |
| 9 |
+============================= |
|
| 9 | 10 |
|
| 10 | 11 |
Minimal Install |
| 11 |
-~~~~~~~~~~~~~~~ |
|
| 12 |
+--------------- |
|
| 12 | 13 |
|
| 13 | 14 |
You need to have a system with a fresh install of Linux. You can |
| 14 | 15 |
download the `Minimal |
| ... | ... |
@@ -27,7 +27,7 @@ Install a couple of packages to bootstrap configuration: |
| 27 | 27 |
apt-get install -y git sudo || yum install -y git sudo |
| 28 | 28 |
|
| 29 | 29 |
Network Configuration |
| 30 |
-~~~~~~~~~~~~~~~~~~~~~ |
|
| 30 |
+--------------------- |
|
| 31 | 31 |
|
| 32 | 32 |
The first iteration of the lab uses OpenStack's FlatDHCP network |
| 33 | 33 |
controller so only a single network will be required. It should be on |
| ... | ... |
@@ -60,10 +60,10 @@ For Fedora and CentOS/RHEL edit |
| 60 | 60 |
GATEWAY=192.168.42.1 |
| 61 | 61 |
|
| 62 | 62 |
Installation shake and bake |
| 63 |
+=========================== |
|
| 63 | 64 |
|
| 64 | 65 |
Add the DevStack User |
| 65 |
-~~~~~~~~~~~~~~~~~~~~~ |
|
| 66 |
+--------------------- |
|
| 66 | 67 |
|
| 67 | 68 |
OpenStack runs as a non-root user that has sudo access to root. There is |
| 68 | 69 |
nothing special about the name, we'll use ``stack`` here. Every node |
| ... | ... |
@@ -88,7 +88,7 @@ From here on use the ``stack`` user. **Logout** and **login** as the |
| 88 | 88 |
``stack`` user. |
| 89 | 89 |
|
| 90 | 90 |
Set Up Ssh |
| 91 |
-~~~~~~~~~~ |
|
| 91 |
+---------- |
|
| 92 | 92 |
|
| 93 | 93 |
Set up the stack user on each node with an ssh key for access: |
| 94 | 94 |
|
| ... | ... |
@@ -98,7 +98,7 @@ Set up the stack user on each node with an ssh key for access: |
| 98 | 98 |
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyYjfgyPazTvGpd8OaAvtU2utL8W6gWC4JdRS1J95GhNNfQd657yO6s1AH5KYQWktcE6FO/xNUC2reEXSGC7ezy+sGO1kj9Limv5vrvNHvF1+wts0Cmyx61D2nQw35/Qz8BvpdJANL7VwP/cFI/p3yhvx2lsnjFE3hN8xRB2LtLUopUSVdBwACOVUmH2G+2BWMJDjVINd2DPqRIA4Zhy09KJ3O1Joabr0XpQL0yt/I9x8BVHdAx6l9U0tMg9dj5+tAjZvMAFfye3PJcYwwsfJoFxC8w/SLtqlFX7Ehw++8RtvomvuipLdmWCy+T9hIkl+gHYE4cS3OIqXH7f49jdJf jesse@spacey.local" > ~/.ssh/authorized_keys |
| 99 | 99 |
|
| 100 | 100 |
Download DevStack |
| 101 |
-~~~~~~~~~~~~~~~~~ |
|
| 101 |
+----------------- |
|
| 102 | 102 |
|
| 103 | 103 |
Grab the latest version of DevStack: |
| 104 | 104 |
|
| ... | ... |
@@ -112,7 +112,7 @@ From here on there are some differences between the cluster controller |
| 112 | 112 |
(aka 'head node') and the compute nodes. |
| 113 | 113 |
|
| 114 | 114 |
Configure Cluster Controller |
| 115 |
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 115 |
+---------------------------- |
|
| 116 | 116 |
|
| 117 | 117 |
The cluster controller runs all OpenStack services. Configure the |
| 118 | 118 |
cluster controller's DevStack in ``local.conf``: |
| ... | ... |
@@ -153,7 +153,7 @@ to poke at your shiny new OpenStack. The most recent log file is |
| 153 | 153 |
available in ``stack.sh.log``. |
| 154 | 154 |
|
| 155 | 155 |
Configure Compute Nodes |
| 156 |
-~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 156 |
+----------------------- |
|
| 157 | 157 |
|
| 158 | 158 |
The compute nodes only run the OpenStack worker services. For additional |
| 159 | 159 |
machines, create a ``local.conf`` with: |
| ... | ... |
@@ -196,7 +196,7 @@ to poke at your shiny new OpenStack. The most recent log file is |
| 196 | 196 |
available in ``stack.sh.log``. |
| 197 | 197 |
|
| 198 | 198 |
Cleaning Up After DevStack |
| 199 |
-~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 199 |
+-------------------------- |
|
| 200 | 200 |
|
| 201 | 201 |
Shutting down OpenStack is now as simple as running the included |
| 202 | 202 |
``unstack.sh`` script: |
| ... | ... |
@@ -223,10 +223,10 @@ this when it runs but there are times it needs to still be done by hand: |
| 223 | 223 |
sudo virsh list | grep inst | awk '{print $1}' | xargs -n1 virsh destroy
|
| 224 | 224 |
|
| 225 | 225 |
Options pimp your stack |
| 226 |
+======================= |
|
| 226 | 227 |
|
| 227 | 228 |
Additional Users |
| 228 |
-~~~~~~~~~~~~~~~~ |
|
| 229 |
+---------------- |
|
| 229 | 230 |
|
| 230 | 231 |
DevStack creates two OpenStack users (``admin`` and ``demo``) and two |
| 231 | 232 |
tenants (also ``admin`` and ``demo``). ``admin`` is exactly what it |
| ... | ... |
@@ -242,7 +242,7 @@ for scripting: |
| 242 | 242 |
|
| 243 | 243 |
# Get admin creds |
| 244 | 244 |
. openrc admin admin |
| 245 |
- |
|
| 245 |
+ |
|
| 246 | 246 |
# List existing tenants |
| 247 | 247 |
keystone tenant-list |
| 248 | 248 |
|
| ... | ... |
@@ -260,7 +260,7 @@ for scripting: |
| 260 | 260 |
# keystone role-list |
| 261 | 261 |
|
| 262 | 262 |
Swift |
| 263 |
-~~~~~ |
|
| 263 |
+----- |
|
| 264 | 264 |
|
| 265 | 265 |
Swift requires a significant amount of resources and is disabled by |
| 266 | 266 |
default in DevStack. The support in DevStack is geared toward a minimal |
| ... | ... |
@@ -280,7 +280,7 @@ Swift config files are located in ``SWIFT_CONFIG_DIR`` (default |
| 280 | 280 |
it...) ``local.conf``. |
| 281 | 281 |
|
| 282 | 282 |
Volumes |
| 283 |
-~~~~~~~ |
|
| 283 |
+------- |
|
| 284 | 284 |
|
| 285 | 285 |
DevStack will automatically use an existing LVM volume group named |
| 286 | 286 |
``stack-volumes`` to store cloud-created volumes. If ``stack-volumes`` |
| ... | ... |
@@ -305,7 +305,7 @@ involved but looks something like this: |
| 305 | 305 |
vgcreate stack-volumes /dev/sdc |
| 306 | 306 |
|
| 307 | 307 |
Syslog |
| 308 |
-~~~~~~ |
|
| 308 |
+------ |
|
| 309 | 309 |
|
| 310 | 310 |
DevStack is capable of using ``rsyslog`` to aggregate logging across the |
| 311 | 311 |
cluster. It is off by default; to turn it on set ``SYSLOG=True`` in |
| ... | ... |
@@ -319,7 +319,7 @@ output there. In the example above, add this to the compute node |
| 319 | 319 |
SYSLOG_HOST=192.168.42.11 |
| 320 | 320 |
|
| 321 | 321 |
Using Alternate Repositories/Branches |
| 322 |
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 322 |
+------------------------------------- |
|
| 323 | 323 |
|
| 324 | 324 |
The git repositories for all of the OpenStack services are defined in |
| 325 | 325 |
``stackrc``. Since this file is a part of the DevStack package changes |
| ... | ... |
@@ -349,10 +349,10 @@ To pull Glance from an experimental fork: |
| 349 | 349 |
GLANCE_REPO=https://github.com/mcuser/glance.git |
| 350 | 350 |
|
| 351 | 351 |
Notes stuff you might need to know |
| 352 |
+================================== |
|
| 352 | 353 |
|
| 353 | 354 |
Reset the Bridge |
| 354 |
-~~~~~~~~~~~~~~~~ |
|
| 355 |
+---------------- |
|
| 355 | 356 |
|
| 356 | 357 |
How to reset the bridge configuration: |
| 357 | 358 |
|
| ... | ... |
@@ -363,7 +363,7 @@ How to reset the bridge configuration: |
| 363 | 363 |
sudo brctl delbr br100 |
| 364 | 364 |
|
| 365 | 365 |
Set MySQL Password |
| 366 |
-~~~~~~~~~~~~~~~~~~ |
|
| 366 |
+------------------ |
|
| 367 | 367 |
|
| 368 | 368 |
If you forgot to set the root password you can do this: |
| 369 | 369 |
|
| ... | ... |
@@ -7,10 +7,10 @@ nice for kicking the tires, but doesn't compare to the feeling you get |
| 7 | 7 |
with hardware. |
| 8 | 8 |
|
| 9 | 9 |
Prerequisites Linux & Network |
| 10 |
+============================= |
|
| 10 | 11 |
|
| 11 | 12 |
Minimal Install |
| 12 |
-~~~~~~~~~~~~~~~ |
|
| 13 |
+--------------- |
|
| 13 | 14 |
|
| 14 | 15 |
You need to have a system with a fresh install of Linux. You can |
| 15 | 16 |
download the `Minimal |
| ... | ... |
@@ -25,7 +25,7 @@ work but you may need to tell Network Manager to keep its fingers off |
| 25 | 25 |
the interface(s) that OpenStack uses for bridging. |
| 26 | 26 |
|
| 27 | 27 |
Network Configuration |
| 28 |
-~~~~~~~~~~~~~~~~~~~~~ |
|
| 28 |
+--------------------- |
|
| 29 | 29 |
|
| 30 | 30 |
Determine the network configuration on the interface used to integrate |
| 31 | 31 |
your OpenStack cloud with your existing network. For example, if the IPs |
| ... | ... |
@@ -36,10 +36,10 @@ To make things easier later change your host to use a static IP instead |
| 36 | 36 |
of DHCP (i.e. 192.168.1.201). |
| 37 | 37 |
|
| 38 | 38 |
Installation shake and bake |
| 39 |
+=========================== |
|
| 39 | 40 |
|
| 40 | 41 |
Add your user |
| 41 |
-~~~~~~~~~~~~~ |
|
| 42 |
+------------- |
|
| 42 | 43 |
|
| 43 | 44 |
We need to add a user to install DevStack. (if you created a user during |
| 44 | 45 |
install you can skip this step and just give the user sudo privileges |
| ... | ... |
@@ -61,7 +61,7 @@ From here on you should use the user you created. **Logout** and |
| 61 | 61 |
**login** as that user. |
| 62 | 62 |
|
| 63 | 63 |
Download DevStack |
| 64 |
-~~~~~~~~~~~~~~~~~ |
|
| 64 |
+----------------- |
|
| 65 | 65 |
|
| 66 | 66 |
We'll grab the latest version of DevStack via https: |
| 67 | 67 |
|
| ... | ... |
@@ -72,7 +72,7 @@ We'll grab the latest version of DevStack via https: |
| 72 | 72 |
cd devstack |
| 73 | 73 |
|
| 74 | 74 |
Run DevStack |
| 75 |
-~~~~~~~~~~~~ |
|
| 75 |
+------------ |
|
| 76 | 76 |
|
| 77 | 77 |
Now to configure ``stack.sh``. DevStack includes a sample in |
| 78 | 78 |
``devstack/samples/local.conf``. Create ``local.conf`` as shown below to |
| ... | ... |
@@ -120,7 +120,7 @@ see a summary of ``stack.sh``'s work, including the relevant URLs, |
| 120 | 120 |
accounts and passwords to poke at your shiny new OpenStack. |
| 121 | 121 |
|
| 122 | 122 |
Using OpenStack |
| 123 |
-~~~~~~~~~~~~~~~ |
|
| 123 |
+--------------- |
|
| 124 | 124 |
|
| 125 | 125 |
At this point you should be able to access the dashboard from other |
| 126 | 126 |
computers on the local network. In this example that would be |
| ... | ... |
@@ -9,16 +9,16 @@ launched in the cloud will be slow as they are running in QEMU |
| 9 | 9 |
operation. Speed not required. |
| 10 | 10 |
|
| 11 | 11 |
Prerequisites Cloud & Image |
| 12 |
+=========================== |
|
| 12 | 13 |
|
| 13 | 14 |
Virtual Machine |
| 14 |
-~~~~~~~~~~~~~~~ |
|
| 15 |
+--------------- |
|
| 15 | 16 |
|
| 16 | 17 |
DevStack should run in any virtual machine running a supported Linux |
| 17 | 18 |
release. It will perform best with 2Gb or more of RAM. |
| 18 | 19 |
|
| 19 | 20 |
OpenStack Deployment & cloud-init |
| 20 |
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 21 |
+--------------------------------- |
|
| 21 | 22 |
|
| 22 | 23 |
If the cloud service has an image with ``cloud-init`` pre-installed, use |
| 23 | 24 |
it. You can get one from `Ubuntu's Daily |
| ... | ... |
@@ -33,10 +33,10 @@ can manually kick off the script below as a non-root user in a |
| 33 | 33 |
bare-bones server installation. |
| 34 | 34 |
|
| 35 | 35 |
Installation shake and bake |
| 36 |
+=========================== |
|
| 36 | 37 |
|
| 37 | 38 |
Launching With Cloud-Init |
| 38 |
-~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
| 39 |
+------------------------- |
|
| 39 | 40 |
|
| 40 | 41 |
This cloud config grabs the latest version of DevStack via git, creates |
| 41 | 42 |
a minimal ``local.conf`` file and kicks off ``stack.sh``. It should be |
| ... | ... |
@@ -79,13 +79,13 @@ As DevStack will refuse to run as root, this configures ``cloud-init`` |
| 79 | 79 |
to create a non-root user and run the ``start.sh`` script as that user. |
| 80 | 80 |
|
| 81 | 81 |
Launching By Hand |
| 82 |
-~~~~~~~~~~~~~~~~~ |
|
| 82 |
+----------------- |
|
| 83 | 83 |
|
| 84 | 84 |
Using a hypervisor directly, launch the VM and either manually perform |
| 85 | 85 |
the steps in the embedded shell script above or copy it into the VM. |
| 86 | 86 |
|
| 87 | 87 |
Using OpenStack |
| 88 |
-~~~~~~~~~~~~~~~ |
|
| 88 |
+--------------- |
|
| 89 | 89 |
|
| 90 | 90 |
At this point you should be able to access the dashboard. Launch VMs and |
| 91 | 91 |
if you give them floating IPs access those VMs from other machines on |
| ... | ... |
@@ -13,10 +13,10 @@ Below is a list of what is specifically is supported (read that as |
| 13 | 13 |
"tested") going forward. |
| 14 | 14 |
|
| 15 | 15 |
Supported Components |
| 16 |
+==================== |
|
| 16 | 17 |
|
| 17 | 18 |
Base OS |
| 18 |
-~~~~~~~ |
|
| 19 |
+------- |
|
| 19 | 20 |
|
| 20 | 21 |
*The OpenStack Technical Committee (TC) has defined the current CI |
| 21 | 22 |
strategy to include the latest Ubuntu release and the latest RHEL |
| ... | ... |
@@ -33,7 +33,7 @@ release (for Python 2.6 testing).* |
| 33 | 33 |
side-effects on other OS platforms. |
| 34 | 34 |
|
| 35 | 35 |
Databases |
| 36 |
-~~~~~~~~~ |
|
| 36 |
+--------- |
|
| 37 | 37 |
|
| 38 | 38 |
*As packaged by the host OS* |
| 39 | 39 |
|
| ... | ... |
@@ -41,7 +41,7 @@ Databases |
| 41 | 41 |
- PostgreSQL |
| 42 | 42 |
|
| 43 | 43 |
Queues |
| 44 |
-~~~~~~ |
|
| 44 |
+------ |
|
| 45 | 45 |
|
| 46 | 46 |
*As packaged by the host OS* |
| 47 | 47 |
|
| ... | ... |
@@ -49,14 +49,14 @@ Queues |
| 49 | 49 |
- Qpid |
| 50 | 50 |
|
| 51 | 51 |
Web Server |
| 52 |
-~~~~~~~~~~ |
|
| 52 |
+---------- |
|
| 53 | 53 |
|
| 54 | 54 |
*As packaged by the host OS* |
| 55 | 55 |
|
| 56 | 56 |
- Apache |
| 57 | 57 |
|
| 58 | 58 |
OpenStack Network |
| 59 |
-~~~~~~~~~~~~~~~~~ |
|
| 59 |
+----------------- |
|
| 60 | 60 |
|
| 61 | 61 |
*Default to Nova Network, optionally use Neutron* |
| 62 | 62 |
|
| ... | ... |
@@ -65,7 +65,7 @@ OpenStack Network |
| 65 | 65 |
mode using linuxbridge or OpenVSwitch. |
| 66 | 66 |
|
| 67 | 67 |
Services |
| 68 |
-~~~~~~~~ |
|
| 68 |
+-------- |
|
| 69 | 69 |
|
| 70 | 70 |
The default services configured by DevStack are Identity (Keystone), |
| 71 | 71 |
Object Storage (Swift), Image Storage (Glance), Block Storage (Cinder), |
| ... | ... |
@@ -77,14 +77,14 @@ Additional services not included directly in DevStack can be tied in to |
| 77 | 77 |
scripts that perform the configuration and startup of the service. |
| 78 | 78 |
|
| 79 | 79 |
Node Configurations |
| 80 |
-~~~~~~~~~~~~~~~~~~~ |
|
| 80 |
+------------------- |
|
| 81 | 81 |
|
| 82 | 82 |
- single node |
| 83 | 83 |
- multi-node is not tested regularly by the core team, and even then |
| 84 | 84 |
only minimal configurations are reviewed |
| 85 | 85 |
|
| 86 | 86 |
Exercises |
| 87 |
-~~~~~~~~~ |
|
| 87 |
+--------- |
|
| 88 | 88 |
|
| 89 | 89 |
The DevStack exercise scripts are no longer used as integration and gate |
| 90 | 90 |
testing as that job has transitioned to Tempest. They are still |
| ... | ... |
@@ -6,7 +6,7 @@ DevStack has a couple of plugin mechanisms to allow easily adding |
| 6 | 6 |
support for additional projects and features. |
| 7 | 7 |
|
| 8 | 8 |
Extras.d Hooks |
| 9 |
-~~~~~~~~~~~~~~ |
|
| 9 |
+============== |
|
| 10 | 10 |
|
| 11 | 11 |
These hooks are an extension of the service calls in |
| 12 | 12 |
``stack.sh`` at specific points in its run, plus ``unstack.sh`` and |
| ... | ... |
@@ -93,7 +93,7 @@ The arguments are: |
| 93 | 93 |
but after ``unstack.sh`` has been called. |
| 94 | 94 |
|
| 95 | 95 |
Hypervisor |
| 96 |
-~~~~~~~~~~ |
|
| 96 |
+========== |
|
| 97 | 97 |
|
| 98 | 98 |
Hypervisor plugins are fairly new and condense most hypervisor |
| 99 | 99 |
configuration into one place. |