Commit Graph

882 Commits

Author SHA1 Message Date
Cole Robinson
82e9684fa6 urlfetcher: Make debian treearch checking more generic
Use regex parsing rather than a whitelist
2015-03-27 13:06:26 -04:00
Mauricio Faria de Oliveira
0dc334fa58 Add ppc64el support for 'virt-install --location' (Debian/Ubuntu)
The installation of Debian/Ubuntu for ppc64el (a.k.a. ppc64le on Fedora/RHEL)
fails with 'virt-install --location', as the arch dir and kernel filename
are not correct for this arch/distros.

This patch fixes it by adding checks for 'treeArch' and 'hvm_kernel_paths'.

Signed-off-by: Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
2015-03-27 12:30:04 -04:00
Cole Robinson
e125aa69d8 nodedev: Handle busted 'system' XML
Libvirt can generated invalid XML for the system nodedev device:

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

This hits at least two people, so catch this specific case, but the
real fix is libvirt not outputing busted XML.
2015-03-26 18:04:23 -04:00
Cole Robinson
dc1737e623 cpu: Drop vendor and features if setting host-model (bz 1190851)
Otherwise via virt-manager we can try to set a <cpu> with a <vendor>
but no <model>, and libvirt complains.
2015-03-26 17:08:15 -04:00
Cole Robinson
7866e291f6 guest: Never use vmvga if host is RHEL (bz 1147662)
We basically need to do this independent of whether the build is configured
for RHEL defaults or not
2015-03-25 09:04:51 -04:00
Cole Robinson
cfe9e7dc7e virt-install: Make '--cpu none' work with aarch64 2015-03-23 17:46:09 -04:00
Cole Robinson
08a72a4aec connection: Clean up stable_defaults, improve test coverage 2015-03-23 16:49:32 -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
Cole Robinson
590e4772eb connection: Fix error checking stable_defaults
This should fail when run against actual RHEL capabilities output
2015-03-23 16:39:49 -04:00
Cole Robinson
0273ee2fac tests: Move some test suite hacks into the code, increase coverage 2015-03-23 16:25:31 -04:00
Cole Robinson
7a1b7b69e3 Drop non-ascii text from files
Seems to be tripping up coverage output on f22
2015-03-23 15:56:55 -04:00
Cole Robinson
c6481f6c5d cli: Drop needless assignment that confuses pylint 2015-03-23 14:03:52 -04:00
Pavel Hrdina
1689677482 virtinst/cli: don't use hard-coded path for binaries
The binaries could be installed somewhere else and we should not
hard-code the binary paths.  This patch allows non-root user to build
their own virt-viewer/virsh, set the PATH env and run virt-manager
tests.

(crobinso: Fix check_output args, alphabetize imports)

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Message-Id: <ddf77f9519da580c8d5f3df0f56bdb36d5c000fa.1427117670.git.phrdina@redhat.com>
2015-03-23 13:31:49 -04:00
Giuseppe Scrivano
31836e2b5d virtinst: add support for <disk> sgio attribute
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-03-16 20:32:40 +01:00
Giuseppe Scrivano
64264e8fa2 Disable domain events with XEN
When XEN is used, disable domain events and use polling.

On RHEL-5.9 virDomainInfo() seems to not report correctly the domain
status when called immediately after the event is received.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-26 11:08:57 +01:00
Giuseppe Scrivano
478ba6d885 Use virtio-net only when it is supported
Do not use the model specified by the OS if it is "virtio-net" and
virtionet is not supported.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1177113

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-25 15:32:54 +01:00
Giuseppe Scrivano
00aea929ef tests: check that vmvga is not used on RHEL
And fix typo in last commit

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-24 19:03:59 +01:00
Giuseppe Scrivano
6c61e66ff7 Do not use vmvga on RHEL
Fallback to VGA

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1179652

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-24 17:44:23 +01:00
Giuseppe Scrivano
7b630c00a0 Move stable_defaults from vmmConnection to VirtualConnection
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-02-24 17:44:23 +01:00
Cole Robinson
0befc54abe details: Handle libvirt reporting multiple firmware paths 2015-02-22 11:19:50 -05:00
Cole Robinson
4ee9fdf944 domcapabilities: Get arch from caps XML 2015-02-22 11:13:59 -05:00
Cole Robinson
a5b3e2adab create: Try to default to UEFI for aarch64
If we detect AAVMF, set it up, and allow all install options.
If we don't find AAVMF, disable all options except import install (the
current behavior) and show a warning.
2015-02-22 10:25:51 -05: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
Cole Robinson
760465fd2b support: Rename variable for easier debugging 2015-02-22 10:25:47 -05:00
Cole Robinson
4efc814d7f connection: Add domain caps handling for fake URIs
Allows us to pass in custom domcaps content for testing purposes
2015-02-22 10:25:47 -05:00
Cole Robinson
6e2e43b178 storage: Fix some pylint on libvirt without REFLINK flag 2015-02-22 10:25:47 -05:00
Cole Robinson
271e248a41 storage: Fix test failures with reflink check 2015-02-22 10:13:27 -05:00
Chen Hanxiao
4622a0a8f8 virt-clone: introduce --reflink for btrfs COW copy
libvirt commit 466b29c8c3593b2dac92acad5dd8ec923c428259
introduce btrfsCloneFile() for COW copy.
This patch add support for --reflink option for virt-clone.
When specified --reflink, if src and dst images all on a btrfs
fs, we could take advantage of COW copy.
If not, error out.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-02-07 10:18:05 +08:00
Anatoly Belikov
e44b95149b devicedisk: fix source name attribute for gluster volumes
(crobinso: Small code tweak, and add test cases)
2015-01-29 11:31:43 -05:00
Cole Robinson
a1d82a162c devicedisk: Add logging of pool/vol XML 2015-01-29 10:20:18 -05:00
Cole Robinson
9464ca3dcf cli: Fix debug message formatting 2015-01-29 10:03:35 -05:00
Giuseppe Scrivano
cbba1c4dd3 virt-manager: disable HYPER-V on Windows 2008 R2 and Win7 SP1 with UEFI
Windows 2008 R2 or Win7 SP1 guests do not work when UEFI and HYPER-V,
so just disable HYPER-V.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1185253

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-01-27 13:38:24 +01:00
Prerna Saxena
232507b4e9 Add support for PowerPC Little Endian (ppc64le) architecture.
This enables virt-install to create VMs based on ppc64le architecture.

