A short time ago, I created the fubar-boshrelease with the purpose of providing a broken BOSH release that would help expose operators, and developers to various aspects of troubleshooting things going wrong when working with BOSH. It starts out as a BOSH release repo needing to be built, uploaded, deployed, and made to work. However, many things are set up to go wrong, and force you to investigate what the problem is, and make a decision on how to fix it. In the end, you will have a working BOSH deployment on BOSH-Lite, and are able to see "You win!" when you curl the specified endpoint.

Hopefully this release is useful as a training exercise, or refresher for those who haven't had to deal with any BOSH issues lately. I tried to put as little help in the repo as possible, so that users are forced to go research how BOSH releases are built and deployed to help them learn more by doing, than by reading.

Getting Started

To get started, spin up a BOSH-Lite Vagrant VM, and git clone https://github.com/cloudfoundry-community/fubar-boshrelease. From there:

# Move into the boshrelease directory, target our bosh-lite, and add the bosh-lite routes
$ cd fubar-boshrelease`
$ bosh target bosh-lite
RSA 1024 bit CA certificates are loaded due to old openssl compatibility  
Target set to 'Bosh Lite Director'  
Your username: admin  
Enter password:  
Logged in as 'admin'  
$ sudo route add

# Iterate over generating the deployment manifest, uploading, and deploying:
$ templates/make_manifest warden && bosh create release --force && bosh upload release && bosh -n deploy

From there, it's time to investigate and resolve any errors encountered, lather rinse-repeat the manifest generation, release creation/uploading, and deployment as needed. Once you think you're done, you can test the following:

$ curl
You win!  

If you see any other messages aside from "You win!", or no output at all, there's still more work to be done!