Hello everyone, I've recently started working with Cloudstack, and was going through the codebase and had a question about a possible feature for future versions - making the HypervisorType more dynamic. Right now, it seems there are several places where specific types are referenced. I would like to make it more dynamic - have hypervisors be a pluggable type so that any hypervisor can be added using the Cloudstack plugin architecture.
I've taken a look at the existing code, and it seems as though the enum is used not just by the hypervisor's "discoverer" class, but also by other classes/methods to say which hypervisors they work with or are looking for. Is there a reason it's done this way, instead of generating a dynamic list of hypervisors that are supported at run-time? Have there been attempts to make this change in the past? Has anyone begun work on this feature already? Anyone have thoughts on where the easy/difficult areas for such an undertaking would reside? Thanks for any thoughts on this, and I look forward to working with everyone in the near future. Sam Schmit