After a few weeks of working on a KVM plugin, I have added it to the omv-extras testing repo. I think it is working fairly well. I have been able to install Linux and Windows.
The plugin uses libvirt (so virsh commands will work) and borrowed ideas from VMdashboard.
There is no need to install cockpit to use this plugin but they should not cause problems with the other.
No network bridge is needed. You can use a regular network if it is ok for the VM to live behind NAT -or- you can use a macvtap network to let the VM live on the same network as the host. Even docker is working.
After install, make sure to create at least one pool and make it active (State -> Start). Also make sure the network is active. A default NAT network should be created. Create a macvtap network if you don't want to use NAT. Make it active after creation.
To attach an ISO to a VM, you need to add it to a storage pool first. That means copying it to the path of the pool you create. I create a pool called ISOs and just put .iso files in it. When adding an optical drive, it will only show .iso files.
When a VM is created, a VNC port will be open to use any vncviewer to connect. If you prefer a web-based vnc viewer, you can add a web console. The web console is a noVnc docker container. You will need to create one for each VM. These containers will not be running after rebooting the host (vnc ports may change on the VM).
I will work on some howtos after the plugin is moved to the regular omv-extras repo. I still have some minor things to tweak and a feature or two to get working. Let me know if you can think of other features to add but I want to keep it fairly simple. The plugin may work on armhf/arm64 but it is not in the repo because I didn't see much need to run VMs on sbc boards.
Helpful guide - [How-To] Use the Openmediavault-KVM plugin