5418 Commits

Author SHA1 Message Date
Radostin Stoyanov
2d276ebed8 progress: Don't overwrite "format"
Do not overwrite built-in format. [1]

https://docs.python.org/2/library/functions.html#format
2017-10-20 11:49:14 -04:00
Radostin Stoyanov
bc3c9a9d7b progress: Remove unused import 2017-10-20 11:49:14 -04:00
Radostin Stoyanov
08a58d6145 pycodestyle: Remove description of fixed errors 2017-10-20 11:49:14 -04:00
Radostin Stoyanov
63fce081ed pycodestyle: Use isinstance() for type checking
This is E721 in pycodestyle [1]:
   "do not compare types, use ‘isinstance()’"

The main differece between "type() is" and "isinstance()" is that
isinstance() supports inheritance. [1]

This can be seen in the example below:
    >>> type(True) is int
    False
    >>> isinstance(True, int)
    True

As we can see in python 'bool' a subclass of 'int'.

[1] https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes
[2] https://docs.python.org/2/library/functions.html#isinstance
2017-10-20 11:49:13 -04:00
Radostin Stoyanov
d1e1cf64a7 progress: Remove trailing white space 2017-10-20 11:49:12 -04:00
Cole Robinson
2fe444323b engine: Don't attempt --test-first-run if --connect passed
Which we do for uitests, we don't want it trying to connect to
qemu:///system while uitests are running
2017-10-20 11:47:15 -04:00
Lin Ma
23aaf8527d network: Set bridge name to None instead of blank
Trigger libvirt error if user leaves 'net-bridge-name' GtkEntry
blank when specifying shared device name.

Signed-off-by: Lin Ma <lma@suse.com>
2017-10-19 18:09:19 -04:00
Pavel Hrdina
6e6f59e7ab diskbackend: get a proper size of existing block device while cloning
We cannot use os.statvfs() if the clone disk is a block device because
it gets stats about filesystem which in this case is "devtmpfs" mounted
as "/dev".

As a workaround we can seek to the end of the block device to get
the actual size.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-10-19 09:12:05 +02:00
Pavel Hrdina
e73abe5a3a diskbackend: convert to long the calculated size
If we convert to long the disk size, it may end up "0".  The size is
in GiB so it can be "0.1".

Introduced by commit <fab55c128ff3f092039bb950ecfd337568d2a9a8>.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-10-19 09:06:44 +02:00
Cole Robinson
9617d1267d systray: Use APPLICATION_STATUS for appindicator
Not OTHER, as the reporter points out this shouldn't be used, and
causes issues on KDE

https://bugzilla.redhat.com/show_bug.cgi?id=1501173
2017-10-18 19:14:17 -04:00
Cole Robinson
f0987ed9b8 tests: Add more hostkeymap tests 2017-10-18 18:42:50 -04:00
Jim Fehlig
9a9f9ecd2c virtinst: ignore comments in keymap conf files
On a host system with keyboard configured to en-US, it was noticed
that virt-install created install XML with keymap='de'. The host
system did not have /etc/vconsole.conf, so /etc/sysconfig/keyboard
was the next file to check, which contained the following

KEYTABLE=""

Currently the parsing code does not ignore comments and incorrectly
parsed a 'de' keymap. Fix by ignoring any lines that start with '#'
after trimming whitespace.
2017-10-18 17:46:41 -04:00
Cole Robinson
09a53eb2a3 tests: Add basic hostkeymap test
To validate an upcoming bugfix
2017-10-18 17:44:29 -04:00
Lin Ma
083dfcc8ec host: Show details about the network of SR-IOV VF pool
Signed-off-by: Lin Ma <lma@suse.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-10-09 10:22:48 +02:00
Lin Ma
6dfc4de125 network: add support for parsing/formatting SR-IOV VFs
Signed-off-by: Lin Ma <lma@suse.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-10-09 10:22:48 +02:00
Pavel Hrdina
c9a26c84b0 urlfetcher: fix kernel/initrd paths for Ubuntu install CD
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-10-04 12:32:17 +02:00
Jia He
3def27badd Add arm64 check to urlfetcher to cater for Debian based distro
Without this check, the virt-install will report:
RuntimeError: Couldn't find hvm kernel for Ubuntu tree.

