When secondary startup method is JNLP (or any other passive startup method that does not support launching the slave agent from the master) the VMs are not started by the libvirt-slaves plugin.
This default behavior is actually correct as starting the VM does not yet connect it with hudson.
However when I (have to) use Windows slaves, it is not always possible to use the windows remote deployment launch option. Using JNLP is easy and always possible, however now the VMs are no longer switched on.
It should be possible to override whether starting a VM is enough to connect the slave or not. (Leaving it to startup scripts inside the OS to connect to the master)
Attached is a patch force-vm-launch-support.patch and a locally compiled plugin libvirt-slave.hpi that allows to select whether starting the VM is always supported no matter what the secondary launch option does.
I would highly appreciate if this could be added to the next release.