You need some machine (vm or instance) that has at least 4GB of RAM. 8GB is much better. I will assume you just booted a machine and have root, and nothing else.

Installing Devstack

  • I prefer to make an account (my own) and run devstack as that account (some say to make a stack account, it’s the same thing)
  • adduser herpderp && adduser herpderp sudo && apt-get update && apt-get install git && exit
  • Log back into the machine as your user; herpderp in this case
  • git clone https://github.com/openstack-dev/devstack.git
  • cd devstack
  • create a new file called localrc with the contents:
# Originally from http://www.sebastien-han.fr/blog/2013/08/08/devstack-in-1-minute/
# Misc
DATABASE_PASSWORD=password
ADMIN_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=password
RABBIT_PASSWORD=password

# Enable Logging

LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

# Pre-requisite
ENABLED_SERVICES=rabbit,mysql,key

# Horizon (always use the trunk)
ENABLED_SERVICES+=,horizon
HORIZON_REPO=https://github.com/openstack/horizon
HORIZON_BRANCH=master

# Nova
ENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch
IMAGE_URLS+=",https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"

# Glance
ENABLED_SERVICES+=,g-api,g-reg

# Neutron
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas

# Cinder
ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch

# Tempest
ENABLED_SERVICES+=,tempest
  • ./stack.sh

Using Devstack

  • Devstack runs inside of a screen session which you access using:
    screen -r
  • Basic screen usage is to hit the escape sequence then some key; the default escape sequence is ctrl+a:
    Example: ctrl+a let go of keys then
  • To move between the many windows in the devstack screen use:
    ctrl+a then " (that’s double quote, or shift+’)

Tips

  • devstack provides unstack.sh and rejoin_stack.sh (or restack.sh); I personally don’t have a lot of luck with these and just recreate the whole machine