Signed-off-by: Jia He <hejianet@gmail.com>
2017-10-04 09:53:28 +02:00
Pavel Hrdina
3b76964365 domain: don't add URI into params for tunneled migration
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1456185

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-10-03 12:24:39 +02:00
Cole Robinson
eb47d94308 Prep for release 1.4.3 v1.4.3 2017-09-19 20:07:34 -04:00
Pavel Hrdina
c0710c74ff choosecd: change order of check operations
The current order of check operations is wrong.  First we set the new
path for the disk in question and after that we check whether some
guest already uses a disk with the same path.

The issue is that virt-manager returns a cached list of guests in
path_in_use_by() and the cached guest has the disk path already
updated.

Ideally we don't update the path at all, but we do it to run some
checks before the path is actually changed.  In order to fix the
referenced bug, change the order of check operations.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-19 20:04:39 -04:00
Cole Robinson
2d27142c9c tests: urls: check for latest ubuntu LTS 2017-09-19 19:55:57 -04:00
Pavel Hrdina
fd420fdacd domain: invalidate domain caps if machine type is changed
This forces to reload domain capabilities.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-19 10:40:09 +02:00
Pavel Hrdina
8e0303059e cloner: get original XML with security informations
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1455491

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-18 09:04:35 +02:00
Cole Robinson
6b8f0b6e1a tests: uitests: Add a delay for nvram rename test
Seems to fail a bit otherwise
2017-09-15 19:42:40 -04:00
Cole Robinson
901dbaf4b7 details: Fix displaying isa panic device 2017-09-15 19:36:58 -04:00
Cole Robinson
cc1a0f8b0a tests: Add multi <panic> example 2017-09-15 19:33:22 -04:00
Lin Ma
40f70d4fe5 virt-install: add param cache.mode and cache.level for option '--cpu'
libvirt supports guest CPU cache by commit df13c0b, So add this feature
to virt-install to configure cpu L3 cache mode.

Currently, The valid values are 'passthrough', 'emulate' or 'disable'.
say:
  --cpu host-passthrough,cache.mode=passthrough
or
  --cpu $CPU,cache.mode=emulate,cache.level=3
or
  --cpu $CPU,cache.mode=disable

Signed-off-by: Lin Ma <lma@suse.com>
2017-09-14 18:54:01 -04:00
Lin Ma
8034748c22 virt-install: add a host cpu passthrough example to the -help output
Signed-off-by: Lin Ma <lma@suse.com>
2017-09-14 18:49:59 -04:00
Viktor Mihajlovski
d2dce02522 virtinst: Add s390x cd detection for Debian
Enable the installation from Debian s390x CD images.

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
2017-09-14 17:49:00 -04:00
Viktor Mihajlovski
5ce84fccf0 virtinst: Get rid of the s390x-specific cd detection function
Move the s390x-specific code into the generic cd detection function.

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
2017-09-14 17:49:00 -04:00
Viktor Mihajlovski
6d38c3c457 virtinst: Fix cd recognition on Ubuntu
The Ubuntu c recognition was looking for a file .disk/mini-info.
However, the correct name is .disk/info.

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
2017-09-14 17:49:00 -04:00
Pavel Hrdina
af91d51fc8 cli: introduce snapshot_policy parameter for disk device
This allows to configure snapshot behavior for each disk.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-12 08:58:31 +02:00
Chen Hanxiao
04e35b2d85 pycodestyle: fix all E124 warnings
Fix all E124:
     Closing bracket does not match visual indentation

   Also remove ignore options of E124

Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
2017-09-09 23:21:42 +08:00
Pavel Hrdina
ec266d3cda setup: introduce --jobs for pylint
Pylint supports configuring jobs to use multiple processes to
speed up Pylint.  Default value is 1.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 11:10:42 +02:00
Pavel Hrdina
4b108a8c75 tests: fix pylint
Commit g785352ea removed unused variable and felt unused import.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:55:47 +02:00
Pavel Hrdina
12117ba148 connection: change blacklist from array to dict
If initialization of new object fails we put it into blacklist and
newer parse it again until virt-manager is restarted.  This helps to
reduce number of failures if some object fails initialization every
time.