(crobinso: fix minor pylint)

Signed-off-by: Prerna Saxena <prerna@linux.vnet.ibm.com>
2015-01-09 10:47:52 -05:00
Cole Robinson
aa772f01e1 guest: Prefer virtio-scsi for arm mach-virt
Since it gives us disk hotplug, and CDROM devices, etc.

This requires fairly recent patches to UEFI/OVMF/AAVMF
2014-12-17 15:23:05 -05:00
Chen Hanxiao
cbe5ca4c7d cloner: fix a doc typo
s/It/If

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-12-15 09:42:08 +08:00
Cole Robinson
6871ee0c91 urlfetcher: Hint at the user if URL appears unaccessible 2014-12-10 13:57:10 -05:00
Gabriel de Perthuis
24faf86750 URL installs: remove hasFile("") check
Specialised proxies like apt-cacher-ng disallow directory listing.
OSDistro subclasses do have checks for known files and they are
sufficient.
2014-12-10 13:46:11 -05:00
Cole Robinson
8a96406902 man: Document --disk $URL format 2014-12-10 13:22:42 -05:00
Cole Robinson
0370d3b796 devicedisk: Never raise error for missing TYPE_VOLUME
We can't predict when it's expected or not, so just never raise the
error and let libvirt error if the user is trying do things at
create time.
2014-12-10 13:22:42 -05:00
Cole Robinson
9ae3dbe05b virt-install: Fix --disk pool=NETPOOL,size=... creation 2014-12-10 13:22:42 -05:00
Cole Robinson
e1ab165b1a cli: Don't try to create storage with source_pool + size 2014-12-10 13:22:42 -05:00
Cole Robinson
117cbfe12f devicedisk: Don't set driver name=unknown for rbd vols 2014-12-10 13:22:42 -05:00
Cole Robinson
12340a3858 diskbackend: Try looking up network volumes by path
For gluster volumes, which have unique URLs for volume paths, this
makes selecting network volumes via the storagebrowser UI work.

