Commit b79ba8382e2205c416d7c4836ac9ee08c72e2c56 in libvirt adds a
<title> attribute to the domain XML, that is used by the user to
identify more easily the VM. This feature is not supported by all
HVs. This patch allows to see and modify the title from the details
window.
Something similar was requested here:
https://bugzilla.redhat.com/show_bug.cgi?id=798949
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Convert virtManager/host.py, do some cleanups and modernization to the
UI there, add tests.
createnet.py hasn't really been touched yet, but still works because
it was building the XML by hand anyways.
Previously, if a very long "title" was shortened, the column was
maintaining its original size, leaving the second column far away.
To avoid it, enforce the first column to be automatically resized
whenever the name of the VM is changed.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
So we unify parsing and building the XML.
Since we already do this for vmmDomain, take the opportunity to move
the shared infrastructure into vmmLibvirtObject
Basically, drop usage of nested main loops. As has been documented in
other commit messages, we use nested main loops in ways they aren't
supposed to be used. They gave us async behavior that would block
callers, but had weird behavior in some edge cases.
Switch to having async dialogs be 100% async, requiring the user to
pass in a completion callback which is triggered after the async
action is complete.
Connect to remote URI, connect to VNC guest with password auth. Don't
enter password, just close the details window. Reopen the window,
password UI is still there, but it's no longer hooked up behind the
scenes. Fix it.
Spice opens many FDs to handle different channels (display, usb, sound,
etc.). For remote SSH URIs, this means we launch multiple SSH proceses.
We do so by forking off the process, and when SSH has successfully
authenticated, the data starts flowing.
If using spice + remote SSH w/o SSH keys, you need to put your data
into ssh askpass. askpass wants to own the display for security reasons.
When all the channel requests start coming in, we were launching multiple
ssh processes one after another. This upset askpass and generally
caused havoc in the app.
Add some infrastructure to serialize launching ssh processes. We only
launch the next ssh process if spice/vnc have conclusively connected
or errored out the connection. This makes connection a bit slower
for the non-askpass ssh case (about 1.5 seconds), but will ignore
avoid this oft reported problem.