Skip to content

electrocucaracha/lint-devstack

Repository files navigation

Lint Devstack

License GitHub Super-Linter Ruby Style Guide

visitors Scc Code Badge Scc COCOMO Badge

Overview

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.

Key Features

  • 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

Setup

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

Quick setup

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

Environment variables

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)

Notes on Environment Variables

  • 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=True becomes OFFLINE=True)
  • Password Management: Individual password variables override the generic PASSWORD variable for specific components

About

All-in-One Devstack scripts

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •