• Stars
    star
    153
  • Rank 243,368 (Top 5 %)
  • Language
    Shell
  • License
    Other
  • Created almost 11 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenStack Devstack on Docker

Openstack on Docker

Dockenstack builds an image for running OpenStack's devstack development and testing environment inside of a Docker container. This image currently supports running the docker and libvirt-lxc virtualization drivers for Nova. KVM/Qemu support is being tested.

Using dockenstack, developers may quickly iterate changes in a container and locally invoke functional tests without needing to first submit their changes for code-review.

The quick iteration cycle of dockenstack versus other local environments (such as devstack-vagrant) is accomplished by precaching and preinstalling most or all network resources and OS packages. This speeds up running the container and, when running many, eliminates the problems that might result from offline or rate-limited apt and pip services.

Users may expect dockenstack to take 2-4 minutes on a fast machine from "docker run" through having an operational OpenStack installation.

Build & Run

Quickstart: Using Docker Compose

$ git clone https://github.com/ewindisch/dockenstack.git
$ cd dockenstack
$ docker-compose up

This will automatically build a Dockenstack image and run OpenStack.

The first run will take a long time due to the length process of building the Docker image (~60m). Subsequent runs of this image will be quicker (~5m). Even faster, of course, is restarting a container.

Alternative Install: Building Manually

The following is the process undertaken by Docker Compose. Building the image may take approximately 60 minutes.

git clone https://github.com/ewindisch/dockenstack.git
cd dockenstack
docker build -t ewindisch/dockenstack dockenstack
docker build -t ewindisch/dockenstack-tempest dockenstack-tempest
docker run --privileged -t -i ewindisch/dockenstack

Using OpenStack

If you've started dockenstack interactively without extra arguments, you'll end up with a shell and can run these steps immediately.

source /devstack/openrc
nova boot --image busybox --flavor 1 test
nova list
docker ps

A future version of this README will explain how to use the OpenStack installation from outside of the dockenstack container.

Running Tempest

Launch the container as such:

docker run --privileged -t -i ewindisch/dockenstack-tempest

Running Tempest in Dockenstack may take approximately 30 minutes.

Arguments to run-tempest may be passed, the arguments are the same as run_tempest.sh (see Tempest documentation / source)

Configuration

Dockenstack should understand all of the devstack environment variables passed as enviroment variables to 'docker run'. If using Docker Compose, these environment variables may be added to the fig.yml file.

Notes

  • Requires Docker 1.5 or later.
  • AUFS / Volumes - Using AUFS and nested-docker, one may need to mount /var/lib/docker as a volume or a bind-mount. (pass '-v /var/lib/docker' to 'docker run')
  • Libvirt guests may need kernel modules loaded. Libvirt/Qemu support is neither tested nor complete.

Authors

License

Apache2 - see LICENSE

More Repositories

1

reverse-ssh-agent

A reverse-forwarding ssh-agent
Shell
61
star
2

docker-samba

Samba server running in docker containers
Shell
38
star
3

alexa-chess

Chess for Alexa
JavaScript
20
star
4

udocker

Go
16
star
5

docker-quagga

Shell
9
star
6

git-functions

Runtime for Git Functions supporting GitHub Actions
JavaScript
9
star
7

docker-cirros

Docker image import for CirrOS
Shell
8
star
8

pam-dbauth

Python-PAM module for salted-hash authentication from a database (MySQL, PostgreSQL, Redis)
8
star
9

trinity-docker

Dockerfile for Trinity kernel/syscall fuzzer
Shell
8
star
10

lambda-transport

C library and language bindings for AWS Lambda
Go
7
star
11

docker-tipping-image

Image that tips me by basing your own image builds off of it
Shell
6
star
12

figleaf

Docker image which manages multiple children containers using Fig
Shell
6
star
13

restful-zfs

A restful interface to ZFS and iscsitadm
Python
5
star
14

bashoo

Object Oriented Bash Library
Shell
5
star
15

pydance

Import from SVN
Python
5
star
16

alpha-fwtools

Sony Alpha & Nex camera firmware tools
C
4
star
17

apparmor-docker

3
star
18

container-shpid1

Make any shell into a clean init (pid 1) for containers
Shell
3
star
19

pyopenpgp

OpenPGP implementation in Python
Python
3
star
20

chefiler

Chef-based storage management
Ruby
3
star
21

docker-pull

Pull docker images from inside of a container, exporting for use with 'docker load'
Shell
3
star
22

docker-rngd

Feed Linux entropy from a hwrng
2
star
23

sdldm

SDL graphics-driven X11 Display Manager
C
2
star
24

docker-rebase

Evil docker image rebaser
Shell
2
star
25

nodestored

Per-server block storage daemon
Python
2
star
26

sd2xc

Stardock CursorFX to X11 cursor converter
2
star
27

ZeroSSH

SSH server browser based on Zeroconf/Bonjour
2
star
28

docker-openvpn2

Shell
1
star
29

zerocat

ZeroMQ cat shell utility
1
star
30

docker-stockfish

Docker image for the Stockfish chess engine
1
star
31

multisessionx

Fast User Switch for X11
1
star
32

eventally

Eventally helps developers build their applications, APIs, and clients!
Go
1
star
33

TV-Polonia-Viewer

Navigator for TV Polonia streams (GTK/X11)
1
star
34

chefiler-knife

Knife plugin for chefiler
1
star
35

docker-bomb

Docker-in-Docker Bomb
1
star
36

web-videostreamer

ActionScript
1
star