Commit Graph

3094 Commits

Author SHA1 Message Date
Cole Robinson
c79ba14a6a details: Fix description field spacing 2013-09-01 20:03:53 -04:00
Cole Robinson
ae7ebc220b details: Properly limit machine type list by guests arch/type 2013-09-01 19:21:21 -04:00
Cole Robinson
4c2f7377af preferences: Stats interval can't be less than 1 2013-09-01 18:55:31 -04:00
Cole Robinson
1bd6026515 manager: Merge some row creation, drop unneeded row keys 2013-09-01 18:36:58 -04:00
Cole Robinson
10161a8fdb details: Track serial pages as console tabs
A bit cleaner conceptually, and shrinks the ever growing details.py
2013-09-01 17:40:38 -04:00
Cole Robinson
cdc82e62a2 console: Fix spice with TLS (bz #904295)
We now use the same CA trust store as virt-viewer's default, which is:

~/.spicec/spice_truststore.pem
2013-09-01 16:09:35 -04:00
Cole Robinson
280663c685 packageutils: Don't implement our own search dialog (bz #746011)
Our search dialog isn't as full featured as packagekits, so just call
out to that. This was originally avoided because it doesn't full
provide the semantics we want, but it's close enough and saves us
from duplicating all their work.
2013-09-01 14:19:23 -04:00
Cole Robinson
82ef6ba173 console: Catch spice connection errors (bz #971558) 2013-09-01 13:25:37 -04:00
Cole Robinson
2c918ecaa6 uihelpers: Don't list 'lo' as a macvtap interface (bz #980606) 2013-08-31 13:14:47 -04:00
Daniel Gollub
1730a8e5ff virtinst: add nwfilter support
This allows to make use of libvirt network filtering support with virt-install.
With the additional option "filterref" in the --network parameter one can
configure any defined nwfilter per network interface, i.e.:
virt-install ... --network network=mynet,model=virtio,filterref=clean-traffic

(crobinso: add an xmlparse test case)
2013-08-29 11:44:40 -04:00
Giuseppe Scrivano
f238abfe4d virt-manager: ignore another VIR_ERR_NO_DOMAIN error
It fixes this exception while removing a VM:

Traceback (most recent call last):
  File "virt-manager/virtManager/details.py", line 1438, in refresh_vm_state
    self.change_run_text(vm.hasSavedImage())
  File "virt-manager/virtManager/domain.py", line 1238, in hasSavedImage
    return self._backend.hasManagedSaveImage(0)
  File "/usr/local/lib/python2.7/site-packages/libvirt.py", line 852, in hasManagedSaveImage
    if ret == -1: raise libvirtError ('virDomainHasManagedSaveImage() failed', dom=self)
libvirt.libvirtError: Domain not found: no domain with matching uuid
  '7c3eebec-9b22-48ea-b9a2-3341840d0476' (test)

Traceback (most recent call last):
  File "virt-manager/virtManager/manager.py", line 885, in vm_status_changed
    self.vm_selected()
  File "virt-manager/virtManager/manager.py", line 1009, in vm_selected
    self.change_run_text(vm.hasSavedImage())
  File "virt-manager/virtManager/domain.py", line 1238, in hasSavedImage
    return self._backend.hasManagedSaveImage(0)
  File "/usr/local/lib/python2.7/site-packages/libvirt.py", line 852, in hasManagedSaveImage
    if ret == -1: raise libvirtError ('virDomainHasManagedSaveImage() failed', dom=self)
libvirt.libvirtError: Domain not found: no domain with matching uuid
   '7c3eebec-9b22-48ea-b9a2-3341840d0476' (test)

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-08-27 13:44:43 -04:00
Martin Kletzander
3f47140cf9 uihelpers: Fix storage unit
We use GB everywhere, but there was one place missing where we used Gb
instead.
2013-08-27 07:33:28 +02:00
Cole Robinson
948b5359d2 virt-manager: Hide snapshot work behind --experimental-snapshot-ui
I don't want to publicize the UI and the current feature set until
we are sure it's what we want to support, so hide it for now.
2013-08-21 18:47:05 -04:00
Cole Robinson
e8531b1f40 Initial snapshot support
This adds initial UI for managing snapshots: list, run/revert, delete,
add, and redefining (for changing <description>) supported, but currently
only for internal snapshots. The UI is mostly in its final form except for
some bells and whistles.

The real remaining question is what do we want to advertise and support.
Internal (qcow2) snapshots are by far the simplest to manage, very
mature, and already have the semantics we want.

However most recent libvirt and qemu work has been to facilitate
external snapshots, which are more extensible and can be performed
live, and with qemu-ga coordination for extra safety. However
they make things much harder for virt-manager at the moment.

Until we have a plan, this work should be considered experimental
and not be relied upon.
2013-08-21 18:41:42 -04:00
Cole Robinson
9d11c7eae3 virtinst: Add DomainSnapshot object and some plumbing
Just for parsing domainsnapshot XML and performing some support checks
2013-08-21 18:26:27 -04:00
Martin Kletzander
3b9c397d11 Handle storage formats properly
This simple patch fixes three issues:

 1) We used only one list of storage formats.  However, we are able to
    use some formats which we cannot create.  This patch adds a list
    called 'no_create_formats' and moves such formats (currently only
    one) into it and uses new parameter 'create' which describes
    whether such formats should be removed or not.

 2) When creating new storage with the above fixed, we need to set the
    combobox's text to "" in order not to change it to "raw".  This
    was already done in reset_state(), but we need it also when
    toggle_storage_select() happens and it doesn't hurt in
    set_initial_state(), so I abstracted the implementation into
    populate_disk_format_combo().

 3) It's a bit unrelated, but when bus of a domain disk gets changed
    (in details.py), the address was not cleaned up properly ('target'
    attribute was still kept), so I fixed up the VirtualDeviceAddress
    as well.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=907289
