176 lines
5.1 KiB
ReStructuredText
176 lines
5.1 KiB
ReStructuredText
.. Documentation Architecture for the devstack docs.
|
|
|
|
It is really easy for online docs to meander over time as people
|
|
attempt to add the small bit of additional information they think
|
|
people need, into an existing information architecture. In order to
|
|
prevent that we need to be a bit strict as to what's on this front
|
|
page.
|
|
|
|
This should *only* be the quick start narrative. Which should end
|
|
with 2 sections: what you can do with devstack once it's set up,
|
|
and how to go beyond this setup. Both should be a set of quick
|
|
links to other documents to let people explore from there.
|
|
|
|
DevStack
|
|
========
|
|
|
|
.. image:: assets/images/logo-blue.png
|
|
|
|
DevStack is a series of extensible scripts used to quickly bring up a
|
|
complete OpenStack environment based on the latest versions of
|
|
everything from git master. It is used interactively as a development
|
|
environment and as the basis for much of the OpenStack project's
|
|
functional testing.
|
|
|
|
The source is available at `<https://opendev.org/openstack/devstack>`__.
|
|
|
|
.. warning::
|
|
|
|
DevStack will make substantial changes to your system during
|
|
installation. Only run DevStack on servers or virtual machines that
|
|
are dedicated to this purpose.
|
|
|
|
Quick Start
|
|
+++++++++++
|
|
|
|
Install Linux
|
|
-------------
|
|
|
|
Start with a clean and minimal install of a Linux system. DevStack
|
|
attempts to support the two latest LTS releases of Ubuntu, the
|
|
latest/current Fedora version, CentOS/RHEL 8 and OpenSUSE.
|
|
|
|
If you do not have a preference, Ubuntu 20.04 (Focal Fossa) is the
|
|
most tested, and will probably go the smoothest.
|
|
|
|
Add Stack User (optional)
|
|
-------------------------
|
|
|
|
DevStack should be run as a non-root user with sudo enabled
|
|
(standard logins to cloud images such as "ubuntu" or "cloud-user"
|
|
are usually fine).
|
|
|
|
If you are not using a cloud image, you can create a separate `stack` user
|
|
to run DevStack with
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
|
|
|
|
Ensure home directory for the ``stack`` user has executable permission for all,
|
|
as RHEL based distros create it with ``700`` and Ubuntu 21.04+ with ``750``
|
|
which can cause issues during deployment.
|
|
|
|
.. code-block:: console
|
|
|
|
$ sudo chmod +x /opt/stack
|
|
|
|
Since this user will be making many changes to your system, it should
|
|
have sudo privileges:
|
|
|
|
.. code-block:: console
|
|
|
|
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
|
|
$ sudo -u stack -i
|
|
|
|
Download DevStack
|
|
-----------------
|
|
|
|
.. code-block:: console
|
|
|
|
$ git clone https://opendev.org/openstack/devstack
|
|
$ cd devstack
|
|
|
|
The ``devstack`` repo contains a script that installs OpenStack and
|
|
templates for configuration files.
|
|
|
|
Create a local.conf
|
|
-------------------
|
|
|
|
Create a ``local.conf`` file with four passwords preset at the root of the
|
|
devstack git repo.
|
|
|
|
.. code-block:: ini
|
|
|
|
[[local|localrc]]
|
|
ADMIN_PASSWORD=secret
|
|
DATABASE_PASSWORD=$ADMIN_PASSWORD
|
|
RABBIT_PASSWORD=$ADMIN_PASSWORD
|
|
SERVICE_PASSWORD=$ADMIN_PASSWORD
|
|
|
|
This is the minimum required config to get started with DevStack.
|
|
|
|
.. note:: There is a sample :download:`local.conf </assets/local.conf>` file
|
|
under the *samples* directory in the devstack repository.
|
|
|
|
Start the install
|
|
-----------------
|
|
|
|
.. code-block:: console
|
|
|
|
$ ./stack.sh
|
|
|
|
This will take a 15 - 20 minutes, largely depending on the speed of
|
|
your internet connection. Many git trees and packages will be
|
|
installed during this process.
|
|
|
|
Profit!
|
|
-------
|
|
|
|
You now have a working DevStack! Congrats!
|
|
|
|
Your devstack will have installed ``keystone``, ``glance``, ``nova``,
|
|
``placement``, ``cinder``, ``neutron``, and ``horizon``. Floating IPs
|
|
will be available, guests have access to the external world.
|
|
|
|
You can access horizon to experience the web interface to
|
|
OpenStack, and manage vms, networks, volumes, and images from
|
|
there.
|
|
|
|
You can ``source openrc`` in your shell, and then use the
|
|
``openstack`` command line tool to manage your devstack.
|
|
|
|
You can ``cd /opt/stack/tempest`` and run tempest tests that have
|
|
been configured to work with your devstack.
|
|
|
|
You can :doc:`make code changes to OpenStack and validate them
|
|
<development>`.
|
|
|
|
Going further
|
|
-------------
|
|
|
|
Learn more about our :doc:`configuration system <configuration>` to
|
|
customize devstack for your needs. Including making adjustments to the
|
|
default :doc:`networking <networking>`.
|
|
|
|
Read :doc:`guides <guides>` for specific setups people have (note:
|
|
guides are point in time contributions, and may not always be kept
|
|
up to date to the latest devstack).
|
|
|
|
Enable :doc:`devstack plugins <plugins>` to support additional
|
|
services, features, and configuration not present in base devstack.
|
|
|
|
Use devstack in your CI with :doc:`Ansible roles <zuul_roles>` and
|
|
:doc:`Jobs <zuul_jobs>` for Zuul V3. Migrate your devstack Zuul V2 jobs to Zuul
|
|
V3 with this full migration :doc:`how-to <zuul_ci_jobs_migration>`.
|
|
|
|
Get :doc:`the big picture <overview>` of what we are trying to do
|
|
with devstack, and help us by :doc:`contributing to the project
|
|
<hacking>`.
|
|
|
|
If you are a new contributor to devstack please refer: :doc:`contributor/contributing`
|
|
|
|
.. toctree::
|
|
:hidden:
|
|
|
|
contributor/contributing
|
|
|
|
Contents
|
|
++++++++
|
|
|
|
.. toctree::
|
|
:glob:
|
|
:maxdepth: 2
|
|
|
|
*
|