GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Software
  • OpenStack Components
  • SDKs
  • Deployment Tools
  • OpenStack Map
  • Sample Configs
  • Use Cases
  • Ironic Bare Metal
  • Edge Computing
  • Telecom & NFV
  • Science and HPC
  • Containers
  • Enterprise
  • User Survey

This view

  • Original page
  • New address

GeezerVison is showing docs.openstack.org — DevStack — DevStack documentation

DevStack

DevStack¶

_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, Rocky Linux 9 and openEuler.

If you do not have a preference, Ubuntu 24.04 (Noble) 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

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.

$ sudo chmod +x /opt/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 -u stack -i

Download DevStack¶

$ 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.

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

Warning

Only use alphanumeric characters in your passwords, as some services fail to work when using special characters.

Start the install¶

$ ./stack.sh

This will take 15 - 30 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 create a VM and SSH into it.

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.

Going further¶

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

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

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

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

If you are a new contributor to devstack please refer: So You Want to Contribute…

Contents¶

  • Configuration
    • local.conf
    • openrc
    • Minimal Configuration
    • Historical Notes
    • Configuration Notes
  • System-wide debugging
    • dstat
    • memory_tracker
    • file_tracker
    • tcpdump
  • Developing with Devstack
    • Inspecting Services
    • Patching a Service
    • Testing a Patch Series
    • Testing Changes to Libraries
  • FAQ
    • General Questions
    • Operation and Configuration
    • Miscellaneous
  • Guides
    • All-In-One Single VM
    • All-In-One Single Machine
    • All-In-One LXC Container
    • Multi-Node Lab
    • DevStack with Neutron Networking
    • DevStack with KVM-based Nested Virtualization
    • Nova and devstack
    • Configure Octavia
    • Deploying DevStack with LDAP
  • Contributing to DevStack
    • General
    • Repo Layout
    • Scripts
    • stackrc
    • Documentation
    • Whitespace Rules
    • Control Structure Rules
    • Variables and Functions
    • Review Criteria
    • Making Changes, Testing, and CI
  • DevStack Networking
    • Defaults
    • Locally Accessible Guests
    • Private Network Addressing
    • SSH access to instances
    • Remote SSH access to instances
  • Overview
    • Supported Components
  • DevStack Plugin Registry
  • Plugins
    • Prerequisites
    • Plugin Interface
    • plugin.sh contract
    • Example plugin
    • Plugin Execution Order
    • System Packages
    • Using Plugins in the OpenStack Gate
    • See Also
  • Using Systemd in DevStack
    • Why this instead of screen?
    • Unit Structure
    • Manipulating Units
    • Querying Logs
    • Debugging
    • Future Work
    • References
  • Tempest
  • Migrating Zuul V2 CI jobs to V3
    • Where to host the job definitions.
    • Which base job to start from
    • Job variables
    • DevStack Gate Flags
  • Zuul CI Jobs
  • Zuul CI Roles
this page last updated: 2025-06-18 08:20:50
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug
  • Guides
  • Install Guides
  • User Guides
  • Configuration Guides
  • Operations and Administration Guides
  • API Guides
  • Contributor Guides
  • Languages
  • Deutsch (German)
  • Français (French)
  • Bahasa Indonesia (Indonesian)
  • Italiano (Italian)
  • 日本語 (Japanese)
  • 한국어 (Korean)
  • Português (Portuguese)
  • Türkçe (Türkiye)
  • 简体中文 (Simplified Chinese)

DevStack

  • Configuration
  • System-wide debugging
  • Developing with Devstack
  • FAQ
  • Guides
  • Contributing to DevStack
  • DevStack Networking
  • Overview
  • DevStack Plugin Registry
  • Plugins
  • Using Systemd in DevStack
  • Tempest
  • Migrating Zuul V2 CI jobs to V3
  • Zuul CI Jobs
  • Zuul CI Roles

Page Contents

  • DevStack
    • Quick Start
      • Install Linux
      • Add Stack User (optional)
      • Download DevStack
      • Create a local.conf
      • Start the install
      • Profit!
      • Going further
    • Contents
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.