Sheepdog and RBD volumes don't work yet
2014-12-10 09:04:29 -05:00
Cole Robinson
464ebabc5a virt-install: Wire up --disk vol= for network volumes
This involves convering pool/vol XML to disk source bits
2014-12-09 18:23:22 -05:00
Cole Robinson
214872498d test: Set volume type in testdriver XML 2014-12-09 17:50:16 -05:00
Cole Robinson
626295a036 storage: Remove unused function 2014-12-09 17:42:01 -05:00
Cole Robinson
f7c17d4c46 diskbackend: Mandate parent_pool when vol_object is passed
We will need parent pool for looking up info about network volumes
2014-12-09 17:03:48 -05:00
Cole Robinson
208672eea9 diskbackend: Minor simplifications 2014-12-09 16:57:32 -05:00
Cole Robinson
e61311fc8a storage: More support for network pools
Including parsing multiple hosts, filling reasonably defaults, making
sure the createpool wizard does the correct thing, etc.
2014-12-09 16:12:47 -05:00
Cole Robinson
838d7f015c tests: Drop a bunch of redundant xmlconfig tests
These are mostly covered by clitests. Keep the important ones around
for code coverage.
2014-12-09 13:19:56 -05:00
Cole Robinson
9f4d03d31a storage: Really don't use PREALLOC flag with test driver
Even if we are trying really hard to fake looking like qemu/kvm
2014-12-09 13:14:12 -05:00
Cole Robinson
9952764dda virt-install: Make --disk $URL 'just work'
If VirtualDisk.path is set to a URL, parse it and fill in all the
source_* values automagically.
2014-12-09 10:45:26 -05:00
Cole Robinson
3ac272e635 uri: Add unit tests, fix some bugs 2014-12-09 10:15:53 -05:00
Cole Robinson
1c79b936f5 diskbackend: Check if the passed path is a url 2014-12-09 08:44:45 -05:00
Cole Robinson
c5ccd68e4d devicedisk: Handle an empty storage backend
Rather than have every little bit depend on a present storage backend,
only create one when it really matters.
2014-12-09 08:44:45 -05:00
Cole Robinson
f0b8062226 devicedisk: Unify StorageCreator vs StorageBackend handling 2014-12-09 08:44:45 -05:00
Cole Robinson
db0942bd09 diskbackend: Document the various classes 2014-12-09 08:44:44 -05:00
Cole Robinson
cff08223ba util: Move uri_split to its own URISplit class
Does what uri_split did, but wraps it all up in an object that makes
handling the data easier, and makes it easy to extend.
2014-12-09 08:43:19 -05:00
Chen Hanxiao
802e57ea5e diskbackend: fix some comment typos
s/if/If
s/a/an

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-12-09 15:53:21 +08:00
Cole Robinson
00957db6e0 devicedisk: Clarify _xmlpath 2014-12-07 10:08:33 -05:00
Cole Robinson
cd305da3f8 virt-install: support network --disk's
Handle type=network in devicedisk.py, and wire up all the network fields
for virt-install --disk. Right now it requires manually spelling out
all the protocol, name, host/port etc fields.

