Commit Graph

200 Commits

Author SHA1 Message Date
Cole Robinson
bd27910b6f create: Pass correct connection to install for detection 2014-03-19 20:10:59 -04:00
Cole Robinson
d2ad2bcf94 create: Clarify some bits in change_caps 2014-03-12 11:51:15 -04:00
Cole Robinson
1230ab57a9 create: Remove self.caps, it's redundant 2014-03-12 11:42:50 -04:00
Cole Robinson
1cf8b62990 create: Invalidate cached caps across similar connections (bz 1075444) 2014-03-12 11:37:36 -04:00
Cole Robinson
7c516b382c create: Don't alter caps machine list 2014-02-17 11:56:54 -05:00
Cole Robinson
63b27ceae1 caps: Simplify guest lookup routines
Checking for acceleration should always be done, API users can opt out
by requesting a specific domain type.
2014-02-17 11:54:11 -05:00
Cole Robinson
a37b200f69 create: Fix non-x86 qemu/kvm guest creation 2014-02-17 10:24:59 -05:00
Cole Robinson
d0f44491ff cli: Warn if disk path isn't searchable by qemu 2014-02-10 18:09:15 -05:00
Cole Robinson
2ffd5a66e6 guest: Add single entry point for adding default devices 2014-02-07 16:07:32 -05:00
Cole Robinson
404b5dedc2 create: Don't log inaccurate 'close' message 2014-02-05 14:25:01 -05:00
Cole Robinson
c37d0db001 create: Drop unused property 2014-02-05 14:24:44 -05:00
Cole Robinson
f5c32063e4 wip 2014-02-05 14:09:05 -05:00
Cole Robinson
7a825d9a28 virt-install: Add usbredir channels by default if using spice
Can be disabled with --redirdev none
2014-02-05 13:07:01 -05:00
Cole Robinson
f635187bb8 virt-install: If using spice graphics, add <sound> by default
Can be disabled with --sound none
2014-02-05 12:51:27 -05:00
Cole Robinson
8618a3abd7 prefs: Add 'Add SPICE USB redirection' option, enable it
For qemu guests that are using spice, add 4 redirdevs so USB redirection
happens for free. This can be disabled in the preferences dialog.
2014-02-04 15:27:56 -05:00
Cole Robinson
1ab206a3eb virt-manager: create: Disable s3/s4 by default (bz 1044145)
I don't think most virt-manager users want this enabled, since it can
make the shutdown button cause a VM suspend. If people complain we can
provide a Preference or UI in the boot screen to undo it.
2014-02-03 14:22:15 -05:00
Cole Robinson
00d5312bd6 Break out shared storage creation UI to addstorage.py 2014-01-29 09:22:28 -05:00
Cole Robinson
8bb9853ec8 Move shared cdrom media UI to mediacombo.py 2014-01-28 14:20:57 -05:00
Cole Robinson
745ec7cb96 create: Reinit netlist on each run
Will be easier to handle if we make the netlist react to connection
signals.
2014-01-28 13:59:31 -05:00
Cole Robinson
169ae1203d Break out shared network list UI to netlist.py
Use this to show vport stuff in addhw, give a warning about macvtap
networking, and allow macvtap from the create wizard.
2014-01-28 10:00:06 -05:00
Cole Robinson
889ec18031 uiutil: Use list selection helpers everywhere 2014-01-27 10:46:14 -05:00
Cole Robinson
2771511946 uiutil: Make more use of set_combo_text_column 2014-01-26 21:35:42 -05:00
Cole Robinson
708a2737cf Split uihelpers into sharedui and uiutil
Reserve uiutil for the little gtk helper functions, rest goes into shared
UI (which all should probably be factored into their own files but thats
a task for another day)
2014-01-26 18:15:50 -05:00
Cole Robinson
58d5e0b799 uihelpers: Move a few more functions closer to their callers 2014-01-26 17:51:15 -05:00
Cole Robinson
20088ab8fb Move many shared UI functions to addhw static functions
Much of uihelpers is just simple stuff that's shared between addhw
and details UI, so just make it staticmethods in addhw, which details
already has a reference to.
2014-01-26 17:09:07 -05:00
Giuseppe Scrivano
f2dbae6118 create: show correctly the list of supported OS
Do not show only the OS supported stable when stable_defaults is not
used.  commit dc0b9bbaaf introduced this
issue.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-01-24 09:33:35 +01:00
Martin Kletzander
dc0b9bbaaf Rename hide_unsupported_rhel_options to stable_defaults and clean-up its usage
There were multiple problems with the setting and usage of
hide_unsupported_rhel_options.  Due to the fact that the option has
several diferent namings throughout the code, this patch is renaming
it to stable_defaults, which basically says what the option does and
makes it possible to use it without need for more than one negation
(where the old code had up to 4 of them in some places), which also
helps understanding it.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2014-01-21 17:13:18 +01:00
Cole Robinson
a82b60dcff capabilities: Remove some public API back compat 2014-01-18 13:23:30 -05:00
Cole Robinson
7003a3a528 prefs: Allow changing the default VM CPU mode/model config
Add a preference for changing the default CPU mode/model. The options are:

