Skip to content

Repository files navigation

Vagrant for DevStack

This projcet holds a Vagrantfile and ansible playbooks, which set up a virtual machine, and run devstack on it.

The goal is, with a single vagrant up command, to fire up a virtual machine, install all the requirements including openstack projects and review patches, and then run devstack.

Instructions

  1. Clone the project.
  2. Set up a libvirt server
  3. (Optional) Install an SSH public key in common/keys/id_rsa.pub
  4. Create a local.conf file (Or use some of the examples in common/local.confs)
  5. Add (or update) a machine in directory.conf.yml (See configuration below)
  6. Run: vagrant up <machine name>

Once the VM is set up, it can be accessed using vagrant ssh -p -- -l stack. Other SSH options may follow if desired. devstack will be running within a tmux session. To see it, use tmux attach.

Configuration

Virtual machines are defined in directory.conf.yml. This is a yaml file with the following structure:

machines:
- name: Virtual machine 1
hypervisor: ...
... (See below)
- name: Virtual machine 1
hypervisor: ...
... (See below)

Where a virtual machine is defined with the following properties:

FieldDescription
nameVM name
hypervisorlibvirt server object
memoryVM memory
vcpusNumber of virtual CPUs
boxName of Vagrant box to run.
local_conf_fileThe local.conf file to take.
projectsobjects describing installed projects
devstack_versionThe devstack version to use

The projects objects have the following fields:

FieldDescription
nameThe project name (e.g. dragonflow, neutron)
reviewsA list of gerrit review numbers to cherry-pick (Optional)
repoThe repo from which to git clone (Optional)
versionThe git version to take (branch, tag, or commit hash) (Optional)

The hypervisor object has two fields:

FieldDescription
nameThe server name (will be looked up via DNS)
usernameThe user with which to log in

Customisation

The virtual machine is provisioned using the devstack.yml ansible playbook. The playbooks used are available in the playbooks folder.

About

Vagrant for DevStack

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages