devstack/doc/source/index.rst
Jens Harbott 7224a6b54d Update docs index page
- Switch from proposing Ubuntu 16.04 to 18.04 as the most tested
  platform.
- Make it clearer that creating an additional "stack" user is
  optional when running on a cloud image, as this step often leads
  to errors for new users.
- Fix some minor nits along the way.

Change-Id: I39aef1a230b668b932b1681fcd0deeb423b411f1
2019-04-01 11:16:53 +00:00

4.7 KiB

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

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://git.openstack.org/cgit/openstack-dev/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 7, as well as Debian and OpenSUSE.

If you do not have a preference, Ubuntu 18.04 (Bionic Beaver) 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

$ sudo useradd -s /bin/bash -d /opt/stack -m stack

Since this user will be making many changes to your system, it should have sudo privileges:

$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
$ sudo su - stack

Download DevStack

$ git clone https://git.openstack.org/openstack-dev/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.

[[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 local.conf </assets/local.conf> file under the samples directory in the devstack repository.

Start the install

$ ./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 make code changes to OpenStack and validate them <development>.

Going further

Learn more about our configuration system <configuration> to customize devstack for your needs. Including making adjustments to the default networking <networking>.

Read 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 devstack plugins <plugins> to support additional services, features, and configuration not present in base devstack.

Use devstack in your CI with Ansible roles <zuul_roles> and Jobs <zuul_jobs> for Zuul V3. Migrate your devstack Zuul V2 jobs to Zuul V3 with this full migration how-to <zuul_ci_jobs_migration>.

Get the big picture <overview> of what we are trying to do with devstack, and help us by contributing to the project <hacking>.

Contents