- default (whatever virt-manager chooses as the default)
- hypervisor default (no <cpu> block, what we've always done)
- nearest host cpu model (just the 'model' from caps->host->cpu)
- copy host cpu (the entire <cpu> block from caps->host)

The setting only applies to KVM guests, not tested with anything else.
The default is left as is for now (hypervisor default).

copy host CPU will one day use mode='host-model', when it does what
we want. At that point we will probably make it the default
2014-01-17 17:41:26 -05:00
Cole Robinson
66096a7eeb choosecd: Check path-in-use collision (bz 1028197) 2014-01-14 17:11:51 -05:00
Cole Robinson
6dd41e6944 create: Disable 'fully allocate' if qcow2 is the default
Since it doesn't support full allocation
2014-01-14 16:03:58 -05:00
Cole Robinson
dd57f2f221 create: Don't reset method choice when arch changes if it's still valid 2014-01-12 14:41:25 -05:00
Cole Robinson
8dcb65bd50 create: Fix default qemu-ga setup (bz 1016613)
We were adding default devices before setting the OS value, which qemu_ga
setup depends on.
2013-11-09 18:52:05 -05:00
Giuseppe Scrivano
0df75c7603 headers: update "Red Hat, Inc." copyright for the year 2013
Ensure that any file touched by a @redhat.com author in 2013 has an
updated copyright header.

The files were updated using the build-aux/update-copyright gnulib
script and manually added where the copyright line wasn't present.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-10-28 17:22:26 +01:00
Cole Robinson
56b9f6187b Streamline support checks
Just use one function check_support
2013-10-06 10:08:04 -04:00
Cole Robinson
18fa751059 Add qemu-guest-agent channel automatically for supported OS 2013-10-06 09:19:59 -04:00
Cole Robinson
dae3678d26 guest: Absorb more default device checks 2013-10-06 08:30:33 -04:00
Cole Robinson
8e460dce1d create: Hide arch expander if there aren't any connections 2013-10-05 10:31:02 -04:00
Cole Robinson
ca5e849ec6 create: Reset distro detection labels after each run 2013-10-05 10:29:16 -04:00
Cole Robinson
18d8512699 Move the 'default graphics type' logic into Guest
So we can share it, and make virt-install more robust
2013-10-02 18:06:52 -04:00
Cole Robinson
a2cbb9f500 support: s/CONN_HV/CONN/g
We don't need to distinguish these days.
2013-10-02 16:41:23 -04:00
Cole Robinson
9c57c72eac Default to adding USB2 for new enough KVM
We enable this for virt-install as well. To avoid it, you can do either

--controller usb,model=none or --controller usb
2013-10-02 15:54:35 -04:00
Cole Robinson
9194feb1f5 virt-manager: Default to qcow2 on kvm
qcow2 enables fancy features like snapshots and is generally more
desktopy, which we purport to be.

We only do this on not horribly old libvirt/qemu, and only on qemu
connections. This may work for xen but I'm not going to turn it on
until someone tests it.
2013-10-02 15:34:34 -04:00
Cole Robinson
7b264eac74 create: Don't add graphics for arm 2013-10-02 13:30:18 -04:00
Cole Robinson
83b6dc7ea4 create: Incorporate non-default arch into default guest name 2013-10-02 13:23:49 -04:00
Cole Robinson
fc2cef8eb2 create: Sort arch and mach lists, put supports variants at the top 2013-10-02 13:23:49 -04:00
Cole Robinson
7c7f3ad0b2 create: Fix some spacing issues 2013-10-02 12:35:59 -04:00
Cole Robinson
d6f96f72d5 create: Add kernel/initrd install option for arm
Basically just show kernel/initrd options for the 'import' install
method on non-x86.
2013-10-02 12:35:59 -04:00
Giuseppe Scrivano
89ba152f00 Fix a problem in the create window
This error is fixed:

Traceback (most recent call last):
  File "src/virt-manager/virtManager/create.py", line 335, in reset_state
    self.set_conn(activeconn, force_validate=True)
  File "src/virt-manager/virtManager/create.py", line 201, in set_conn
    self.set_conn_state()
  File "src/virt-manager/virtManager/create.py", line 594, in set_conn_state
    self.conn.netdev_error, True)
  File "src/virt-manager/virtManager/create.py", line 611, in set_net_warn
    net_warn_icon.set_visible(show_warn)
  File "/usr/lib/python2.7/site-packages/gi/types.py", line 113, in function
    return info.invoke(*args, **kwargs)
