Commit Graph

139 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
1d98af2c47 create: Move mac address editing to customize dialog
People should rarely need to edit the mac address, so remove it from
the create wizard. However we only allow editing the mac address in
the 'customize' dialog: regular network details disables editing, since
that should be a rare and potentially dangerous operation.
2015-04-07 18:52:35 -04:00
Cole Robinson
938060ae53 domain: Fix customize dialog to show VM config with defaults set
Right now we aren't showing the defaults like disk buses, sound devices,
disk cache modes, etc. This is confusing to the user and not that useful.

Encode the defaults before launching the wizard, so the user can see what
the end config will actually look like.

This might cause weirdness if going back to the create.py wizard, but
we'll see if anyone complains before handling that.
2015-04-07 18:36:06 -04:00
Cole Robinson
be5c2c742c libvirtobject: Clean up the internal XML APIs
There was lots of redundancy and confusing semantics. Document functions,
drop a bunch of unneeded ones.
2015-04-07 17:41:29 -04:00
Cole Robinson
2a31ff0248 guest: Perform stable_defaults check using our emulator
Not passing an emulator is only for showing ideal defaults in the UI.
When doing internal checks, we only want to disable features if we know
the emulator doesn't support them.
2015-03-23 16:49:32 -04:00
Giuseppe Scrivano
61e06856a3 virt-manager: Allow to change SGIO with LUN disk devices
It is added only in the details window, and intentionally not added to
the addhardware UI to keep it simpler.  Users can edit this after a
new device is added.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-03-16 20:32:40 +01:00
Giuseppe Scrivano
ef286321f9 Fix an exception while a XEN domain is shutting-down
I've noticed twice today that 'guestcpus' was set to 0 while the
domain was shutting down.  Play safe and check that 'guestcpus' is > 0
before divide by it.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-26 11:08:57 +01:00
Cole Robinson
a04307cd70 virt-install: Add --boot uefi
Will enable UEFI if we know libvirt + hypervisor support it, and libvirt
is advertising a suitable UEFI binary.
2015-02-22 10:25:47 -05:00
Giuseppe Scrivano
51e5a47120 virt-manager: reset vgamem for video when changing device type
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1169295

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-12-01 17:02:22 +01:00
Guido Günther
1726505fd6 s/gconf/gsettings/
GConf got replaced by GSettings but some methods kept the old name
2014-09-29 08:56:37 -04:00
Cole Robinson
d1f36ac875 domain: Fix defining domain after migration 2014-09-29 08:55:47 -04:00
Laszlo Ersek
3e5b61da86 domain: relax the UNDEFINE_NVRAM condition precisely to libvirtd's one
(1) A separate nvram (ie. variable store) file for the domain exists if
and only if the following condition holds:

    (self.get_xmlobj().os.loader_ro is True and
     self.get_xmlobj().os.loader_type == "pflash")

(Refer to libvirtd's qemuPrepareNVRAM() function, as of commit 742b08e30.)

(2) The

    self.get_xmlobj().os.nvram

condition is sufficient, but not necessary, for the separate varstore file
to exist. That is, if the condition holds, then the separate varstore file
exists for sure, but if the condition doesn't hold, the file may exist
nonetheless. (Because libvirtd can auto-generate the varstore file's
pathname.)

This means that requiring condition (2) for setting UNDEFINE_NVRAM on
domain deletion will miss a subset of the cases, ie. when the necessary
and sufficient condition (1) holds, but the sufficient-only condition (2)
doesn't.

Make sure that the code uses the necessary and sufficient condition (1).

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
2014-09-22 12:32:31 -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
3feedb76e9 domain: Match UNDEFINE_NVRAM conditions with libvirt
Suggested-By: Laszlo Ersek <lersek@redhat.com>
2014-09-19 20:08:59 -04:00
Cole Robinson
ae26313ed4 details: Add UI for enabling UEFI via 'customize before install'
We expose a simple combobox with two entries: BIOS, and UEFI. The
UEFI option is only selectable if 1) libvirt supports the necessary
domcapabilities bits, 2) it detects that qemu supports the necessary
command line options, and 3) libvirt detects a UEFI binary on the
host that maps to a known template via qemu.conf

If those conditions aren't met, we disable the UEFI option, and show
a small warning icon with an explanatory tooltip.

The option can only be changed via New VM->Customize Before Install.
For existing x86 VMs, it's a readonly label.
2014-09-17 18:43:41 -04:00
Cole Robinson
ead9d3f56d domain: If VM has nvram, ask libvirt to remove it on undefine 2014-09-17 18:35:20 -04:00
Cole Robinson
226c4562d5 virtManager: Switch to relative imports 2014-09-12 16:28:38 -04:00
Cole Robinson
5041529822 domain: Cache autostart value 2014-09-12 16:28:37 -04:00
Cole Robinson
1662f75e07 domain: Grab snapshot info at domain init time 2014-09-12 16:28:37 -04:00
Cole Robinson
1cf4671f85 domain: Prime the XML cache when object is created 2014-09-12 16:28:37 -04:00
Cole Robinson
f36d2ed960 domain: Remove the description/title hotplug hacks
We would unconditionally read VM description/hotplug from the inactive
domain XML, this allowed us to emulate metadata hotplug where it wasn't
implemented. However this means we end up doing many needless XMLDesc
calls, which slows down connection startup for low latency connections.

