Skip to content

Latest commit

 

History

History
50 lines (36 loc) · 2.86 KB

README.md

File metadata and controls

50 lines (36 loc) · 2.86 KB

Automate Your Devstack!

This project will allow you automate the creation of a VM with devstack installed and running. It uses vagrant to create the VM and puppet to configure the VM so all required software is installed and running.

Prereqs

Install

  • Clone this repository! :-)
  • cd vagrant-devstack
  • git submodule init
  • git submodule update
  • vagrant up

The initial install takes time so go do something useful or have a coffee! :-) When it's done, you should be able to reach the OpenStack dashboard from http://10.1.2.44. If you use the hostmaster plugin then access via http://devstack.local. If you wish to ssh to the OpenStack virtual box execute vagrant ssh.

Notes

  1. If you wish to enable Heat then add to the $localrc_cnt variable (in manifests/site.pp) the following:

    ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng

For more information about this see the OpenStack wiki.

  1. If you wish to enable Ceilometer then add to the $localrc_cnt variable (in manifests/site.pp) the following:

    enable_service ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api
    EXTRA_OPTS=(notification_driver=nova.openstack.common.notifier.rabbit_notifier,ceilometer.compute.nova_notifier)

For information about this see the OpenStack wiki.

  1. Currently the VM is allocated 1024MB of RAM. You will only be able to create 1 VM. Suggestion is to either increase the RAM allocation (edit Vagrantfile) or create some new OpenStack flavors with less RAM (the smallest default is 512MB) e.g.:

    nova-manage flavor create --name=itsy --cpu=1 --memory=128 --flavor=98 --root_gb=1 --ephemeral_gb=1
    nova-manage flavor create --name=bitsy --cpu=1 --memory=256 --flavor=99 --root_gb=1 --ephemeral_gb=1

  2. To experiment with the various APIs via python:

    • vagrant ssh
    • sudo pip install bpython - optional but a nice interactive interpreter. IPython does a great job too.
    • Try some code!
      >>> from cinderclient.v1 import client
      >>> USER="admin"
      >>> PASS="admin"
      >>> TENANT="admin"
      >>> AUTH_URL="http://localhost:5000/v2.0/"
      >>> c_client = client.Client(USER, PASS, TENANT, AUTH_URL, service_type="volume") >>> c_client.volumes.create(size=1, display_name="my volume :)")
      <Volume: 1e6213e3-89fb-45f2-b904-b7f5ce5cdd65>