Built a framework that can coordinate the provisioning of compute resources by negotiating with a set of hypervisors running across physical servers in the datacenter.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



  1. Uses MongoDB to save the data for running VMS.

  2. Performs ssh based on public/private key generated at the start of the script. We only have to enter password twice, i.e. once for saving the public key to the machine using ssh-copy-id and again during scp of image file to machine.

  3. Gets physical machines from src/pm_file.

  4. Gets Images from src/image_file.

  5. Gets instance types from src/flavor_file.

  6. Uses Libvirt to create VM's by first connecting to "qemu:user@ip/system", then defining XML of domain, creating domain.

  7. Destroys VM using libvirt's, domain.destroy() and then undefines the xml by domain.undefine()