The one 'magic' bit is that VirtualDisk.path will be a pretty URL when
all those network fields are specified. This is keeps things mostly
working in various parts of the code where we expect 'path' to be an
identifier for a VirtualDisk.
2014-12-06 21:00:51 -05:00
Cole Robinson
0f6fddf610 devicedisk: Simplife get_xmlpath
Rather than deal with hacks, just read the backing paths and return
the first hit
2014-12-06 17:29:05 -05:00
Cole Robinson
86682c8c54 virt-install: Support --disk source_pool,source_volume
For setting type=volume disks. This requires some reworking of
devicedisk bits
2014-12-06 17:14:16 -05:00
Cole Robinson
9b62c2260d devicedisk: Catch --disk /dev/idontexist,size=2 2014-12-06 16:44:21 -05:00
Cole Robinson
52691c511e devicedisk: Move more validation into diskbackend 2014-12-06 16:44:21 -05:00
Cole Robinson
cf0206a58c devicedisk: Break apart set_create_storage
And break about the vol_install vs local clone storage creators. And
just generally delete a lot of code. The commit aint pretty but it works
and deletes a ton of hacks
2014-12-05 23:28:53 -05:00
Cole Robinson
7e2ea81a2c addstorage: Switch away from set_create_storage 2014-12-05 21:49:10 -05:00
Cole Robinson
92663eb1de devicedisk: Drop transient parameter
Just patch it in from distroinstaller
2014-12-05 21:49:10 -05:00
Cole Robinson
40a5ec75b7 tests: Switch away from set_create_storage 2014-12-05 21:49:10 -05:00
Cole Robinson
210ab4d8e0 devicedisk: Add set_vol_install
And use it in places where we don't need set_create_storage
2014-12-05 21:49:10 -05:00
Cole Robinson
2acbf52ce3 cli: If creating storage, always build vol_install
This is the start of moving this logic out of devicedisk
2014-12-05 20:00:11 -05:00
Cole Robinson
ef0beeb18b cli: Clean up disk source handling
...sort of. This stuff is a hairy mess, but this makes it more stream line
and easier to extend.
2014-12-05 19:05:15 -05:00
Cole Robinson
0cdf6032fb devicedisk: Remove some redundant validation 2014-12-05 15:31:13 -05:00
Cole Robinson
3e87aadeb7 devicedisk: Clarify backend vs creator code 2014-12-04 21:25:49 -05:00
Cole Robinson
dfc062c611 diskbackend: Make check_if_path_managed more readable 2014-12-04 21:08:38 -05:00
Cole Robinson
6489df83ca devicedisk: Rename path_exists -> path_definitely_exists
Since it's a best effort attempt, try to make it more clear that
we aren't certain if paths exist in some cases.
2014-12-04 20:10:37 -05:00
Cole Robinson
ba05e1cd43 diskbackend: Drop all pool source matching
It's only used to try and determine if a path actually exists, however
in the pool source case there isn't much we can actually do with that
info.
2014-12-04 20:10:37 -05:00
Cole Robinson
0389ab23a7 diskbackend: Remove backing by pool object
It just muddles things up for a minor edge case. The autopoolify logic
should catch all practical cases we care about.
2014-12-04 19:45:00 -05:00
Cole Robinson
c7d00baf66 virtinst: connection: Only poll volumes for running pools 2014-12-04 19:25:15 -05:00
Cole Robinson
a75aa47daf devicedisk: Use consistent capitalization for property names 2014-12-04 16:30:18 -05:00
Cole Robinson
0e67ffba2e xmlbuilder: Remove now unused clear_attrs infrastructure 2014-12-04 15:29:12 -05:00
Cole Robinson
e71e5cd9dd devicedisk: Open code _xmlpath handling
Rather than depend on xmlbuilder infrastructure. We will need to extend
this logic for network disks, and it's easier this way.
2014-12-04 15:28:14 -05:00
Cole Robinson
e992cc15b2 virt-xml: Disable clearxml= for devices
It doesn't work in the general case, and users can just --remove and
--add devices as needed for the same effect
2014-12-04 15:28:14 -05:00
Cole Robinson
899bff4c4d tests: Quiet things with non-latest libvirt 2014-12-04 13:04:02 -05:00
Chen Hanxiao
43550c6daa devicedisk: add qed in driver_types
We already used 'qed' in our codes,
but seems we forgot to add this in driver_types.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-12-04 08:57:06 +08: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
Cole Robinson
be3787f2d1 urlfetcher: Detect RHEL ARM distro from treeinfo 2014-11-20 19:15:11 -05:00
Cole Robinson
26828b52cc guest: Use virtio-scsi for arm machvirt CDROM
Since it's the only option we have to actually use the CDROM
2014-11-20 11:27:09 -05:00
Cole Robinson
67b36a086c osdict: Remove unused diskbus field 2014-11-20 10:58:15 -05:00
Cole Robinson
60e62e2676 osdict: Add back compat 'virtio26' entry
We used to have that in the old osdict. Map it to fedora10 which gives
virtio net/block but nothing else, which matches the old behavior.
2014-11-17 10:22:37 -05:00
Cole Robinson
26d16a5978 diskbackend: Fix typo 2014-10-29 12:35:18 -04:00
Chen Hanxiao
a6e72f30f3 virtinst: fix some comment typos
s/occurence/occurrence

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-10-29 16:00:28 +08:00
Cole Robinson
baee53fbaa util: Simplify default_bridge to not confuse pylint 2014-10-27 19:53:25 -04:00
Cole Robinson
cbf38cbe9f pylint: Ignore new warnings 2014-10-27 19:53:25 -04:00
Giuseppe Scrivano
cce5827195 virtinst: add support for disk type="volume"
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-09-26 16:24:59 +02:00
Cole Robinson
310f65273f osdict: Restrict n-cpus to 1 for machvirt
It fails to boot otherwise
2014-09-23 17:09:36 -04:00
Cole Robinson
318ac3df55 guest: Add clarifying comment 2014-09-23 16:19:54 -04:00
Cole Robinson
42ac7a3036 guest: Set optimal arm CPU defaults
If doing arm kvm, use cpu=host. Otherwise, specify cortex-a57 for aarch64
so we actually get a 64bit cpu
2014-09-23 16:18:23 -04:00
Cole Robinson
c4162f6708 Use -M virt as default machine for arm/aarch64
Centralize the default machine logic in caps and use it consistently
2014-09-23 16:05:48 -04:00
Cole Robinson
0182ba3ead guest: Use virtio for arm -M virt
In fact it's the only thing it supports
2014-09-23 15:12:02 -04:00
Cole Robinson
81fdc1e5e5 guest: Clarify a function name 2014-09-23 15:09:35 -04:00
Cole Robinson
86417d42ca osxml: Ensure kernel/initrd/dtb are absolute paths 2014-09-23 14:32:01 -04:00
Cole Robinson
4c4bdbb8b8 cli: Allow embedding comma in kernel_args
And fix can_comma for aliases
2014-09-23 14:14:21 -04:00
Cole Robinson
30db9ece22 osdict: Add qemu-ga for RHEL6 and RHEL7 guests (bz 1139109) 2014-09-22 17:33:55 -04:00
Cole Robinson
e1c803dc7c osdict: Only list latest point release in virt-manager
So only list RHEL6.5, and not 6.4-6.0 as well. That earlier versions
can be seen by selecting 'show all options'
2014-09-22 17:20:07 -04:00
Cole Robinson
b3fa8bb650 tests: Ensure osdict.py aliases is never extended 2014-09-21 15:26:03 -04:00
Cole Robinson
eda5eea549 virt-install: Switch --cpu host to use host-model, not copy (bz 1133155)
host-model offers us other protections now, like ensuring we don't try
to use a host cpu feature that qemu doesn't support.

