Development Environment¶
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¶
Install prerequisites
# vagrant - go to https://www.vagrantup.com/downloads and choose the correct package for you platform
# apt-get install kvm libvirt-bin git
# adduser $USER libvirtd
Obtain the MOC puppetlabs-openstack code
# Git pull https://github.com/CCI-MOC/puppetlabs-openstack.git
Navigate to the subdirectory puppetlabs-openstack/examples/libvirt
Run install_requirements.sh
Run firstrun.sh
The authentication credentials are on the control node, in /root/openrc
To add an additional service to be automatically installed using puppet¶
Add a new entry to the Puppetfile at the top level of the puppetlabs-openstack directory
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
- Vagrant 1.6.3
- Vagrant-hostmanager 1.5.0
- Vagrant-libvirt 0.0.16
- 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¶
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.