However, there are some cases where we put object into blacklist
incorrectly.  One of the cases is while creating new storage pool.
If the storage pool requires to be build before started but user
doesn't check to build it as well the start of the new storage pool
fails.  The issue is that at first we define that object which triggers
a lifecycle event for storage pool and queues new poll operation over
storage pools.  Before the poll operation starts the starting of the
storage pools fails and we undefine that storage pool before it is
initialized.  The initialization fails and the storage pool is never
managed from that point.

This patch modifies the blacklist to allow 3 failures before we give up
on a specific object and if the object is initialized without error
we remove it from blacklist completely.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1446486
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1093394

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:12:12 +02:00
Pavel Hrdina
f1976155cd sshtunnels: use <listen> element to get UNIX socket for graphics
Graphics devices has a new XML element to configure UNIX socket path:

  <graphics type='vnc' socket='/path/to/socket'>
    <listen type='socket' socket='/path/to/socket'/>
  </graphics>

  <graphics type='spice'>
    <listen type='socket' socket='/path/to/socket'/>
  </graphics>

and as you can see SPICE uses only the new XML element.  For VNC the
old 'socket' attribute is for backward compatibility.

In order to connect to SPICE graphics on remote host using SSH tunnel
we need to get the UNIX socket path from <listen> element.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:11:42 +02:00
Pavel Hrdina
d718f1a516 graphics: introduce listens.socket parameter
Add support to configure socket path for socket listen type.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:11:42 +02:00
Pavel Hrdina
fe6c5067c0 graphics: introduce listens.{type|address|network} parameters
Using "listens.*" allows better configuration of listen elements for
graphics devices.  Currently the only way how to configure a listen
type is to abuse "listen" parameter and there is no way how to configure
exact "network".

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:11:42 +02:00
Pavel Hrdina
ccaef8c16a graphics: set default port only for correct listen types
The default port and tlsPort should be configured only if no listen
type was specified or the listen type is "address" or "network".
For other listen types the port and tlsPort doesn't make sense.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:11:42 +02:00
Pavel Hrdina
f14b1f88a0 domain: only the first device from each group is bootable
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1488480

This also fixes an issue with floppy not showing at all, the proper
boot.dev name is 'fd' but we were looking for 'floppy'.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:11:04 +02:00
Pavel Hrdina
abcff9e230 domain: use migrateToURI3() for tunneled migration
The migrate3() API doesn't support tunneled migration.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:10:39 +02:00
Pavel Hrdina
5d0296d438 domain: use correct name for variables in migration code
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:10:39 +02:00
Pavel Hrdina
9f191da5c5 devicepanic: add all models supported by libvirt
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:09:46 +02:00
Pavel Hrdina
48604bfb37 devicepanic: don't set default iobase
This is not required and it's correctly handled by libvirt and QEMU.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:09:46 +02:00
Pavel Hrdina
36230c9a18 devicepanic: use model instead of address.type
There are multiple models of the panic device, the address type is only
one and is valid only for "isa" model.

To not break the virt-install/virt-xml the command line parser needs to
be updated.  Before this patch there was only one parameter that
configured the "iobase".  Now the first parameter configures a model
but to keep it backward compatible it follows these rules:

1. there is only one parameter and it matches known model:

  --panic isa

  <panic model='isa'>
    <address iobase='0x505' type='isa'/>
  </panic>

2. there is only one parameter and it doesn't match any model:

  --panic 0x505

  <panic model='isa'>
    <address iobase='0x505' type='isa'/>
  </panic>

3. there are two parameters:

  --panic isa,iobase=0x505

  <panic model='isa'>
    <address iobase='0x505' type='isa'/>
  </panic>

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:09:46 +02:00
Pavel Hrdina
9655f7dfaf virtManager: remove panic iobase from GUI
This is advanced configuration and it's not required to configure
at all to have a working panic device.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:09:46 +02:00
Pavel Hrdina
5f819aff97 virtinst: remove address configuration from panic device
The panic device has an address element but it's not the same as for
other devices.  Panic device can have only one address type "isa" with
only one additional attribute "iobase".  That attribute is configured
by separate argument.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2017-09-09 10:09:46 +02:00
Cole Robinson
170a169fcc test_urls: Remove dead link 2017-09-08 16:58:45 -04:00
Cole Robinson
785352ea60 tests: Fix pylint 2017-09-08 16:55:49 -04:00