http://bugzilla.redhat.com/show_bug.cgi?id=1133155
2014-09-20 20:44:13 -04:00
Cole Robinson
3933ff101b guest: Limit number of default usb redirdevs to 2 (bug 1135488)
If we use 4 devices here, we fill up all the emulated USB2 slots,
and directly assigned devices are forced to fall back to USB1

https://bugzilla.redhat.com/show_bug.cgi?id=1135488
2014-09-20 20:16:31 -04:00
Cole Robinson
99700821c6 virt-install: Reorder --help output a bit 2014-09-20 19:30:16 -04:00
Cole Robinson
d7e1a40352 virt-install: Deprecate --nodisks in favor of --disk none 2014-09-20 19:16:13 -04:00
Cole Robinson
57ae284ad4 virt-install: Deprecate --nonetworks in favor of --network none
Follows the pattern used by the other cli options
2014-09-20 19:02:38 -04:00
Cole Robinson
1f3f3fa4fc virt-install: If virt-viewer will fail, default to --wait -1
This can happen if user requests explicit --graphics, but they are on
a headless display. We had a few reports of this recently.
2014-09-20 18:28:43 -04:00
Cole Robinson
56c091600a details: Move hostdev prettyifier to virtinst 2014-09-20 14:56:57 -04:00
Cole Robinson
5130d959e5 cli: Advertise the --host-device option as --hostdev
It annoys me that all the other CLI options map to the libvirt XML name,
except this one. Of course, keep the old option around for back compat,
just give precendence to the new option.
2014-09-20 14:29:34 -04:00
Cole Robinson
5bbd46a070 cli: Fix suddenly appearing pylint warning :/ 2014-09-20 14:22:29 -04:00
Cole Robinson
c88d085d03 virt-xml: Make --remove-device --host-device <str> work
Need to add some infrastructure for arbitrary lookup functions
2014-09-20 14:22:29 -04:00
Cole Robinson
35c86a775a nodedev: Simplify parameter comparison 2014-09-20 14:22:03 -04:00
Cole Robinson
cf80b4e013 cli: Show failing option via virt-xml --remove lookup 2014-09-20 13:53:27 -04:00
Cole Robinson
a3c6637989 nodedev: Share comparison logic for cli string lookup 2014-09-20 12:58:51 -04:00
Cole Robinson
dd67c48233 connection: Handle nodedev polling too
And cleanup up a bunch of nodedev functions as a result
2014-09-20 12:04:49 -04:00
Cole Robinson
8cd4958a19 cli: Break out function to disable libvirt error printing
We need it early in the test suite
2014-09-20 12:04:37 -04:00
Cole Robinson
439e5ad0fe details: Reorg a bunch of the global helpers
Some were redundant, some should be in virtinst
2014-09-20 10:23:19 -04:00
Cole Robinson
ca2ee52eb8 virtinst: cli: Move unshared bits to virt-install
Since virt-image is gone, this stuff should all be private to virt-install
2014-09-19 20:31:22 -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
052220cfc8 virtinst: Add DomainCapabilities parser 2014-09-17 18:29:24 -04:00
Lin Ma
2f62ba964c Add comparison function for NodeDevice
PCIDevice and USBDevice include respective comparison logic.

Signed-off-by: Lin Ma <lma@suse.com>
2014-09-16 11:41:13 -04:00
Laszlo Ersek
d2fffa509e virt-install: add support for OVMF
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
2014-09-16 09:47:02 +02:00
Giuseppe Scrivano
21319c4232 osdict, libosinfo: use "minimum" resources when "recommended" is missing
Some OS entries in libosinfo miss the "recommended" resources block.
In this case use the "minimum" resources when available.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-09-16 09:12:04 +02:00
Giuseppe Scrivano
0218d29a35 virtinst: add ich9 to the list of audio models
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-09-16 09:04:14 +02:00
Chen Hanxiao
30c3434916 test: update compare_check flags for auto-clone cases
auto-clone cases use SUPPORT_CONN_BARE_BACKINGSTORE,
which check libvirt 1.2.4.
Change it to SUPPORT_CONN_LOADER_ROM(1.2.9)
and drop SUPPORT_CONN_BARE_BACKINGSTORE.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-09-16 10:03:27 +08:00
Chen Hanxiao
4a83ea3a83 test: skip unit tests affected by loader extention before libvirt 1.2.9
libvirt commit for 1.2.9
68bf13dbef8342eaee0bf57c73cebb60b7de11e8
conf: Extend <loader/> and introduce <nvram/>

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-09-16 10:02:57 +08:00
Cole Robinson
eb7612356e virtinst: Switch to relative imports, fix cyclic import warnings 2014-09-12 16:28:38 -04:00
Cole Robinson
f512c05381 diskbackend: Get volume path from XML
The XML is likely already cached, and path() can hit the network, so
this can speed things up.
2014-09-12 16:28:38 -04:00
Cole Robinson
3064f4058d diskbackend: Simplify pool source lookup
Have it share logic with a similar routine
2014-09-12 16:28:38 -04:00
Cole Robinson
508debaf2d virtinst: Don't needlessly call conn.getType 2014-09-12 16:28:37 -04:00
Giuseppe Scrivano
a94cc98238 osdict: merge _OsVariantOsInfo with _OsVariant
Make a new class _OsVariantType which contains only the minimum
information shared between a OS type and an OS variant.