2013-08-21 11:12:42 +02:00
Martin Kletzander
64b1ca15f2 Fix UUID generation according to RFC 4122
In commit 74aa8c8a, I somehow made an off-by-one error even though
that code was almost copy-paste from libvirt's commit 396c4d34.
2013-08-19 10:56:56 +02:00
Cole Robinson
8460af9a99 VirtualWatchdog: Add dump action 2013-08-18 16:06:18 -04:00
Cole Robinson
8aa3ba9b63 man: Fix a build error, misc improvements 2013-08-18 16:04:54 -04:00
Cole Robinson
c5e891f3ae man: virt-install: Amend kernel example to be specifically about ARM 2013-08-18 12:49:09 -04:00
Cole Robinson
1ce5fb1bb9 details: Wire up DTB support
Only show it for supported archs (arm, microblaze, ppc). Take this
opportunity to tweak the kernel/initrd UI a bit
2013-08-18 12:42:07 -04:00
Cole Robinson
7edd2c5208 Fix spelling error in function names 2013-08-18 12:30:58 -04:00
Cole Robinson
e52f6050fa qemu ARM support: wire up virtio, fix a bunch of defaults
This has some fallout on non-x86 tests which were wrong to begin with.
There's still some missing bits but this is the jist of it.
2013-08-18 12:30:58 -04:00
Cole Robinson
8c6149d3f3 tests: Add recent libvirt capabilities, share URIs better 2013-08-18 08:39:51 -04:00
Cole Robinson
414f6bbd99 guest: Use virtio on plain qemu on x86
It's been available for a long long time, and unifies code paths.
2013-08-17 18:00:31 -04:00
Cole Robinson
a8858cd366 osdict: Don't run support checks, make the caller do it
Some ARM bits we are about to add would substantially complicate the
current setup, so move all the logic into guest.py where we can be
more flexible. I think this is closer to what libosinfo will give us
as well.
2013-08-17 17:53:17 -04:00
Cole Robinson
3130f64e35 VirtualDisk: Add is_disk, is_cdrom, is_floppy helpers 2013-08-17 14:21:30 -04:00
Cole Robinson
c2a4ca66e9 clitest: Add infrastructure for skipping tests based on support checks 2013-08-17 13:50:36 -04:00
Cole Robinson
c67bd587b7 osdict: Add solaris 11 (bz 894017) 2013-08-17 10:37:59 -04:00
Cole Robinson
cfe771cf4a VirtualDisk: Add error_policy 'report' value 2013-08-17 10:35:44 -04:00
Cole Robinson
aa2e105f2b clitest: Simplify test register boilerplate a bit 2013-08-17 09:44:11 -04:00
Cole Robinson
71a25c267b clitest: Drop some useless tests 2013-08-17 09:36:03 -04:00
Cole Robinson
e02fa9b4fe virt-install: Add --boot dtb=DTB support
Allows passing in a device tree binary to the guest. Needed for
some non-x86 configurations.
2013-08-16 19:25:26 -04:00
Guannan Ren
5fd874e231 change virt-manager option spice-disable-usbredir to spice-disable-auto-usbredir
This is option is supposed to turn off Auto USB redirection feature
rather than USB redirection support. So adding 'auto' make it clearer.
And add its docs to manpage.
2013-08-16 11:51:58 -04:00
Giuseppe Scrivano
c1fa43ebb9 virt-manager: ignore VIR_ERR_NO_DOMAIN when a domain was just deleted
Some callbacks could try to access a domain that was just deleted and
not accessible anymore.  Detect these cases and don't propagate the
exception.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-08-16 11:51:15 -04:00
Leonardo Garcia
90d5748e09 Remove logging_setup, as it is always true. 2013-08-14 21:14:12 -04:00
Leonardo Garcia
66fb366416 Fix profile runcall. 2013-08-14 21:11:56 -04:00
Giuseppe Scrivano
da3237e8a6 virt-manager: automatically select newly created volume
When a new volume is created for a storage, automatically select it;
most likely it is what the user will choose to use.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

