vLab: Managing and Provisioning VMs for Labs
The aim of the project is to design and implement a system, in which we are managing and provisioning VMs for each student, who is enrolled in some course. For each course in which the student is enrolled, s/he will get a VM and the VM can be used for execution of lab. We have implemented a working prototype of the system and work is on progress.
Documentation
- Wiki: https://github.com/ankit-iitb/vlab/wiki
- Thesis Report: Thesis.pdf
- vLAB Administrator Guide: Administrator-Guide.pdf
- vLAB User Guide: User-Guide.pdf
- vLAB Presentation Slides: slides.pdf
Project Status
Completed Tasks:
- Front-End in PHP, allow login to student and instructor using IITB ldap-ID.
- Use of IITB ldap-ID for login, with full integration in php.
- Use of libvirt-php API to interact with libvirt and to create,start,stop the VM.
- Cluster Setup for sheepdog distributed storage.
- Using sheepdog distributed storage for qemu-kvm virtual machines.
- Accessing Libvirt on any cluster machine using a TCP connection.
- Starting VM, having sheepdog disk image, on any of the cluster machine using libvirt.
- Get all the information about resources of any node in the cluster.
TODO:
- Adding New VM placement Policy.
- Perform More experiments related to User Satisfaction, etc.
People Associated With the Project
This project is implemented by Ankit Bhardwaj for the requirement of thesis project in his master degree and guidance was provided by Prof. Purushottam Kulkarni, CSE, IIT Bombay.