It relies on the presence of X cursor fonts in the system. Use
recommended gdk_cursor_new_from_name and use cursor names that works
on different backends.
Deprecated since Gdk 3.16
https://bugzilla.redhat.com/show_bug.cgi?id=1442612
If we set on_crash as `preserve`, we'll get a crashed
VM state.
At this time, it's impossible to start this VM.
Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
When showing all the OSes, the list of distributions for some types of
OSes (Linux, UNIX) will get insanely long, and thus very hard to scroll.
As solution, introduce groups for some of the OS families, leaving the
ones without a defined group into a "Others" group.
To keep the completion working in the editable combobox, add a separate
completion model for the completion entry, providing all the OSes
directly there as simple list.
There are a number of changes related to this:
- the model for the OS comboboxes is now a TreeStore, and the iterations
on the OS variant keep that into account
- there are better UI labels for OS types and groups
- when there are no groups for a type, add all the OSes directly, just
like now
- optimize the way types are added to the combobox: when not adding all
of them, filter out those not "supported"
- optimize the way OSes are added to the combobox: query only for the
list we need (supported or all, not both), and group them according
to the hash defined
- add separator + "show all" options only when not showing all of them
- _add_os_row now is called only when needed, so remove its "supported"
parameter
Seen in a bug log file:
[Tue, 28 Mar 2017 12:05:21 virt-manager 2465] DEBUG (cli:251) Uncaught exception:
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/details.py", line 1303, in refresh_vm_state
self.console.details_update_widget_states()
File "/usr/share/virt-manager/virtManager/console.py", line 1025, in details_update_widget_states
return self._update_vm_widget_states()
File "/usr/share/virt-manager/virtManager/console.py", line 597, in _update_vm_widget_states
self._refresh_widget_states()
File "/usr/share/virt-manager/virtManager/console.py", line 663, in _refresh_widget_states
self.widget("details-menu-vm-screenshot").set_sensitive(is_viewer)
TypeError: Argument 1 does not allow None as a value
This is in fact a bug in QEMU so we have to workaround this issue
to allow to connect to guest with VNC and listen type none.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1434551
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
When the Autostart checkbox on the host Virtual Network or Storage tabs
is deselected, the label reads "Never", and when selected the label reads
"On Boot". This changes these labels to always read "On Boot".
Add virtuozzo hypervisor to connection list.
Add radio buttons for choosing VM or container virtualization type.
New wizard window for setting template name for containers.
We don't have any way at the momemnt to synchronously update cached
object lists. So if old_nvram will create a pool for the nvram dir
(/var/lib/libvirt/qemu/nvram), new_nvram won't see that new object
in our cache, will attempt to create it itself, and raise an error.
Next attempts succeed though.
We can avoid this by not even setting new_nvram.path, that step was
redundant anyways since we are setting a vol_install right afterwards.
This way, new_nvram is getting a reference to the parent_pool object
via the vol_install, so it doesn't even check the pool object cache.
Libvirt storage API doesn't support renaming storage volumes so
we need to copy the nvram file and remove the old one.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1368922
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Libvirt doesn't support creating volumes for some storage pools,
don't generate default clone_path for these storage pools.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1420190
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
If we don't default to clone the disk in question don't try to generate
and assign default clone_path, this will force user to select the path
explicitly and avoid some unnecessary errors in debug log.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Similarly to virt-install --listen=none, add a combobox to select
the listen type: "address" or "none" for now, as suggested by Pavel
Hrdina.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Add an OpenGL checkbox to the Spice graphics options (only available if
SUPPORT_CONN_SPICE_GL).
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
If a package has no summary, try to use the description (if available):
- if it is just one line (mostly because the package manager only has
a single line as description of a package), then use it fully
- if it contains more lines, then take the first only, adding suspension
dots to indicate it is longer than that
Refresh the 'Information' page when there are new inspection data
available, so they can be seen even without switching to a different
page and back. This could be seen when starting virt-manager, and
opening quickly the 'Information' page of an uninspected guest.
Now we act for each item in the queue, so there is no more need to drain
it fully before doing anything. Thus, turn _run into a simple
get+process+done loop.
We might get 'conn-added' signals for the same connections more than
once, so make sure to skip a new connection notification when the
connection is already known.
Currently, the handling of the 'vm_added' element in the queue (added as
consequence of the 'vm-added' signal) is to act as trigger to rescan
every VM in every local connection; this operation is "fast" because
every VM except the newly added is already marked as visited. Still, it
is an not really efficient way to visit new VMs.
Instead, just push in the queue all the data we get in vm_added, so when
processing the queue we can process each VM straight away. Because of
this, make sure to gracefully handle VMs that were removed while the
'vm_added' item for them was sitting in the queue (which is something
the old code did not handle properly).
When connecting to remote SPICE we use ssh tunnel if the SPICE is
listening only on "localhost". Our ssh tunnel scheduler uses locks
to serialize the requests for FD in order to not spam user for ssh
password.
However when the main_channel is connected and emits AUTH_ERROR
we ask user for password and request for new FD. Unfortunately
after the new request is handled we didn't unlock the scheduler
and all other request would remain waiting for the lock.
We need to unlock every FD request for the SPICE main channel not
only the first one when the channel itself is created.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1401790
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
When there is no high quality icon for a guest, try getting the low
quality icon. This should make virt-manager show icons for Ubuntu and
Windows guests.