Key of URI in the migration list, not the short hostname we show: we can
have multiple connections with the same hostname, and it confuses things. This
allows us to drop the migrate invocation differences for the xen driver,
so things work as they should.
Since libvirt has supported multithreaded client connections for a while now,
we can run all our libvirt polling in a thread. This will prevent the UI
from blocking and becoming sluggish if there are lots of VMs or connections
open.
We just need to be vigilant in ensuring that all UI updating done via any
tick function is scheduled with gobject.idle_add, to preserve the benefits.
We need to parse the XML doc when polling for disk and net stats. However,
it isn't that important for us to have up2date xml when doing so: having a
disk or net device added behind our back is likely a rare occurence, and
the xml will be updated via other means quite often.
So, don't update the xml.
The main change is removing the duplication of the 'Apply' and 'Remove'
buttons in the UI. This has no functional change, but from a dev perspective
this saves annoying duplication when new device support is added.
Also fix up some minor layout and spacing issues.
Add helper functions to properly set up the cdrom combo widgets. Separate
the dbus polling from UI editting: eventually we will get some of this info
from libvirt hostdev APIs, and this will help.
Currently we connect to dbus and poke sysfs to find local net devices and
bridges: unfortunately we do this everytime _any_ connection object is
initialized. This floods the debug logs, and is complete overkill, since
net devices are associated with the host and not a connection.
Run the initialization once (at app startup) and carry around only one
instance of the polling code.
If opening a connection R/W fails, we currently fallback to readonly. This
isn't very transparent and is likely not what the user wants (full R/W or
a useful error message why not). This has caused a lot of confusion and
bug reports, so let's drop it.
This patch makes virt-manager remember last used paths for disk images, saved
snapshots, restored snapshots, media paths and also screenshot paths not to
bother users with changing paths from the default location per HV technology.
Useful when installing multiple domains and having all the media/image files
in non-default locations.
It is essentially a glorified file chooser, so give it dialog behavior.
(like associating with a parent window, and being able to be the top window
above other dialogs like the CD chooser).
Switch max mem to abide current mem value, not the other way around: most
people are only interested in the current allocation.
Also, tweak the spin button climb rate and step size to be a bit more useful.
The Processor tab in VM details was not showing at all because of exception.
The exception occured everytime the tab was selected because of call to non
existing function get_type() that has been renamed to get_hv_type() in the
newest version of virt-manager's code by revision 1135.
We currently have it backwards, so a sparse request actually asks for
nonsparse. We didn't see this much, since until recently virtinst wasn't
allowing nonsparse volume allocation.