As it is not possible anymore to specify the type as the variant name,
define some alias names.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-09-12 10:36:11 +02:00
Giuseppe Scrivano
1291ffc8b7 osdict: _OsVariantOsInfo._init_ doesn't call _OsVariant._init_
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-09-12 10:36:11 +02:00
Giuseppe Scrivano
cbe5ffcee7 osdict: drop attribute "parent" from _OSVariant
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-09-12 10:36:11 +02:00
Lubomir Rintel
cf79f06559 nodedev: Be more descriptive about USB device identification
libvirt often passes devices with vendor and product information missing or
malformed, making the USB sharing dialog ugly or useless to the point it's
impossible to identify the device.

This aims to fix pretty-printing of weird textural identification and fall
back to numeric product and device id (in case textual represetations are
not present in the descriptor and device is too new to be in device
database).
2014-09-11 15:37:10 -04:00
Chen Hanxiao
61eadad354 distroinstaller: fix a typo
s/prepartions/preparations

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-09-11 11:08:22 +08:00
Chen Hanxiao
2987c721fb virtinst: fix a pylint warning
fix a "attribute-defined-outside-init" warning.
We set installer.livecd in virt-install.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-09-11 09:33:50 +08:00
Cole Robinson
db41d9459f cli: Don't error if logfile setup fails (bug 1138991)
If the logfile is owned as root, like could happen if the first run of
virt-manager is done via 'su -c' or similar, virt-manager refustes to
start on subsequent runs under reduced privs. Just log an error and
skip the logfile setup if that happens.
2014-09-08 10:51:34 -04:00
Cole Robinson
17f57eaaa7 Centralize call to setup_i18n in virtinst __init__
No need to call it twice
2014-09-08 10:42:44 -04:00
Cole Robinson
d9ca950acb distroinstaller: Don't attempt distro detection for remote CDROMs
We shouldn't access the local disk in this case
2014-09-07 16:16:39 -04:00
Cole Robinson
d8d6af55e5 distroinstaller: Cache fetcher and distro store lookups
Since we already determine the distro store ahead of time via
check_location and detect_distro, cache the result in the installer
class to save us some network traffic.
2014-09-07 14:40:09 -04:00
Cole Robinson
050d0fb16e urlfetcher: Make fetcher cleanup idempotent 2014-09-07 14:22:56 -04:00
Cole Robinson
faa0ef5e55 urlfetcher: Point to man page if location URL is invalid 2014-09-07 14:01:40 -04:00
Cole Robinson
46e135c7a1 urlfetcher: Remove outdated comment 2014-09-07 13:59:54 -04:00
Cole Robinson
a8843e5807 virtinst: Remove redundant LiveCDInstaller
DistroInstaller can basically do the same thing. This also gives us distro
detection when using virt-install --livecd
2014-09-07 13:42:56 -04:00
Cole Robinson
1247e8d43e installer: Don't needlessly pass around scratchdir 2014-09-07 13:35:34 -04:00
Cole Robinson
a722eeac78 virt-install: Enable libosinfo detection for --cdrom
This streamlines virt-manager and virt-install implementations, requiring
installer.distro_detect to be called if we want distro detection. As
a side effect, we now get CDROM detection for free.
2014-09-07 12:20:26 -04:00
Cole Robinson
bfb3174ec2 osdict: Manually tweak 'supported' info
Many old OSes don't have an EOL date tracked with libosinfo, and
we just treat them as 'supported'. So the default distro list in
the create wizard is wayyy too huge and contains all sorts of
crazy options.

Assume lack of EOL date means 'unsupported', and add a manual whitelist
for some still common distros. We will fix this at the libosinfo level.
2014-09-07 10:49:50 -04:00
Cole Robinson
eb01bc1b61 osdict: Disable virtioconsole default
We used to enable this for Fedora 18+, because systemd would
autostart a getty on /dev/hvc0 which made 'virsh console' work
out of the box for a login prompt. However now in Fedora
virtio-console is compiled as a module, and systemd doesn't
detect it in time to start a getty. So the benefit of using
it as the default is erased, and we reverted to this.