(crobinso: util is gone now, replace with uihelpers)
2013-08-14 20:42:27 -04:00
Giuseppe Scrivano
155a7f1f03 virt-manager: fix "Copy Volume Path" in storage pool details window
It fixes this error:

Traceback (most recent call last):
  File "virt-manager/virtManager/host.py", line 973, in copy_vol_path
    clipboard.set_text(target_path)
  File "/usr/lib/python2.7/site-packages/gi/types.py", line 113, in function
    return info.invoke(*args, **kwargs)
TypeError: set_text() takes exactly 3 arguments (2 given)

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-08-14 20:42:27 -04:00
Giuseppe Scrivano
f4918b3b32 virt-manager: prevent events while the storage pool model is accessed
It fixes this error:

Traceback (most recent call last):
  File "virt-manager/virtManager/storagebrowse.py", line 271, in pool_selected
    pool = self.current_pool()
  File "virt-manager/virtManager/storagebrowse.py", line 238, in current_pool
    return self.conn.get_pool(row[0])
  File "virt-manager/virtManager/connection.py", line 645, in get_pool
    return self.pools[uuid]
KeyError: 'bd9fd5ec-a35c-d84a-b9b2-2aca98f733c3'

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-08-14 20:42:27 -04:00
Giuseppe Scrivano
b3457b9d35 virt-manager: vmmCreateVolume uses the correct connection
Set the connection used by vmmCreateVolume everytime the window is made
visible.  This fixes a case where volumes could be added to the wrong
pool if the same vmmCreateVolume window was already used on a different
connection.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-08-14 20:42:27 -04:00
Giuseppe Scrivano
a8dbebd4ba virt-manager: fix refreshing storage pool browse list
The commit b044dd renamed vmmStoragePool.uuid to vmmStoragePool._uuid,
causing this error:

Traceback (most recent call last):
  File "virtManager/storagebrowse.py", line 280, in refresh_current_pool
    self.refresh_storage_pool(None, cp.get_uuid())
  File "virtManager/storagebrowse.py", line 243, in refresh_storage_pool
    if curpool.uuid != uuid:
AttributeError: 'vmmStoragePool' object has no attribute 'uuid'

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-08-14 20:42:07 -04:00
Cole Robinson
5ec2d0cb8e details: Also clear serial list in cleanup() 2013-08-14 20:10:42 -04:00
Giuseppe Scrivano
2751a134f2 virt-manager: do not delete tabs while destroying the details window
_close_serial_tab triggers the switch-page event and that can provoke a
refresh of the window.  This causes an error everytime the details window
is pointing to a domain that was just deleted.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-08-14 20:04:49 -04:00
Cole Robinson
cc75bc9311 guest: Remove needless functions
And simplify some test infrastructure as a result
2013-08-14 19:43:02 -04:00
Cole Robinson
7323b58862 osdict: Add Fedora 20 2013-08-12 13:32:30 -04:00
Cole Robinson
81ce0a1085 osdict: Clean up 'default' handling usage
- Unify looking up osdict values
- Have Guest.py pass in its defaults, not encoding them in osdict
- Explicitly specify every device parameter that osdict handles, rather
    than have some psuedo magic dictionary format to handle it
2013-08-12 13:31:47 -04:00
Cole Robinson
f220e6778c Guest: Drop OS listing helpers, and OS_TYPES back compat 2013-08-11 14:52:30 -04:00
Cole Robinson
e07154f997 osdict: Drop solaris back compat bits
Once upon a time solaris entries has typename="unix", but were moved to
typename="solaris". We maintained a link to the unix type for back compat,
but now the distinction doesn't matter at all, so drop it.
2013-08-11 13:52:53 -04:00
Cole Robinson
c426d5a16f Guest: Drop os_type, just use single os_variant
Internally the distinction hasn't been valuable for a long time,
so simplify the API here.
2013-08-11 12:39:36 -04:00