TypeError: Argument 1 does not allow None as a value

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2013-10-02 15:39:16 +02:00
Cole Robinson
71350543d1 create: Desensitive irrelevant install options if arch changes 2013-10-02 07:35:02 -04:00
Cole Robinson
c18c94d157 create: A couple mini layout tweaks 2013-10-01 17:55:27 -04:00
Cole Robinson
42389214af create: Add 'machine' option for non-x86 arch 2013-10-01 17:40:44 -04:00
Cole Robinson
0697e5f349 create: More arch/type handling
Hide the 'type' field on non-xen: we shouldn't need to expose
kvm vs. qemu in the UI, just assume if kvm is available we use it.

Hide arch if there's only one available. And hide the whole expander
if we hid both sub fields.
2013-10-01 17:27:58 -04:00
Cole Robinson
67c62e68de create: Move name to last page, arch/type to first page
Moving name to the end allows us to do things like generate a default
name based on the chosen OS type, which we do here. This is bz 736951

Moving arch/type to the front page of the wizard simplifies validation
and will be needed to intuitively install arm guests without a bunch
of hacky workarounds.
2013-10-01 16:53:59 -04:00
Cole Robinson
60b7365ae9 Use consistent widget names for create wizard headers
Makes copying code around simpler
2013-09-27 10:56:52 -04:00
Cole Robinson
c5f5d5ad9d urlfetcher: Clean up APIs for fetching URL media 2013-09-26 14:28:13 -04:00
Cole Robinson
d338bce329 Rename ui files to match source file names 2013-09-22 16:10:16 -04:00
Cole Robinson
e91cc84770 uihelpers: Add VMActionMenu, share between manager and systray 2013-09-22 15:45:53 -04:00
Cole Robinson
1683d56b8d ui: Set non-stock button images in glade, not explicitly in code 2013-09-22 12:33:02 -04:00
Cole Robinson
aff0ddb259 Use XMLBuilder for Storage object handling
Simplify the API a bunch while we are at it, add tests, etc.
2013-09-20 10:00:08 -04:00
Cole Robinson
36c669d45a Replace get_property("sensitive") with get_sensitive 2013-09-09 11:02:34 -04:00
Cole Robinson
6869760732 asyncjob: Fix issues with multiple dialogs (bz 1003101)
Basically, drop usage of nested main loops. As has been documented in
other commit messages, we use nested main loops in ways they aren't
supposed to be used. They gave us async behavior that would block
callers, but had weird behavior in some edge cases.