More info: https://bugzilla.redhat.com/show_bug.cgi?id=1039742
2014-09-06 18:37:20 -04:00
Cole Robinson
5aafe008bc Remove virt-image, as scheduled
As promised with the last release, remove virt-image. In 6 months I didn't
hear a peep from any actual users that cared.
2014-09-06 18:05:43 -04:00
Cole Robinson
2e7d477156 urlfetcher: Bunch of distro detection fixes
And update test_urls to ensure it's passing
2014-09-06 16:42:09 -04:00
Cole Robinson
95f8b4c6b0 distroinstaller: Fix https:// installs 2014-09-06 15:08:40 -04:00
Cole Robinson
f2f2c1fd95 Fix some pylint 2014-09-06 13:47:10 -04:00
Cole Robinson
7d25dbe7a3 osdict: Always use vmvga for ubuntu
There's been a couple reports recently that virt-manager's default of video
model=qxl doesn't work well with latest ubuntu 14.04:

https://bugzilla.redhat.com/show_bug.cgi?id=1129803
https://lists.fedoraproject.org/pipermail/virt/2014-August/004105.html

However vmvga works, so let's use it for all ubuntu versions and not just a
couple of them. Marc Deslauriers confirmed it should be safe.
2014-09-06 13:45:15 -04:00
Cole Robinson
d89888a7bd osdict: Don't force encode cirrus as the video default
Forcing cirrus isn't correct for non-x86 architectures, so let's have
libvirt fill in the default so there's only one place to fix it.
2014-09-06 13:45:15 -04:00
Cole Robinson
0759a31acc osdict: Turn videomodel check into a function
The previous setup of having an OS register a preferred videomodel is
overly simplistic and doesn't cover all our needs. Rework it without any
logic change for now, we will alter the logic in subsequent commits.
2014-09-06 13:45:15 -04:00
Cole Robinson
d1f46a75e7 cli: Don't rely on libvirt to generate MAC if mac=RANDOM (bz 1130449) 2014-08-15 15:02:57 -04:00
Giuseppe Scrivano
c1fd79c4f7 virtinst, snapshot: do not hardcode the value of VIR_DOMAIN_PMSUSPENDED
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-08-01 09:30:21 +02:00
Chen Hanxiao
cff8e32c55 virt-install: support setting hugepages/page/[@size, @unit, @nodeset] for memorybacking
libvirt commit
136ad49740f017aabcac48d02d2df6ab7b0195e9
introduce ./hugepages/page/[@size, @unit, @nodeset]
for memory backing.
This patch will add support in virt-install.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-07-30 14:34:03 +08:00
Chen Hanxiao
5f3ede96de storage: fix a typo
s/paramaters/parameters

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-07-28 16:55:28 +08:00
Giuseppe Scrivano
148576d69e virtinst, clone: use the specified MAC address for the new VM
Prevent setup_clone from changing the self._clone_macs list so that
further calls will access the same data.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1027576

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-07-28 10:38:31 +02:00
Cole Robinson
5f81c4bdc0 virtinst: cli: Tweak some command line strings and indentation 2014-07-15 09:25:20 -04:00
Cole Robinson
8ea634f9e4 guest: Enable Hyper-v Enlightenments for Windows VMs
These are the recommended defaults for all windows VMs, when using
a new enough libvirt + kvm. Some more details in this boxes bug report:

https://bugzilla.gnome.org/show_bug.cgi?id=732811
2014-07-07 18:24:40 -04:00
Cole Robinson
1e77c05c4e Clarify some translation strings, reported on transifex 2014-07-04 16:42:24 -04:00
Giuseppe Scrivano
3606bb573d virtinst: add method to set connection keep-alive
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-07-02 15:31:40 +02:00
Ron
ea1d973957 Don't create disk images world readable and executable
Python's os.open() defaults to mode 0777 if not explicitly specified.
Disk image files don't need to be executable, and having them world
readable isn't an ideal situation either.  Owner writable and group
readable is probably more than sufficient when initially creating
them.

Signed-off-by: Ron Lee <ron@debian.org>
2014-07-02 07:35:15 +02:00
Chen Hanxiao
ddd88dac25 storage: fix another comment typo
s/explictly/explicitly

Thanks for Giuseppe's reminding.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-06-30 16:20:38 +08:00
Chen Hanxiao
7ce434fed7 urlfetcher: fix a comment typo
s/Explictly/Explicitly

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-06-30 10:58:53 +08:00
Giuseppe Scrivano
57d26e6265 virtinst: parse "bandwith" node in network definition
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-06-26 15:26:37 +02:00
Chen Hanxiao
75d43f6a37 fix some missed binary prefixes for units
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-06-17 09:33:14 +08: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
Chen Hanxiao
d3d76beb5b guest: fix order in _XML_PROP_ORDER
re-order xml values according to libvirt code.

