monasca-vagrant/ds-build
David Schroeder 71a4ec78fb Add automatic retry to devstack install script
I don't know about anyone else, but whenever I kick off the
ds-build role on a fresh VM, I see a high rate of failure with
git clone operations ("git call failed" is the error), which kills
off stack.sh and results in a failed build.  This happens about 50%
of the time for me, so I modified the devstack build script to
automatically retry if it encounters this error.

Change-Id: If91577707ed76b1ec566af9189e30bbdcd81c37d
2015-03-10 09:50:07 -06:00
..
roles/devstack-build Add automatic retry to devstack install script 2015-03-10 09:50:07 -06:00
ds-build.yml Convert DevStack Build Profile to Ansible 2015-03-03 13:31:45 -07:00
README.md Convert DevStack Build Profile to Ansible 2015-03-03 13:31:45 -07:00
Vagrantfile Convert DevStack Build Profile to Ansible 2015-03-03 13:31:45 -07:00

The ds-build Vagrant profile installs the latest DevStack onto an Ubuntu Trusty virtual machine, activating extra services and setting it up to run out of Upstart rather than screen sessions.

Default admin credentials are username admin and password admin.

Services Enabled

The following services are enabled:

  • Ceilometer
  • Cinder
  • Glance
  • Heat
  • Horizon
  • Keystone
  • Nova
  • Swift

Upstart instead of screen

The Ansible role includes a script which creates Upstart init scripts for each of the services. It also sets up log files in the /var/log/ directory. When the VM is booted, all DevStack processes will start automatically.

Usage

Initial build

From within this directory, run this command to build the server: vagrant up

The DevStack installation will take a long time, and you can follow its progress from another terminal by running vagrant ssh and then tail -f /opt/stack/logs/stack.sh.log

Packaging for VagrantCloud

To ensure that this VM can provision its own instances, launch and delete an instance prior to packging for VagrantCloud.

  • Open http://192.168.10.5 in a web browser
  • Log in using default admin credentials specified above
  • Click on 'Project' at left, then 'Instances'
  • Click the 'Launch Instance' button
  • Enter an Instance Name, any name will do
  • Select Flavor 'm1.tiny'
  • Set Instance Boot Source to 'Boot from image'
  • Choose 'cirros' as the Image Name
  • Click the 'Launch' button
  • Once the image is created successfully, terminate it
  • Sign out from the web interface; you are now ready to package the box image

From within the ds-build directory, run this command to build a new VagrantCloud box image:

box='devstack.box'; [ -e ../$box ] && rm -v ../$box ; vagrant package devstack --output $box