This software had been upgrade on new version, you should take a look here
History
During my studies, I installed an VMWare on an old PC to keep me update about how to use, install and manage tools, programs…as an own lab. The problem was that it took a lot of time to build a server, and use resources for only testing an installation or a soft for few days.
That’s why some years ago, I moved everything to Proxmox, which enable to create fast disposables containers.
The problem with a Lab, is that step by step, I kept software (mails, webservers, domotics…) and finally, the lab turn into Production, and it starts to be more and more difficult to play as a Lab when you fear to destroy everything.
The main issue with hypervisor is that you have to dedicate your server to play this role. That why I decide to create my own hypervisor.
Brainstorming
I start to list what was needed for me :
- The possibility to create VMs
- The possibility to create Containers
- Not to be linked to hadware
- The possibility to do snapshot to revert quickly
- A short monitoring and logs view
- A terminal to install and configure new server/containers
- A web management, to be accessible from everywhere)
- As light as possible to be install on every PC even a container
And the list of what was not needed to me :
- No Windows OS compliance (I don’t use Windows VM because it uses too much ressources for me)
- No Cluster need, it’s only for testing or Lab
- No VNC or grafical view, it consumes ressources and not use for 99% of my usage.
Libvirt, Qemu and LXC
After searching on internet, I found Libvirt, which seems to be the library use by most virtualization tool. And (nice point for me) can me manage using python ! I start to look around, and I found that LXC and Qemu (also use by Proxmox) are manageable by Libvirt !
So, I could start somewhere, I will use python and Libvirt and use Qemu and LXC to manage the servers/containers.
For the interface, my choice turn directly to Flask. I tried Django and Flask, but for me Django is too much. Useful if you plan to do an API, interact with a lot of libraries…etc., but I wanted to keep as light and simple as possible and Flask seems more in agreement with this idea.
By chance, Libvirt is well documented :
https://libvirt-python.readthedocs.io/
And Flask have a lot of nice libraries to fast code some graphical or option (pam auth, menu…)
So step by step, I could do my tool:
For the moment I could do a version which I personally find enough, but may be involved it if my needs increase.
You can find my sources here :
https://git.nerkdesign.com/pporcheret/Hype
Please check : https://github.com/pyhype2/Hype2
0 commentaire