Skip to content
This repository has been archived by the owner on Mar 30, 2022. It is now read-only.

Development Environment

kamfonik edited this page Jul 31, 2015 · 16 revisions

31 July 2015: Most (if not all) of the information on this page is deprecated. It is being archived for reference.

For our development environment, we use vagrant to create the base virtual machines with libvirt, then use a modified version of the puppetlabs-openstack git repo to deploy Openstack on top of the virtual machines.

To launch a new virtualized Openstack environment:

  1. Install prerequisites
    1. vagrant - go to https://www.vagrantup.com/downloads and choose the correct package for you platform
    2. apt-get install kvm libvirt-bin git
    3. adduser $USER libvirtd
  2. Obtain the MOC puppetlabs-openstack code
    1. Git pull https://github.com/CCI-MOC/puppetlabs-openstack.git
  3. Navigate to the subdirectory puppetlabs-openstack/examples/libvirt
  4. Run install_requirements.sh
  5. Run firstrun.sh
  6. The authentication credentials are on the control node, in /root/openrc

To rebuild:

  1. Run 50_destroy_nodes.sh
  2. Run firstrun.sh

To add an additional service to be automatically installed using puppet:

  1. Add a new entry to the Puppetfile at the top level of the puppetlabs-openstack directory
  2. Add the correct pointer to the puppet module you added to the role for the machine you want in in, specified under puppetlabs-openstack/manifests/roles
Versions we are using for tools and plugins:
  1. Vagrant 1.6.3
  2. Vagrant-hostmanager 1.5.0
  3. Vagrant-libvirt 0.0.16
  4. Puppet 3.6.2

Current shortcomings: Only one development environment can exist on a machine. The private IP addresses are hard-coded into the vagrant file, so duplicate vm's networks would conflict.

Issues I encountered:

  1. Vagrant-libvirt does not install the most recent version by default, and needs to be specified in the install. This is in install-requirements.txt. If it is not the most recent version, removing domains will not work correctly, and you will have to manually remove virtual machines.
Clone this wiki locally