devstack/doc/source/guides/single-machine.rst
Matt Riedemann 584979ce2e docs: cleanup install docs
This does a few things to the home page and all-in-one single
machine install guide:

* Uses code blocks for formatting
* Adds the customary "$" to the console blocks in the
  all-in-one single machine install guide
* Instructs to use "sudo su stack" and adds a note about
  "sudo visudo" in the all-in-one single machine doc
* Creates a symbolic link to the sample local.conf and links to
  it from the install guide (note that local.conf might be old
  by now)
* Fixes the .gitignore file to only ignore local.conf in the root
  of the repository, otherwise it would ignore local.conf everywhere
  including the samples and doc/source/assets directories.

Change-Id: I50ae7bd32c4c1caa2ac8551fc54b31dd2dfae568
2018-12-13 08:31:03 -05:00

139 lines
4.5 KiB
ReStructuredText

=========================
All-In-One Single Machine
=========================
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.
Prerequisites Linux & Network
=============================
Minimal Install
---------------
You need to have a system with a fresh install of Linux. You can
download the `Minimal
CD <https://help.ubuntu.com/community/Installation/MinimalCD>`__ for
Ubuntu releases since DevStack will download & install all the
additional dependencies. The netinstall ISO is available for
`Fedora <http://mirrors.kernel.org/fedora/releases/>`__
and
`CentOS/RHEL <http://mirrors.kernel.org/centos/>`__.
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.
Network Configuration
---------------------
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 **floating ips**.
To make things easier later change your host to use a static IP instead
of DHCP (i.e. 192.168.1.201).
Installation shake and bake
===========================
Add your user
-------------
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 privileges
below)
.. code-block:: console
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
Since this user will be making many changes to your system, it will need
to have sudo privileges:
.. code-block:: console
$ apt-get install sudo -y || yum install -y sudo
$ echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
.. note:: On some systems you may need to use ``sudo visudo``.
From here on you should use the user you created. **Logout** and
**login** as that user:
.. code-block:: console
$ sudo su stack && cd ~
Download DevStack
-----------------
We'll grab the latest version of DevStack via https:
.. code-block:: console
$ sudo apt-get install git -y || sudo yum install -y git
$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack
Run DevStack
------------
Now to configure ``stack.sh``. DevStack includes a sample in
``devstack/samples/local.conf``. Create ``local.conf`` as shown below to
do the following:
- Set ``FLOATING_RANGE`` 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.
- Set ``FIXED_RANGE`` and ``FIXED_NETWORK_SIZE`` to configure the
internal address space used by the instances.
- Set ``FLAT_INTERFACE`` 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.
- Set the administrative password. This password is used for the
**admin** and **demo** accounts set up as OpenStack users.
- 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.
- Set the RabbitMQ password.
- Set the service password. This is used by the OpenStack services
(Nova, Glance, etc) to authenticate with Keystone.
``local.conf`` should look something like this:
.. code-block:: ini
[[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
DATABASE_PASSWORD=iheartdatabases
RABBIT_PASSWORD=flopsymopsy
SERVICE_PASSWORD=iheartksl
.. note:: There is a sample :download:`local.conf </assets/local.conf>` file
under the *samples* directory in the devstack repository.
Run DevStack:
.. code-block:: console
$ ./stack.sh
A seemingly endless stream of activity ensues. When complete you will
see a summary of ``stack.sh``'s work, including the relevant URLs,
accounts and passwords to poke at your shiny new OpenStack.
Using OpenStack
---------------
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
accessible from other machines on your network.