Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Latest commit

 

History

History
31 lines (26 loc) · 1.34 KB

README.md

File metadata and controls

31 lines (26 loc) · 1.34 KB

vagrancy

A testing uility application for use within submitty-buildbot for helping to test whether or not all images defined in a Vagrantfile can be built.

Usage looks something like this:

  1. On host machine, run ./dist/server.js which spawns a unix socket.
  2. In submitty-buildbot docker-compose, define a worker that mounts that unix socket.
  3. In submitty-buildbot worker, run ./dist/client.js which connects to the socket and kicks off a fresh Vagrant build.
  4. vagrancy will build the image, and then report back which images successfully built and which ones failed to build.
  5. submitty-buildbot worker then reports which images failed to build and if all did build, pass the job, and then disconnect from vagrancy.
  6. On closing of remote socket, vagrancy will clean-up the directory used for building the image and any created VirtualBox VMs.

vagrancy itself handles building images as follows:

  1. Read in Vagrantfile from path to Submitty/Submitty repo on host machine, detecting all defined images.
  2. On receiving a socket connection, copy the Submitty repo to a unique temporary directory to serve as its workspace.
  3. Run vagrant up <image_name> in parallel for all images.
  4. After all images succeed or fail, report back status to connecting socket.
  5. Delete all created VMs.
  6. Delete created workspace folder.