Cloud management system using the libvirt API
Detailed problem statement: here
- Continuous monitoring of CPU utilisation by server VMs
- usage % = 100 * (cpu_time 2 - cpu_time 1) / (time 2 - time 1)
- Overload if cpu usage above a threshold for some number of consecutive iterations
- Scale up from N to N+1 server vms using libvirt api
- Notify the client to use the new vm to mitigate overload
- Install virt-manager, libvirtd, qemu and virsh
- Use virt-manager to create two VMs
- Configure network using steps given in config file
- Add server code files to respective vms and configure them to run on boot up
- Start vm1 and run
python monitoring.py
andpython client.py
- Monitoring will show cpu usage in real time
- Change load using 'C' key in the terminal where client.py is running to see autoscaling in action