Since SetMetadata has been in libvirt for 2 years now, drop this hack.
2014-09-12 16:28:37 -04:00
Cole Robinson
b398a46e9b domain: Cache has_managed_save value
Otherwise we call it every time a domain row is selected, which makes
things choppy on remote connections.
2014-09-12 16:28:37 -04:00
Chen Hanxiao
2f4a424521 use binary prefixes for units where appropriate
https://bugzilla.redhat.com/show_bug.cgi?id=1103893

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-06-16 11:56:53 +08: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
091eb9fe26 details: Expose LXC <initarg> 2014-05-31 17:34:23 -04:00
Cole Robinson
9369ad3ac0 virt-manager: Allow setting interface portgroup element
We only show the option if the selected virtual network actually has
portgroups listed in its XML
2014-05-31 15:51:24 -04:00
Cole Robinson
519e3b5768 connection: Log when objects are added/removed 2014-05-31 13:52:13 -04:00
Cole Robinson
cddb9cc426 domain: Clearer debug message when status update fails 2014-05-02 10:13:33 -04:00
Cole Robinson
7fb0aa05a2 domain: Emit debugging message when we update status 2014-05-02 10:08:39 -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
eee5061af8 details: Rework all define and hotplug operations
Rather than register a bunch of functions to call, lump it all into
one function per page. This allows us to easily call UpdateDevice
unconditionally, to pick up any addition hotplug operations that
become available via libvirt and qemu.
2014-03-22 16:48:00 -04:00
Cole Robinson
994b1fa4f4 connection: Add explicit API for getting virConnect object 2014-03-20 14:04:29 -04:00
Cole Robinson
7cc76a9c54 domain: Fix viewing details of xen management domain 2014-03-20 14:04:29 -04:00
Giuseppe Scrivano
ef2206a8f5 virtManager: read the reason for the domain state
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-03-20 08:48:47 +01:00
Chen Hanxiao
e9519a2f9a domain: fix a typo
s/checkig/checking

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-03-12 15:36:59 +08:00
Chen Hanxiao
77553c7e49 ui: disable setting uid/gid_start for user namespace
Libvirt not allowed uid/gid_start
configured as none 0 or not specified.
This patch will disable config uid/gid_start in UI.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-02-27 10:01:29 +08:00
Thorsten Behrens
b5c3fe1da5 Attempt empty path on virDomainBlockStats
libvirt for some backends yields summary domain stats for empty
disk path - which saves us the looping on our side.
2014-02-24 21:38:20 -05:00
Chen Hanxiao
49cbc20b12 domain: add define method for idmap
add define_idmap and get_idmap method.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-02-24 21:37:13 -05:00
Cole Robinson
1401cda924 domain: pmsuspended domains can be turned off 2014-02-11 16:40:37 -05:00
Cole Robinson
875e3cdc7b domain: Remove old libvirt curvcpus back compat
It shouldn't matter much nowadays
2014-02-11 16:23:51 -05:00
Cole Robinson
d220cc5d52 preferences: Allow disabling VM CPU poll
With this, the only libvirt API call we hit on each tick is the
connection nodeinfo.
2014-02-11 15:45:05 -05:00
Cole Robinson
a70b836b2d domain: Move get_title near similar get_description 2014-02-11 15:45:05 -05:00
Cole Robinson
c7cd6ca2d3 Use libvirt events for domain lifecycle tracking (bz 836703)
When events were successfully registered, we skip the VM listing on
every tick, and instead trigger a manual refresh whenever a VM event
is received. Not as efficient as it should be, but saves us a lot of
API calls.
2014-02-11 15:45:04 -05:00
Cole Robinson
82754ddc84 Expose hostdev rombar in UI and cli (bz 768857) 2014-02-10 14:25:23 -05:00
Cole Robinson
4a006b5ff8 details: Expose fine grained boot config
Basically put an explicit device list in the boot UI, if the hypervisor
supports it. For unsupported hv, use the same old disk/cd/floppy/net UI.
2014-02-10 13:34:17 -05:00
Cole Robinson
f5c32063e4 wip 2014-02-05 14:09:05 -05:00
Cole Robinson
d3bd70daca migrate: Remove misleading 'offline' option (bz 881092)
We acted like it would migrate a shutoff VM, but it just toggled
the LIVE flag. We should support true 'offline' migration, but
the UI will be different.
2014-02-01 18:17:17 -05:00
Cole Robinson
09390b8151 snapshots: Show indication of the 'current' snapshot (bz 1017385) 2014-02-01 11:25:35 -05:00
Cole Robinson
17c0ae3a3c domain: Reset net/disk skip lists when VM is inactive (bz 796092)
Racey shutdown can mean we try to poll disk stats at a time when
it won't work. Resetting the lists give things a chance to work
correctly when the VM is rebooted.
2014-02-01 08:15:24 -05:00
Cole Robinson
90c9b3ca2e details: Reword the CPU model UI a bit more
- Add options in the model drop down for clear, hvdefault, and app default
- Make 'copy host' a check box, when enabled it hides the model dropdown
- Detect if the VM CPU is a copy of the host CPU
- Undocumented bit that allows passing in host-model/host-passthrough
    to the model field for people that really want those settings.
2014-01-31 13:40:09 -05:00