a) move "blkiotune" "memtune" ahead of "memoryBacking"
b) move "resource" ahead of "pm"

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-06-05 08:52:24 +08:00
Chen Hanxiao
d1b0fade1d virt-install: add --resource support
This patch will enable setting
resource partition configuration.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-06-04 10:08:05 +08:00
Cole Robinson
809c5a81e5 diskbackend: Fix pool 'create' call (bz 1103442) 2014-06-03 16:26:28 -04: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
d3e9af8328 pollhelpers: Use correct dictionary keys for old pool/net polling (bz 1099827)
We were inadvertently using the object name rather than UUID when libvirt
didn't support new style polling APIs.
2014-06-02 12:18:59 -04:00
Cole Robinson
d3e55a1fbf pollhelpers: Add debugging helper to force old polling 2014-06-02 12:02:09 -04:00
Cole Robinson
da73e4980b virt-install: Add --boot initargs=
Expects a shell escaped string which we split into individual initarg bits
2014-05-31 17:15:03 -04:00
Cole Robinson
ceab99cf7b virtconv: Don't create default pool when in dry mode
We will still need to create pools to probe source storage if doing
--print-xml.
2014-05-31 16:30:00 -04:00
Cole Robinson
d6f063d0b8 diskbackend: If pool not running, start it
Nowadays we depend on the pool existing and running, so better to get
an error up front if pool startup will fail
2014-05-31 16:29:29 -04:00
Cole Robinson
42fe235cbf virt-install: Add --network portgroup= option 2014-05-31 14:30:07 -04:00
Cole Robinson
1c608f3ba8 network: Parse <portgroup> XML 2014-05-31 14:20:56 -04:00
Chen Hanxiao
33c7e63a99 cli: fix some style misc issue
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-05-29 17:06:13 +08:00
Chen Hanxiao
3c45262526 virt-install: add --events support
This patch will enable setting event configuration:
on_poweroff, on_reboot and on_crash.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-05-29 09:46:24 +08:00
Giuseppe Scrivano
b84f8cb406 osdict: fix default value for devices data
commit 4f056dcba9 didn't take into
account the default value.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-05-21 10:09:41 +02:00
Giuseppe Scrivano
4f056dcba9 osdict: lazy load devices data
Do not load the devices data for each OS as most of this data will
will not be used by virt-manager.  It makes the "Create new VM" wizard
faster on the first time it is accessed (~0.5s faster on my machine).

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-05-20 08:41:22 +02:00
Cole Robinson
ea89dfb53f tests: Don't fail on non-latest libvirt 2014-05-11 19:11:45 -04:00
Cole Robinson
196ff823b3 Fix warnings with latest pep8 2014-05-02 10:20:59 -04:00
Cole Robinson
feadd98fed Fix using storage when the directory name contains whitespace (bz 1091384) 2014-04-29 14:09:14 -04:00
Jim Minter
764063dfe9 virt-install --disk discard= support
(crobinso: Remove default overriding, add test cases)
2014-04-29 10:38:30 -04:00
Cole Robinson
6ed988ebfc osdict: Prevent traceback in the logs when detection fails 2014-04-25 16:31:00 -04:00
Cole Robinson
e6a67fc709 filesystem: Fix target validation when editing device (bz 1089422) 2014-04-21 16:51:57 -04:00
Giuseppe Scrivano
e980d9c737 virtinst: display the domain for PCI devices
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1085499

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-04-15 18:53:26 +02:00
Giuseppe Scrivano
1d312a520e virtinst: early detect ftp connection errors
It fixes two problems:

i) "ftp://" was accepted as valid URL but then it causes this
exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/ftplib.py", line 387, in login
    resp = self.sendcmd('USER ' + user)
  File "/usr/lib64/python2.7/ftplib.py", line 243, in sendcmd
    self.putcmd(cmd)
  File "/usr/lib64/python2.7/ftplib.py", line 178, in putcmd
    self.putline(line)
  File "/usr/lib64/python2.7/ftplib.py", line 173, in putline
    self.sock.sendall(line)
AttributeError: 'NoneType' object has no attribute 'sendall'

ii) only a cryptic error message "Unable to complete install: '[Errno
-2] Name or service not known'" was showed to users when the DNS
lookup failed.  The exception is now intercepted and decorated with
more information.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1086554

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2014-04-14 15:20:18 +02:00
Chen Hanxiao
35c9afad45 test: fix a pylint
After commit 7594cef35f,
pylint show a "access to a protected member" warning.
This patch introduces a static method to solve it.

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2014-04-10 23:15:55 +08:00
Roman Bogorodskiy
7594cef35f tests: fix TestCapabilities.testCPUMap
testCPUMap() tries to open /usr/share/libvirt/cpu_map.xml file
and that fails if libvirt is not installed on the system
or cpu_map.xml path is different.

Force it to use tests/capabilities-xml/cpu_map.xml file instead.
2014-04-08 18:13:03 +02:00