Commit Graph

261 Commits

Author SHA1 Message Date
Cole Robinson
01bf07ba11 libvirtobject: Unify status signals
Dispatch them all from the actual object and not proxied through
the connection. Use the same signal name for all objects with the same
signature.
2015-04-10 15:00:33 -04:00
Cole Robinson
fb7a921ec4 storagelist: Select newly created pool/volumes
And clean up some of the internal APIs in this area
2015-04-10 15:00:33 -04:00
Cole Robinson
c66bc2a87f connection: Have get_nodedevs return vmmNodeDevice
To make it consistent with similar vmmConnection functionas
2015-04-07 14:12:00 -04:00
Cole Robinson
ebfb0cd726 mediadev: Kill the abstraction, just use nodedevs
It's really a useless hold over from the days when we manually talked
to HAL.

One semi useful bit lost in the shuffle is the option to repoll cdroms
for media. But since virt-manager allows attaching a device to the
VM regardless of whether it notices media change, this plumbing is
really overkill. If libvirt ever grows nodedev events we will get this
much easier.
2015-04-07 13:59:43 -04:00
Cole Robinson
f5b13a6e19 Drop all references to xenner, it's long dead 2015-04-03 16:45:43 -04:00
Cole Robinson
d4dfbd41b5 capabilities: Use XMLBuilder for cpu_map parsing
And clean up the internal bits a little
2015-04-03 16:45:43 -04:00
Cole Robinson
cac4ac1401 capabilities: Switch to use XMLBuilder
Just a cleanup to finally unify all the XML objects around the same
API, and drop a bunch of old cruft.
2015-04-03 16:45:42 -04:00
Cole Robinson
ce74cd7726 connection: Protect conn state tick() updates with a lock
If the mainloop is backed up, tick_send_signals might not run before
another conn.tick call is scheduled by the tick thread. conn.tick would
then be operating on incorrect self._vms since it was never updated.

Don't run another tick() until tick_send_signals has released a lock.

https://www.redhat.com/archives/virt-tools-list/2015-April/msg00009.html

Reported-by: Charles Arnold <carnold@suse.com>
2015-04-02 14:05:56 -04:00
Giuseppe Scrivano
64264e8fa2 Disable domain events with XEN
When XEN is used, disable domain events and use polling.

On RHEL-5.9 virDomainInfo() seems to not report correctly the domain
status when called immediately after the event is received.

Solves: https://bugzilla.redhat.com/show_bug.cgi?id=1177207

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-26 11:08:57 +01:00
Giuseppe Scrivano
7b630c00a0 Move stable_defaults from vmmConnection to VirtualConnection
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-24 17:44:23 +01:00
Cole Robinson
cff08223ba util: Move uri_split to its own URISplit class
Does what uri_split did, but wraps it all up in an object that makes
handling the data easier, and makes it easy to extend.
2014-12-09 08:43:19 -05:00
Cole Robinson
66a8c5d374 vmm: conn: Don't abuse path_definitely_exists for pool refreshing
Just catch any errors and continue on
2014-12-04 20:39:27 -05:00
Cole Robinson
6489df83ca devicedisk: Rename path_exists -> path_definitely_exists
Since it's a best effort attempt, try to make it more clear that
we aren't certain if paths exist in some cases.
2014-12-04 20:10:37 -05:00
Giuseppe Scrivano
c9a04c23dc virtManager: show correctly IPv6 addresses
VirtualConnection.get_uri_host_port already splits this information
taking care of IPv6 addresses, do not split it again.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1094631

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-11-20 15:51:16 +01:00
Cole Robinson
0717a21f65 host: Fix renaming network/storage pool 2014-09-20 17:32:09 -04:00
Cole Robinson
38738d9fa6 connection: Don't close VM dialog on rename
Rework things a bit to simplify everything we pass around.

