This project offers an automated process to provision a Devstack development environment for working with OpenStack projects. The Virtual Machine is configured to share the OpenStack's projects source code to host machine. As result, it's possible to run system tests and use a local IDE during development.
- Automated Provisioning: Uses Vagrant and shell scripts to automate the complete DevStack setup
- Multi-Project Support: Enables flexible installation of 100+ OpenStack projects and plugins
- Development-Ready: Provides shared source code between host and VM for seamless IDE integration
- Service Management: Dynamically enables/disables services based on project requirements
- Configuration Flexibility: Supports custom environment variables for advanced configuration
- Multi-Distribution Support: Compatible with Ubuntu, Debian, and other Linux distributions
This project uses Vagrant tool for provisioning Virtual Machines automatically. It's highly recommended to use the setup.sh script of the bootstrap-vagrant project for installing Vagrant dependencies and plugins required for its project. The script supports two Virtualization providers (Libvirt and VirtualBox).
curl -fsSL http://bit.ly/initVagrant | PROVIDER=libvirt bash
Once Vagrant is installed, it's possible to deploy the demo with the following instruction:
vagrant up
It's possible to run this project without having to clone it. The following instruction allows its remote execution:
curl -fsSL https://raw.githubusercontent.com/electrocucaracha/lint-devstack/master/setup.sh | OS_PROJECT_LIST=octavia bash
| Name | Default | Description |
|---|---|---|
OS_PROJECT_LIST |
Comma-separated list of OpenStack projects/plugins to enable | |
OS_DISABLE_SVC_LIST |
Comma-separated list of Devstack services to disable | |
DEVSTACK_RELEASE |
stable/2025.2 | Devstack release branch (e.g., stable/2024.2, master) |
PASSWORD |
password | Default password for all Devstack services |
MYSQL_PASSWORD |
password | MySQL database password |
DATABASE_PASSWORD |
password | Database connection password |
SERVICE_PASSWORD |
password | OpenStack service password |
ADMIN_PASSWORD |
password | OpenStack admin user password |
RABBIT_PASSWORD |
password | RabbitMQ password |
DEBUG |
false | Enable debug output (set to "true" to enable verbose logging) |
LINT_DEVSTACK_* |
Custom Devstack configuration variables (prefix with LINTDEVSTACK) |
- OS_PROJECT_LIST:
Accepts project names from the
OpenStack Plugin Registry.
Multiple projects should be comma-separated
(e.g.,
OS_PROJECT_LIST=octavia,neutron,heat) - Custom Configuration:
Any variable prefixed with
LINT_DEVSTACK_will be automatically added to the Devstack local.conf file with the prefix removed (e.g.,LINT_DEVSTACK_OFFLINE=TruebecomesOFFLINE=True) - Password Management:
Individual password variables override the generic
PASSWORDvariable for specific components