Switch to having async dialogs be 100% async, requiring the user to
pass in a completion callback which is triggered after the async
action is complete.
2013-09-06 21:30:19 -04:00
Cole Robinson
9d87b0d342 Replace set_property("visible") with modern set_visible 2013-09-01 20:18:14 -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
f220e6778c Guest: Drop OS listing helpers, and OS_TYPES back compat 2013-08-11 14:52:30 -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
Cole Robinson
87789548ba guest: Drop consolecb and wait parameters from start_install 2013-08-11 12:39:28 -04:00
Cole Robinson
7c55cfeb39 virtManager: Drop util, combine it with virtinst.util and uihelpers 2013-08-11 12:39:28 -04:00
Cole Robinson
bf7773ce58 Guest: Drop add_device set_defaults option
Was only used to fix one bug, but has too many side effects. Just
fix it at the caller.
2013-07-25 15:04:47 -04:00
Cole Robinson
012d1cdc52 Installer: Drop all XML handling, just have it setup install info 2013-07-23 17:34:33 -04:00
Cole Robinson
f37d4d010a virtinst: Drop __init__ params from Guest and Installer 2013-07-23 17:34:32 -04:00
Cole Robinson
524d1047b1 Guest: Make API users opt in for default console/input devices
We don't need to maintain API back compat anymore
2013-07-23 17:34:32 -04:00
Cole Robinson
dc58d48a33 VirtualGraphics: Drop non-default __init__ params 2013-07-15 20:43:41 -04:00
Cole Robinson
3ae835dc7c VirtualNetworkInterface: Drop all XML __init__ params 2013-07-15 14:14:05 -04:00
Cole Robinson
c12327cbd1 Guest: Switch memory units to KB to match default XML 2013-07-13 23:07:01 -04:00
Cole Robinson
4ce1774d53 VirtualDisk: Rework provisioning and validation behavior
We separate all the provisioning bits to diskbackend.py. VirtualDisk
users now need to explicitly opt in to storage creation by using
set_create_storage().

validation is no longer done automatically, users must call the
validation() command.

__init__ drops all extra parameters.

This will eventually get us to a point where we can unify the manual
XML building and XML parsing machinery, and get consistent validation
behavior between devices.
2013-07-13 16:37:33 -04:00
Cole Robinson
2ca9e364a5 uihelpers: Drop global error dialog
Just have callers pass one in.
2013-07-09 09:20:43 -04:00
Martin Kletzander
f08313513b Use proper disk targets.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=968878

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2013-07-09 09:12:53 -04:00
Cole Robinson
bbf54d7a08 uihelpers: Fix error showing dialog if default pool isn't started 2013-07-09 09:12:26 -04:00
Cole Robinson
0ee5ddbf54 create: Drop host storage timer
It's kind of needy to be doing a pool.refresh every 3 seconds, and really
I'm fine with telling people they have to close and reopen the wizard to
get up2date host size reporting.
2013-07-07 19:00:57 -04:00
Cole Robinson
9d560f7d9a VirtualDisk: Always return VM names from is_conflict_disk 2013-07-07 16:34:46 -04:00
Cole Robinson
5e9e444dec connection: Do non-VM polling on demand
The goal here is to reduce the amount of tick() polling that we do by default.
For things like pools, networks, and interfaces, the constant polling is
not very helpful and causes CPU churn and slowness for remote connections.

Switch to a more on demand style. Pages that want new information for
these objects now request a priority tick that only refreshes the info
we want.