The specific bug fix is making sure we update the object list in place,
otherwise the event loop detects it as the VM being deleted and closes
the details window.
2014-09-20 17:32:09 -04:00
Cole Robinson
ea97325a72 connection: Tweak some debugging output 2014-09-20 16:33:26 -04:00
Cole Robinson
dd67c48233 connection: Handle nodedev polling too
And cleanup up a bunch of nodedev functions as a result
2014-09-20 12:04:49 -04:00
Cole Robinson
226c4562d5 virtManager: Switch to relative imports 2014-09-12 16:28:38 -04:00
Cole Robinson
76bc8e5ab9 connection: Do initial object refreshes in a thread
None of these objects are urgent, and this allows us to split up the
initial API calls to be more parallel.
2014-09-12 16:28:37 -04:00
Cole Robinson
37e0f16c8b connection: Simplifying connection error tracking 2014-09-12 16:28:37 -04:00
Cole Robinson
df32f9331d baseclass: Add helper for launching daemon thread
And use it in a few spots
2014-09-12 16:28:37 -04:00
Cole Robinson
d1c22b3b2c storagepool: Don't default to refreshing volume list
This needlessly hits the network too much. The places where it's
important to have up to date info will either manually call pool
refresh, or give the user an refresh button.
2014-09-12 16:28:37 -04:00
Cole Robinson
92835f205f connection: Cache x86 cpu values at connection time 2014-09-12 16:28:37 -04:00
Cole Robinson
fb671b4d92 connection: Leave in 'connecting' state until all bits are polled 2014-09-12 16:28:37 -04:00
Cole Robinson
adbe68fc7f connection: Cleanup some initial connection code 2014-09-12 16:28:37 -04:00
Cole Robinson
bd5e57dbdc connection: Simplify state management 2014-09-12 16:28:37 -04:00
Cole Robinson
f0ab054109 connection: Do mediadev setup in a thread
Otherwise a lot of XMLDesc calls are done from the main thread
at connection startup time.
2014-09-12 16:28:37 -04:00
Cole Robinson
9986074ab0 connection: Revive option to show QEMU/KVM in pretty desc
I thought it was unused, but it was just grep fail
2014-07-07 18:00:10 -04:00
Cole Robinson
7fcdd61920 manager: Expand logic to avoid colliding connection descriptions
And drop some unused code
2014-07-04 18:20:54 -04:00
Cole Robinson
aa823b5b58 connection: Handle unsupport KeepAlive (like test URIs) 2014-07-04 18:20:54 -04:00
Cole Robinson
e12d7a6a8c connection: Report error if things fall over during connection bring up 2014-07-04 18:20:54 -04:00
Cole Robinson
f66c4ef3e4 connection: Fix error reporting if TCP creds dialog fails 2014-07-04 18:20:54 -04:00
Giuseppe Scrivano
538c68a41d virt-manager: check if still connected every 20 seconds
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-07-02 15:31:40 +02:00
Cole Robinson
c78974c0d9 connection: Drop netdev abstraction
Just open code it in the one place it's needed. Try to simplify some of
the netlist logic while we are at it. Should fix:

https://bugzilla.redhat.com/show_bug.cgi?id=1109574
2014-06-18 12:41:36 -04:00
Cole Robinson
aefd4c4824 connection: Use name instead of uuid for object keys
And clean up the API mess while we are at it. Treat the key as an opaque
value that users shouldn't depend on.

Besides the improved code clarity and API layout, this will help diagnose
'key error' issues, since we'll see an object name instead of UUID which
is hard to trace back.
2014-06-02 17:48:32 -04:00
Cole Robinson
42204c9379 connection: Add debug helper to disable libvirt events 2014-06-02 12:02:09 -04:00
Cole Robinson
519e3b5768 connection: Log when objects are added/removed 2014-05-31 13:52:13 -04:00
Cole Robinson
5c28a00d3e connection: Call path_exists before getting storage volume (bz 1092739)
path_exists will check to ensure the volume actually survives a pool
refresh, incase it was deleted behind libvirt's back. This makes the
delete dialog happier at least.
2014-04-30 16:00:34 -04:00
Cole Robinson
d4c27baa45 connection: Mark a few bits as private 2014-04-16 12:29:24 -04:00
Cole Robinson
873c22d19a connection: Avoid some useless errors when connection closes
- Run the connection
- Restart libvirtd, connection is auto closed
- Re-run the connection
- Manually stop it, see errors in the logs about unknown event IDs

We need to unconditionally clear our event ID list
2014-04-16 12:29:24 -04:00
Cole Robinson
1f7604b241 engine: More work to fix cascading error dialogs
If a remote network connection stalls, the tick queue becomes backed
up while we wait for the hung connection to continue. While this
happens, the queue is filled up with other requests to poll the hung
connection.

When the connection finally times out, the tick thread closes the
connection via an idle callback. However before that callback gets
a chance to run, all the other poll requests for the dead connection
are processed, all launching their own error dialog.

Mark the connection as 'closing' before conn.close is scheduled, and
use it to short circuit the tick() routine.
2014-04-16 12:29:24 -04:00
Cole Robinson
a398d245cb Clean up pylint integration
- Drop no longer needed disable= bits
- Use string names for all skipped pylint messages
2014-04-02 19:00:24 -04:00
Cole Robinson
adf3545671 connection: Hook into domain balloon event (bz 1081424) 2014-03-31 12:43:49 -04:00
Cole Robinson
565ef4f3ef connection: Make sure a DEFINED event forces a config-change signal
Even if XML didn't change. This is what we do in the non-event case.
Makes it more clear if details->apply triggers a define, but our
change didn't stick for any reason.
2014-03-22 18:14:43 -04:00
Cole Robinson
8562c3258e More pylint fixes 2014-03-22 11:21:19 -04:00
Cole Robinson
081e34715f connection: Handle errors when deregistering events on close (bz 1069351)
Otherwise this interrupts the close/cleanup routine, and the connection
never appears to disconnect in the UI. This causes error dialog spamming
when libvirtd goes down.
2014-03-10 09:35:35 -04:00
Cole Robinson
df7012a68b Handle libvirt generating invalid volume XML (bz 1072770) 2014-03-06 12:04:08 -05:00
Cole Robinson
f67df11701 vmm connection: Handle missing storage volumes (bz 1070883)
Similar to what was done in a808bd6692
for the virtinst connection wrapper.
2014-02-27 13:16:21 -05:00
Cole Robinson
88538f916d connection: Actually fix domain event deregister 2014-02-14 10:00:45 -05:00