Looking into a bug in vagrant-libvirt where an error during the update will cause the domain to be completely discarded.


Basically I think it stems from doing an undefine -> create with XML new process, which if there is an issue with the new XML due to KVM module not loaded or something similar it will be rejected, but unfortunately it is also unlikely to allow the old definition to be restored either.

I'm looking around to try and see if there is an API (specfically in ruby-libvirt) for updating the domain definition, so that if the new XML is rejected at least the old definition remains, and so far I'm drawing a blank.

Is the only option here to write using a temporary domain name, then remove the old domain and rename the new definition to the old domain?

Or have I missed the obvious API analogous to the edit functionality?
Darragh Bailey
"Nothing is foolproof to a sufficiently talented fool" - unknown