Commit Graph

138 Commits

Author SHA1 Message Date
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
Cole Robinson c85e8d84d0 details: Remove explicit CPU feature UI
Not too useful, and makes things difficult for us.
2014-01-31 10:43:56 -05:00