This isn't perfect, but neither was the previous solution in the face of
things like XML updates behind our back. The real solution here is libvirt
event support across the board.
2013-07-07 12:17:54 -04:00
Cole Robinson
76887c9a32 engine: Switch tick threading model to use queues
And allow other parts of the API to request a priority tick that is
dispatched from the main tick thread.
2013-07-06 21:24:38 -04:00
Cole Robinson
94f8d4cfa9 VirtualConnection: cache capabilities XML
This means we can drop passing around the pre-parsed caps info everywhere.
2013-07-06 14:12:13 -04:00
Cole Robinson
ba3aa9ecca Drop conn_max_vcpus validation
Let's just let libvirt throw an error in the rare occasion that we
exceed max vcpus.
2013-07-06 12:40:24 -04:00
Cole Robinson
492a039f7d VirtualConnection: proxy virtinst.support API
Simplifies the lives of callers, and will allow us to do caching later
2013-07-06 12:40:24 -04:00
Cole Robinson
57e86259d8 Make conn required for all virtinst objects
This was the way the API had been heading, this just formalizes it.
2013-07-05 20:28:21 -04:00
Cole Robinson
be2d9ddcb4 Add base conn object and bump minimum libvirt version to 0.6.0
This base connection object will be used to simplify the API in various
places, reduce libvirt API calls, and better share code between virtinst
and virt-manager. For now it just centralizes connection opening.

This also exposed various places where our handling for older libvirt
was busted, so raise our minimum host version to 0.6.0, the first
version that supports threaded client requests.
2013-07-05 16:42:19 -04:00
Cole Robinson
255ba11079 virt-manager: Drop remnants of read-only connection support
Haven't supported it for a while
2013-07-05 09:00:31 -04:00
Cole Robinson
ea2a1331cf virtinst: Guest: Simplify passing in a connection 2013-07-03 13:37:00 -04:00
Cole Robinson
2f09a3665c prefs: Remove distinction between local and remote sound
Remote sound works fine these days. If people want to turn the
preference off, they probably want to do it in all cases, and can
'customize before install' to alter the rest.
2013-04-23 14:21:46 -04:00
Cole Robinson
7e23244096 Port from gconf to gsettings
This unfortunately has a decent amount of fallout: add a wrapper class
in config.py that reduces much of the churn.

Another big piece is that gsettings can't accept arbitrary paths like
gconf would, everything needs to be described in the schema.

Also do a bunch more RPM spec modernizing
2013-04-18 12:43:16 -04:00
Cole Robinson
02733ecff4 virtinst: util: Simplify randomUUID 2013-04-13 15:48:06 -04:00
Cole Robinson
0d243983d0 Revive pep8 and clean up the code
autopep8 is pretty cool :)
2013-04-13 15:22:43 -04:00
Cole Robinson
baf531f710 virtinst: Guest: Remove back compat static device lists 2013-04-13 13:40:45 -04:00
Cole Robinson
9359ad2bb6 virtinst: Remove ParaVirt and FullVirtGuest
They were just around for back compat at this point, the tools
have moved on.
2013-04-13 13:40:45 -04:00
Cole Robinson
ae471007fc Tons of misc pylint fixes 2013-04-13 13:40:29 -04:00
Cole Robinson
9515a8575d Disable pylint warnings about gi.repository
Since pylint still can't handle the dynamic nature of gobject
introspection.
2013-04-12 08:27:45 -04:00
Cole Robinson
a386186c74 Remove most map() and filter() usage
They aren't available on python3 so pylint complains, and list
comprehensions are usually better.
2013-04-12 08:27:44 -04:00
Cole Robinson
9d05583c26 Remove autotools, replace with distutils-extra
Despite being a known quantity, autotools is so overkill for our needs,
so let's drop it and replace it with a much simpler and easy to customize
system.
2013-04-03 18:20:51 -04:00