Commit Graph

1164 Commits

Author SHA1 Message Date
Cole Robinson
59edd87e9f guest: Rename noboot -> doboot
It's a bit easier to follow the logic IMO
2016-06-17 12:13:21 -04:00
Cole Robinson
b5d0b381ba guest: Rename start_xml -> install_xml
Make it more clear what the case is
2016-06-17 12:13:21 -04:00
Cole Robinson
837a9710a3 guest: Use newer named CreateXML API
CreateLinux is the very old style name. CreateXML has been around
since at least 2009, which covers our minimum libvirt-python version
2016-06-17 08:58:28 -04:00
Cole Robinson
48ba2883e5 virtinst: break out kernel/initrd vol upload to its own file 2016-06-17 07:52:42 -04:00
Cole Robinson
dbb057d095 virtinst: Move initrdinject handling to its own file 2016-06-17 07:52:42 -04:00
Cole Robinson
9f297eda5b virtinst: guest: drop 'continue_install' concept
continue_install is intended to facilitate windows XP style 3 stage
installs:

  stage 1: initial dos style disk setup, reboot
  stage 2: actual full installer, reboot
  stage 3: OS is functional, virt-install is done

The code assumed that we needed to keep the cdrom as the primary
boot device for the second stage, so virt-install/virt-manager needed
to hang around through the second stage run, wait until the VM shutdown,
then encode the final XML to boot of the disk.

Windows is and always has been smart enough to handle that case though...
after the initial boot, if we set the hd as the primary boot device
for stage 2, the disk bits that windows already installed will make
use of the cdrom as necessary. So the entire premise of continue_install
is irrelevant. Maybe back when it was added, when xen didn't even have
working ACPI support, this served a purpose, but I'm pretty sure we
can safely drop it nowadays.
2016-06-17 07:52:42 -04:00
Cole Robinson
5398282e12 storage: Detect backing_store format automatically
By attempting to manage/import the passed path. This makes it
work via both virt-install and virt-manager

https://bugzilla.redhat.com/show_bug.cgi?id=1235406
2016-06-16 20:36:30 -04:00
Cole Robinson
8d4e58c501 cli: Add --disk backing_format= option 2016-06-16 20:09:37 -04:00
Pavel Hrdina
de9cd87fda virtinst.capabilities: return recommended machine for XEN
This is required in order to ask for correct domcapabilities.  If you don't
specify any machine libvirt will return domcapabilities for default machine
which is xenpv.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-06-16 12:16:49 +02:00
Pavel Hrdina
86e11786b5 maint: update all libvirt checks for version from 1.3.6 to 2.0.0
There want be 1.3.6 version, libvirt switched to new release numbering, for more
information see <http://libvirt.org/downloads.html#numbering>.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-06-15 12:05:11 +02:00
Cole Robinson
19b4cf026e cli: Support --cpu cellX.id (and cpus, and memory)
This allows configuring <cpu><numa><cell> bits via the command line.
This uses the optional numbering scheme described in the previous
commit.
2016-06-14 19:07:55 -04:00
Cole Robinson
b785f3f594 cli: Support --disk seclabelX.model (and relabel, and label)
This adds support for setting VirtualDisk <seclabel> XML. This
invents a new command line scheme for cases like this where there
are possibly multiple child elements that we want to specify
on the command line. So if you just want to specify one <seclabel>
block, you can do the expected

  --disk ...,seclabel.model=dac,relabel=no

However if you want to specify 2 <seclabel> blocks you need to do:

  --disk ...,seclabel0.model=dac,seclabel0.relabel=no,seclabel1.model=selinux,seclabel1.relabel=no
2016-06-14 19:05:30 -04:00
Cole Robinson
7ec97400a5 cli: Only instantiate VirtCLIArguments at parse time
We register the VirtCLIArgument classes with the static parse
instructions, but instantiate it with the actual key=val pair
from the command line. This fixes some layering violations, and
gives callers access to the actual command line key that we
are parsing, if that's interesting.
2016-06-14 16:26:56 -04:00
Cole Robinson
dc49d46f62 cli: Separate out can_comma handling
Clarify things by taking it out of the main parse loop
2016-06-14 14:08:50 -04:00
Cole Robinson
8532dacde0 cli: Pass virtarg and parser to setter callback
This should provide access to every bit of info we could possibly
want from the setter callbacks
2016-06-14 13:54:17 -04:00
Cole Robinson
984b368725 cli: Rework VirtCLIParser instantiation
Only initialize VirtCLIParser at actual parse time. The data that's
passed to __init__ is the particular data for that parse task, like
the option string, and the Guest object we are editing.

As a result we can drop the whole parsermap handling, since the
parserlist is immutable.

There's a bunch of other reworks mixed in like dropping the
VirtOptionString abstraction...
2016-06-14 10:51:50 -04:00
Cole Robinson
8a0fd7927f cli: Improve comments for _VirtCLIArgument 2016-06-14 07:38:59 -04:00
Cole Robinson
3ce5af712b cli: Drop unused VirtCLIParser.option_variable_name 2016-06-13 19:15:35 -04:00
Cole Robinson
7018904959 cli: Move introspection checking out of Parser class
We can do that at the cli entry point, and only have the parser
print its subargs
2016-06-13 19:15:19 -04:00
Cole Robinson
7cd04a9f86 cli: Register VirtCLIArguments at class definition time
The VirtCLIArguments, (for example, path=, size=, etc. for --disk)
are only registered when a VirtCLIParser is actually initialized.
This seems backwards, since those arguments are really more immutable
factors of the actual command line parsing, so make more sense only
initializing them once, at class definition time.

This switches to use that pattern. This makes the parsing flow a bit
cleaner and can be a basis for future improvements.
2016-06-13 18:37:30 -04:00
Cole Robinson
4db0cd2eab cli: Tweak clearxml argument setup
Just unnest the callback to make it a little easier to follow
2016-06-13 18:37:30 -04:00
Cole Robinson
cb6853eea6 cli: More shared 'address.*' handling output VirtCLIParser
Make it a global function rather than complicating VirtCLIParser any
further with irrelevant functions
2016-06-13 18:37:30 -04:00
Cole Robinson
7bee927276 conn: Stop using VirtOptionParser
It only needs a minimal portion of the functionality, so separate
that out and use it explicitly. Clean up some of the surrounding
cli.py bits as well
2016-06-13 18:37:30 -04:00
Cole Robinson
efad67aab2 cli: Separate param parse and lookup
Makes the code a bit easier to follow
2016-06-12 19:48:16 -04:00
Cole Robinson
302a84a97d virtinst: rename .seclabel->.seclabels
Since guest and disk can have multiple of these, make it clear
to callers
2016-06-12 11:09:15 -04:00
Cole Robinson
31b8051525 cli: Rename opts.opts -> opts.optdict
To make it more clear to callers what type of structure they are
dealing with
2016-06-12 10:32:23 -04:00
Cole Robinson
e04ce6fc13 Fix some pylint 2016-06-12 10:29:23 -04:00
Cole Robinson
0663e52a62 cli: Use OrderedDict for tracking cli values
Allows us to drop the single 'orderedopts' usage
2016-06-12 10:11:11 -04:00
Cole Robinson
a8914ae1e6 virtinst: disk: Fix seclabel testing
disk devices don't have a full <seclabel> under their <source>
element, just a smaller one with only a few options. Fix things
to match what libvirt does
2016-06-11 17:43:18 -04:00
Cole Robinson
263a35fe7a cli: Wrap setter_cb bits in a class
Will make it less churny if we want to add new bits in the future
2016-06-11 17:22:27 -04:00
Cole Robinson
14fd99255b cli: add --graphics listen=socket support
This is the new style socket support, where we request libvirt to
allocate a socket path for us. Plus this is the only way to enable
socket support for type=spice
2016-06-11 16:56:41 -04:00
Cole Robinson
4c0b761cfb virtinst: graphics: Add listen=none support
Not strictly needed for spice, but now available for vnc if
people want it
2016-06-11 16:48:34 -04:00
Cole Robinson
2b34831b26 cli: Add device address.type/address.bus/... options
This exposes every device <address> option, for each device
cli option. So --disk, --network, --video, etc.

Fill out a few more address XML bits as well
2016-06-11 16:10:31 -04:00
Cole Robinson
1330f8c675 cli: Move blkiotune and memorybacking out of the device code area 2016-06-11 13:45:05 -04:00
Pavel Hrdina
df1c3e74aa virt-install: add a new guest feature GIC for ARM guests
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1334857

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-06-11 18:41:31 +02:00
Pavel Hrdina
0dbfb399cd virtinst: prepare XML parsers to handle GIC for ARM
GIC is used instead of APIC on ARM and libvirt allows configure specific
version of GIC for guests.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-06-11 18:41:24 +02:00
Pavel Hrdina
9ca3ec8b17 virtinst.cli: remove duplicated line
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-06-10 18:08:07 +02:00
Cole Robinson
bd6badbc40 devicedisk: Fix typo in comment 2016-06-07 11:28:26 -04:00
Cole Robinson
e796efeaf9 domcaps: Add pep8 fix 2016-06-07 11:03:32 -04:00
Charles Arnold
33ae6e51ad virtinst: Fix detection of sle12sp1 media
The installer wrongly detects SLE-12-SP1 media as SLE-12-GA

Signed-off-by: Charles Arnold <carnold@suse.com>
2016-06-07 11:01:09 -04:00
Charles Arnold
2647f699fb virtinst: Fix detection of openSUSE tumbleweed media
With Tumbleweed now part of libosinfo we do not need to default
to openSUSE 13.2 when pointing at the installation media.

Signed-off-by: Charles Arnold <carnold@suse.com>
2016-06-07 11:01:09 -04:00
Shivaprasad G Bhat
94f610465f CD-ROMs should be on scsi bus for pSeries machines
Commit f6322c9e changed the default bus type for disks to virtio.
That changed it for both disks and cdroms. The CD-ROMs dont work
if on virtio on pSeries. So, change the cdrom bus type to scsi as
before.

Signed-off-by: Shivaprasad G Bhat <sbhat@linux.vnet.ibm.com>

Extend virt-install-ppc64-pseries-f20 test to cover this case.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-06-07 16:55:46 +02:00
Cole Robinson
9afdceef4e domcaps: Add some generic uefi<->arch catchall regexs
Not strictly required, but may help new distros make packaging
decisions that will 'just work'
2016-06-07 10:22:58 -04:00
Cole Robinson
55327c81b7 xmlbuilder: Support clear()ing an object in place
This gives friendly XML output via virt-xml for clearxml=yes +
extra options: the XML block is editted in place, rather than removed
and with the newchanges appended
2016-05-20 14:51:31 -04:00
Cole Robinson
333103adbf xmlbuilder: minor cleanup 2016-05-20 14:51:31 -04:00
Cole Robinson
635a228f6b cli: Warn if we think spice GL settings won't work 2016-05-20 14:51:31 -04:00
Marc-André Lureau
8aead7619c virtinst: add listen=none graphics option
Add a special listen value to disable any extra display server listening
socket. This is necessary now that qemu prevents starting a spice+virgl
VM with listening sockets (until spice allows remoting with virgl).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2016-05-20 14:51:31 -04:00
Cole Robinson
4a076232b6 cli: Expose --video heads, ram, vram, vgamem, accel3d 2016-05-20 11:44:18 -04:00
Leno Hou
3bbf0aad85 virtinst: fix indent tab issue with virtinst/guest.py
Signed-off-by: Leno Hou <lenohou@gmail.com>
2016-05-13 12:38:55 +02:00
Leno Hou
1ba524db04 virtinst: set preserve when on_crash in s390x
When booting from empty disk image or none bootdev, its leads
system IPL enter into infinite loop with message on s390x.
This patch sets preserve when on_crash to avoid the loop

Signed-off-by: Leno Hou <lenohou@gmail.com>
2016-05-10 13:38:38 -04:00
Lin Ma
7358bbfb5d Append '--attach' to virt-viewer for local display if spice gl enabled.
Currently SPICE GL support is local-only, So it needs to attach to the
local display.

Signed-off-by: Lin Ma <lma@suse.com>
2016-05-07 19:21:37 -04:00
Cole Robinson
e30671b53d viewers: Only use openGraphics if supported 2016-05-07 19:12:33 -04:00
Leno Hou
82432dc339 urlfetcher: Enable Ubuntu 16.04 s390x detection
Signed-off-by: Leno Hou <lenohou@gmail.com>
CC: Kevin Zhao <kevin.zhaoshuai@gmail.com>
2016-04-26 08:13:46 -04:00
Shivaprasad G Bhat
f6322c9ed8 virtinst: Use virtio bus type for disks on pSeries machines
pSeries doesn't support ide and so was changed to use the scsi. virtio works
better on pSeries with better performance outcomes. Change the default to
virtio for disks

Signed-off-by: Shivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
2016-04-21 09:58:08 -04:00
Cole Robinson
f4dfb6de9d Fix recent pylint/pep8 output 2016-04-18 16:42:12 -04:00
Cole Robinson
694d5bb9ce support: Drop some explicit checks only used in clitest.py
Since we have support for using libvirt version numbers directly, there
isn't much use in tracking symbolic names in support.py anymore
2016-04-09 09:24:08 -04:00
Cole Robinson
f4bf4ef349 urlfetcher: Don't set os_variant=linux
os_variant=linux is basically meaningless; it doesn't set any useful
defaults. better to be explicit that we didn't detect any meaningful
os_variant, to trigger the virt-install warning
2016-04-07 17:43:53 -04:00
Cole Robinson
b45f676086 urlfetcher: Make fedora detection more robust 2016-04-07 17:29:42 -04:00
Cole Robinson
97b5961506 urlfetcher: Fix rawhide URL detection (bz 1322011) 2016-04-07 17:20:18 -04:00
Cole Robinson
c92507baea urlfetcher: Fix ftp URLs with ports in them
Reported-by: int-0 <tobias.deb@gmail.com>
2016-03-24 16:15:21 -04:00
Cole Robinson
d3b9fcf3de Fix some pylint 2016-03-24 16:04:06 -04:00
Cole Robinson
d32e5c7e27 urlfetcher: Support latest Mageia
The kernel paths changes
2016-03-24 15:57:34 -04:00
Cole Robinson
351e6b9562 urlfetcher: Fix detection of latest SL 6
They changes the treeinfo family to just be 'Scientific'
2016-03-24 15:57:34 -04:00
Cole Robinson
1c7a91385d urlfetcher: Fix distro detection with http->https redirects
Need to tell requests.head request to follow the redirect automatically,
otherwise the 301 response throws us off.

Saw this with http://d-i.debian.org/
2016-03-24 15:57:34 -04:00
Cole Robinson
af5a86742c urlfetcher: Add unconditional hasFile logging 2016-03-24 14:51:36 -04:00
Andrew Cook
1421772e4e Disable x2apic for solaris 11
Same hack that 10 needs
2016-03-24 14:15:49 -04:00
Pavel Hrdina
4c3e7969c6 virt-install: concatenate all extra-args argument
So far we used only the last --extra-args argument from virt-install
command line, but it makes more sense to use all occurrences of
--extra-args and pass them to kernel.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-03-18 03:28:17 +01:00
Marc-André Lureau
ea1bd169c1 virtinst: use virtio if spice+gl
Use virtio+accel3d by default whenever spice+gl is chosen. This allows
to easily set up accelerated gpu VM.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2016-03-09 20:25:37 -05:00
Marc-André Lureau
8ba48f5299 virtinst: add virtio device model and accel3d attribute
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2016-03-09 20:25:37 -05:00
Marc-André Lureau
f912f28e97 virtinst: add --graphics gl option
Add a --graphics option to enable accelarated rendering using
OpenGl. This is used only by Spice (and for local only guests atm).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2016-03-09 20:25:37 -05:00
Cole Robinson
7f3ddf3818 Fix some pep8 warnings 2016-02-15 12:55:45 -05:00
Pavel Hrdina
c39592ae7b localization: mark several strings as translatable
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2016-02-06 16:25:08 +01:00
Jim Fehlig
1c221fd034 virtinst: Support paths to SUSE OVMF firmwares
Extend the domcapabilities regex to include SUSE's OVMF
file naming convention.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
2016-01-28 11:26:58 -05:00
Cole Robinson
67dcfb9534 tests: Allow skipping tests based on libvirt version
Rather than requiring a new SUPPORT value to be added. Use this to fix
a test failure on f21:

https://ci.centos.org/view/libvirt-project/job/virt-manager-test/systems=libvirt-fedora-21/871/console
2016-01-26 20:08:31 -05:00
Cole Robinson
7f7ff0c344 cli: add --network rom_bar and --network rom_file 2016-01-20 10:53:23 -05:00
Cole Robinson
75dbf5699e tests: Make many-devices dependent on newer libvirt
Libvirt started to put type='raw' by default for rbd volumes, which
changes our generated XML. Limit the test to only libvirt that supports
that check.
2016-01-15 11:44:28 -05:00
Cole Robinson
eae7dc0619 urlfetcher: Fix URL installs when content-length header missing
Suggested-by: bduff@sjm.com
2016-01-12 12:45:02 -05:00
Cole Robinson
33ca0fff7d Only use spice on x86
qemu isn't compiled with spice support for non-x86

Reported-by: Kevin Zhao <kevinzs@linux.vnet.ibm.com>
2015-12-24 11:33:47 -05:00
Cole Robinson
95fd32dffd storage: Avoid some test suite noise on thread cleanup 2015-12-24 11:30:15 -05:00
Cole Robinson
8700fda757 urlfetcher: Fix ubuntu url detection with latest libosinfo 2015-11-24 21:59:23 -05:00
Cole Robinson
e13f81a7c5 guest: Add qemu-ga virtio channel for arm
Originally we didn't add this since arm vexpress virtio only had 4
virtio-mmio slots. But the now-common -M virt target has 32 slots,
so we aren't starved.
2015-11-24 19:39:19 -05:00
Cole Robinson
6d3b5e2838 cli: Have '--input tablet' default to bus=usb (bz 1232087)
Make the default a little smarter in other ways too
2015-11-21 20:26:50 -05:00
Cole Robinson
4f9fd84f8f diskbackend: Use type=file for empty cdrom, not type=block
It doesn't have any operational effect, however since most people use
type=file for cdrom isos, this makes it easier for people to hand edit
the XML.
2015-11-21 20:07:05 -05:00
Cole Robinson
e18d2caa45 create: Don't go back to NewVM on error, if customize dialog launched
The code really isn't set up to handle exiting the customize dialog,
so just make the UI enforce it.
2015-11-21 19:55:48 -05:00
Pavel Hrdina
0ccbcd8883 storage: remove attempt counter from disk allocation thread
Remove the lookup counter from _progress_thread, it's not necessary, the
loop is terminated by _install_finished boolean.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-19 15:09:59 +01:00
Cole Robinson
e68efe8103 domain: Use setMemoryStatsPeriod for QEMU
Since that's what is required to get cooperative memory stats from
the guest balloon driver.
2015-11-18 21:20:36 -05:00
Cole Robinson
3b7366d608 domainnumatune: Remove generate_cpuset helper
This is the function that handled the cpuset=auto old behavior. The last
two commits killed the users, so it's no longer needed
2015-11-18 15:08:24 -05:00
Cole Robinson
0d095e22f7 cli: Have --vcpu cpuset=auto use placement=auto
For many years virt-install has supported a bit of logic that maps
--cpuset=auto to a CPU pinning based on host NUMA topology; we look
for a NUMA node who's current free memory is closest to the requested
memory allocation. This isn't very useful though, since it's a one time
allocation, the conditions at VM creation time likely aren't the
conditions of the machine in the future.

Libvirt has supported a smarter option in vcpu placement=auto for a long
while, which will perform a similar operation but at every VM startup.

Convert cpuset=auto to use this functionality instead.
2015-11-18 15:00:54 -05:00
Cole Robinson
492c9c4f28 cli: Add --vcpu placement=static|auto option 2015-11-18 15:00:42 -05:00
Cole Robinson
e9d5347395 cli: Support --network link_state=up|down 2015-11-18 13:59:15 -05:00
Kevin Zhao
35792f7dd6 Add the console target "sclp" for s390x
Add console target "sclp" for s390x ,since the newest Distro guests has
supported the console target, solve some console issues in s390x.Also
modified the test xml cover this change.

crobinso: fix the test suite output
2015-11-16 19:54:15 -05:00
Cole Robinson
72f83b638d guest: Clarify archs that skip adding the qemu-ga channel 2015-11-10 17:55:55 -05:00
Kevin Zhao
07e22c926a Add a watchdog model diag288, listed in the watchdog model list.
Since the qemu 2.4 has supported the watchdog device diag288
for s390x,so add it in the optional model list. Also modefied
the clitest xml to cover this change.
2015-11-10 16:14:17 -05:00
Pavel Hrdina
1a760e74d8 virtinst.connection: detect RHEL system also for session connection
We should detect RHEL qemu also for session connection, not only system
connection, the capabilities of both are the same.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-05 13:34:13 +01:00
Kevin Zhao
2aca20141e Remove default channel for s390x.
The Qemu guest agent change for 390x,remove default channel device
for s390x and regenerate the test output.Modified the clitest xml.
2015-11-04 14:42:26 -05:00
Cole Robinson
ac6c1df1ac osdict: Remove redundant os name lookup 2015-11-03 16:00:52 -05:00
Cole Robinson
b7e073a407 osdict: Disable x2apic for solaris10 (bz 1262093)
It breaks networking:
https://bugzilla.redhat.com/show_bug.cgi?id=1262093
https://bugs.launchpad.net/bugs/1395217
2015-11-03 16:00:52 -05:00
Pavel Hrdina
5c3758142d virt-install: always enable pae for xen hvm 64bit guest
According to xen documentation 64bit guest has to have pae enabled in
order to be able to run 64bit OS.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-03 16:37:17 +01:00
Pavel Hrdina
627abed9c1 virt-clone: fix pylint error
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-03 11:48:26 +01:00
Pavel Hrdina
a8110c6cd7 virt-install: report warning for cpuset=auto on non-NUMA host
Currently we report an error but continue with installation, we should
report warning instead of error.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-03 11:03:14 +01:00
Pavel Hrdina
4578a4ec0f virt-install: use correct path for linux and initrd for SLES on ppc64
Install DVD of SLES for ppc64 has different path where linux and initrd
are located.  Add those paths to kernel_paths to search also there, in
case we are installing SLES on ppc64 host.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-02 17:40:35 +01:00
Pavel Hrdina
3a33f3414f virt-clone: remove socket path for unix channel
Libvirt automatically generates this path with a guest name used as
directory.  The new conception is to have all sockets for one guest in
it's own directory and in order to successfully clone a guest, we need
to remove this path to regenerate it with new guest name.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-02 13:20:15 +01:00
Abhijeet Kasurde
e5a0d1cbb8 Added support to on_lockfailure
Added cli option to specify on_lockfailure in events.
Also, added various testcases and related output XMLs.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

(crobinso: add clitest.py example)
2015-10-07 10:25:12 -04:00
Giuseppe Scrivano
c0a27bb9b4 urlfetcher: Recognize RHEL Atomic Host ISOs
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1268001

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-10-05 21:54:30 +02:00
Abhijeet Kasurde
d7e678cb28 Added support pvspinlock in features
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2015-10-05 15:14:34 -04:00
Charles Arnold
f30975c3f8 storage: remove cow as supported format
Support for this format was removed about a year ago from
qemu with this commit,

commit 550830f9351291c585c963204ad9127998b1c1ce
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date:   Tue Sep 16 15:24:24 2014 +0100

    block: delete cow block driver

Signed-off-by: Charles Arnold <carnold@suse.com>
2015-09-29 16:33:16 -04:00
Cole Robinson
f371ac0de3 virt-install: Don't add USB tablet if user disables USB controller 2015-09-28 19:01:44 -04:00
Cole Robinson
65aba92797 virt-install: Add --feature pmu=on|off 2015-09-28 17:12:42 -04:00
Cole Robinson
b520a659a3 urlfetcher: Add some debugging to debian distro detection 2015-09-23 18:21:26 -04:00
Cole Robinson
4057de13f2 osdict: Use qxl for newer ubuntu
Works better in my testing as explained in the comment
2015-09-23 18:10:40 -04:00
Cole Robinson
7c10d8a27f devicedisk: Tweak driver defaults for xen
Following some discussion here:

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

jfehlig suggested better defaults for modern xen. End result is:

- Drop the blktap check, since it's deprecated (yaay)
- If xen + block device, use driver_name=phy
- Otherwise if on modern enough libvirt + libxl, do the same thing we
  do for qemu.
2015-09-23 17:26:48 -04:00
Cole Robinson
2f775b6bf0 Mark more UI strings as translatable 2015-09-23 16:39:48 -04:00
Cole Robinson
7f1af40262 tests: Share sanitize_xml helpers 2015-09-22 12:41:57 -04:00
Cole Robinson
29745a9f75 clitest: Do a basic xen-pv install test 2015-09-22 12:41:57 -04:00
Cole Robinson
9dd0900b7d guest: Add default console device for xenpv
Libvirt already adds one so this is kinda redundant, but it makes
things clearer in the virt-manager 'customize' UI at least.
2015-09-22 12:41:57 -04:00
Cole Robinson
a538b69356 guest: Remove code for default virtio console
It's been disabled for a while and we don't plan on re-enabling it
2015-09-22 12:41:57 -04:00
Cole Robinson
f73a7e69a4 capabilities: Handle xen outputting os_type=linux
F22 libxl xen still puts old style type=linux in the XML, so we need to
handle it for caps lookup
2015-09-22 12:41:57 -04:00
Cole Robinson
85307b9bd2 devicefilesystem: Default to accessmode=mapped for qemu
libvirt qemu default's to accessmode=passthrough, which really only
works correctly when qemu is run as root, which isn't common for libvirt
nowadays. So use accessmode=mapped which has a better chance of working
2015-09-20 20:33:46 -04:00
Cole Robinson
6a9f0089b9 devicefilesystem: Rename mode->accessmode
To reflect the name in the XML
2015-09-20 20:16:21 -04:00
Cole Robinson
d5d6cfff2c Copy urlgrabber progress bar code into virt-manager.git
This is so we can drop the dep on system python-urlgrabber, which will
block us from going to python3.

All we need is like 300 lines from python-urlgrabber for the progress
bar. In reality our needs are much lower, we don't need the fancy
progress bar that urlgrabber provides, but it's nice to have. So if
keeping a copy of this code causes issues in the future, we can probably
come up with something simpler (or hopefully there's a more common
python progressbar impl that we can use at that point).
2015-09-18 20:55:44 -04:00
Cole Robinson
5584863d18 urlfetcher: Switch to requests and urllib2 instead of urlgrabber
urlgrabber is largely dead upstream and isn't going to be ported to
python3 AFAIK. So we will need to move off of it eventually.

Use requests for http handling which is the most common library nowadays,
and just plain old urllib2 for ftp fetching.
2015-09-18 19:50:35 -04:00
Cole Robinson
9a4f15f4ad urlfetcher: Rework early treeinfo lookup
We are duplicating the regex checks which I don't like. So just grab
the treeinfo early, and use that during the main distro lookup
2015-09-18 18:01:57 -04:00
Cole Robinson
b7beb0edb0 urlfetcher: Use python style tempfiles
Simplifies things WRT writing file contents
2015-09-18 17:11:37 -04:00
Cole Robinson
cda3e381e6 urlfetcher: Bunch of small cleanups to the ImageFetcher classes 2015-09-18 17:08:34 -04:00
Cole Robinson
053cda8de7 virt-manager: Add hidden options --test-old-poll and --test-no-events
For easy testing of fallback codepaths
2015-09-17 15:18:22 -04:00
Cole Robinson
b15c44923c capabilities: Handle missing cpu_map.xml
It shouldn't be a fatal issue. Hit on freebsd where they install
libvirt bits into /usr/local

https://www.redhat.com/archives/virt-tools-list/2015-September/msg00056.html
2015-09-16 16:55:37 -04:00
Cole Robinson
590f5a525b urlfetcher: Clear cached ftp connection on cleanupLocation
Reported-by: Chun Yan Liu <cyliu@suse.com>
2015-09-14 10:34:19 -04:00
Charles Arnold
360fe11040 virtinst: correctly find the sles s390x kernel and initrd
Allow virt-install to correctly find the SLES kernel/initrd on the media
when installing an s390x VM.

Signed-off-by: Charles Arnold <carnold@suse.com>

(crobinso: fix minor pep8 issues)
2015-09-11 12:48:52 -04:00
Cole Robinson
6e9195cf2f devicedisk: Don't perform local permission check in test suite 2015-09-09 14:26:49 -04:00
Cole Robinson
e3fb2f9023 virt-manager: Don't print ugly logging if VIRTINST_TEST_SUITE set 2015-09-08 12:33:35 -04:00
Pavel Hrdina
39da70a456 Added option to enable kvm_hidden feature in virt-install cmd-line
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2015-09-08 12:03:04 +02:00
Cole Robinson
60d6161efc create: Clean up default storage if VM fails (bz #799721)
Similar to the virt-install change, we only do this with default storage
if the installed failed in such a way that we never left the wizard.

It isn't going to cover all cases, but should handle the common issue
of stranded disk images

https://bugzilla.redhat.com/show_bug.cgi?id=799721
2015-09-06 15:10:17 -04:00
Cole Robinson
697164f2e5 virtinst: Centralize urlgrabber meter lookup
We will eventually want to drop this dep since it's basically dead
upstream, this is a small step in that direction
2015-09-06 15:09:44 -04:00
Cole Robinson
1237be9d1a virt-install: Clean up created disk images if VM creation fails
We are conservative here, only cleaning up disk images if libvirt
fails to even accept the XML. Otherwise the VM may already be
running or defined, and the user has to do some cleanup anyways.
2015-09-06 14:27:37 -04:00
Cole Robinson
1d7b74ba52 uri: Add a MagicURI class for handling magic virtinst URIs
And document it
2015-09-06 12:00:25 -04:00
Cole Robinson
57fa64e542 details: Use devicedisk path lookup for source_pool 2015-09-05 17:59:47 -04:00
Cole Robinson
d449fb6fd5 xmlbuilder: Kill make_xpath_cb
There's no users left, and it's better to come up with a solution at
the caller anyways
2015-09-05 17:20:43 -04:00
Cole Robinson
9e23843961 devicechar: Simplify host/port/mode handling
It's kinda crazy, and parts of cli API depend on it, but we can strip
a lot of the confusing bits away by pushing a small bit of logic to
the callers.
2015-09-05 17:16:18 -04:00
Cole Robinson
3f6081abe5 disk: Support <seclabel> overrides 2015-09-05 14:42:03 -04:00
Cole Robinson
68962f48f7 virtinst: Support multiple seclabels
libvirt has supported this for a while. Wire it all up through the
cli, and fix some bad assumptions along the way.
2015-09-05 13:49:36 -04:00
Cole Robinson
7786c4b35b xmlbuilder: Make clear() work for child objects
So we can call clear() on a Guest owned VirtualDisk, and it actually
does the correct thing. This allows us to enable clearxml= cli option
for most devices.
2015-09-05 13:16:35 -04:00
Cole Robinson
4d87d2f27b cli: Make child lookup not specific to guest devices
<seclabel> is not singleton nowadays, so we need to extend our
infrastructure to handle non-device child properties. This is part of
that
2015-09-04 16:16:25 -04:00
Cole Robinson
acfb988945 xmlbuilder: Make _add_child and _remove_child public
We have a lot of functions that are just wrappers around these, so
make it public for future use.
2015-09-04 15:47:43 -04:00
Cole Robinson
5e68b0fc3d guest: Don't try to set vmport on non-x86, it isn't supported (bz 1259998) 2015-09-04 12:14:22 -04:00
Cole Robinson
cde2f0ef67 Suppress gi warnings about lack of require_version 2015-09-03 17:31:43 -04:00
Charles Arnold
eb92178e0c storage: fix default storage pool lookup
virt-convert fails when the storage pool is already present but
is not called 'default'.

If the 'default' pool has been removed but another pool uses the
default location of /var/lib/libvirt/images virt-convert will fail
to find the pool and attempt to create another one with the same
path. This causes the conversion to fail.

Signed-off-by: Charles Arnold <carnold@suse.com>

(crobinso: Remove now-redundant 'pass')
2015-08-31 18:25:37 -04:00
Daniel P. Berrange
d6ea493d1b virtinst: support virtual port parameters for non-802.1Qbg NICs
Previous commit added support for virtual port profiles
on NICs, but only defined the attributes needed by the
802.1Qbg NIC type.

  commit 34e2ca8389
  Author: Cole Robinson <crobinso@redhat.com>
  Date:   Fri Jan 31 16:51:02 2014 -0500

    cli: --network: Wire up virtualport options

This commit adds the profileid and interfaceid parameters
needed by 801.Qbh, openvswitch and midonet

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2015-08-28 12:40:18 +01:00
Cole Robinson
55b43dcbb8 osdict: Fix unix alias
Needs to point to proper libosinfo name freebsd9.0
2015-08-10 13:01:04 -04:00
Cole Robinson
82ea5bfc62 tests: Add qemu:///session unit tests 2015-08-10 12:46:47 -04:00
Cole Robinson
e22aeac5ae storage: session path should be ~/.local/share/libvirt/images
Not .local/libvirt/images :/ App dirs aren't supposed to be in ~/.local
2015-08-10 12:35:13 -04:00
Giuseppe Scrivano
76d6c5b597 virtinst: fix two undefined variable warnings
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-08-05 13:53:19 +02:00
Pavel Hrdina
745fa9fa5e scsi-storage: unify SCSI storage code and logic
There is no virtio-scsi or spapr-vscsi bus, but only 'scsi' bus.  There
are several types of SCSI controllers, but the SCSI storage don't care
about the SCSI controller and there is also no difference in address
specification or address type.  Use only 'scsi' bus for all SCSI storages
to correspond the reality and also the libvirt domain XML.  The only
difference is in the type of SCSI controller

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-08-05 13:41:47 +02:00
Pavel Hrdina
b06c91d2fc hostdev: add an address element for USB host devs if necessary
This issue was fixed for few years but only in virt-manager,
virt-install has the same bug.  If you have two USB devices with same
vendor and product ID, you need to use also address element to create
a valid XML to define that device into a guest.

This patch moves the logic from vmmAddHardware into VirtualHostDevice in
order to not duplicate that code for virt-manager and virt-install.

Also update the tests files to properly check this functionality.  I've
changed the USB device according the 'tests/testdriver.xml' and picked
one of the USB HUBs, because they have the same vendor and product ID.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-08-05 13:32:04 +02:00
Chen Hanxiao
a51eea16f8 cli: fix a comment typo
s/uncoditionally/unconditionally

Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
2015-07-30 11:05:59 +08:00
Pavel Hrdina
466bf929ea osxml: detect all pseries machine types
For example the machine type could be "pseries-<host-os-version>".

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-07-22 15:20:04 +02:00
Pavel Hrdina
2d9587c114 support: enable hv_time since qemu-kvm 1.5.3 from RHEL
This feature is available in upstream Qemu since 2.0.0 but it was also
back-ported to downstream Qemu into qemu-kvm-1.5.3 released in RHEL-7.
Add a new check and enable hv_time also in RHEL systems if qemu new
enough.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-07-21 10:51:41 +02:00
Pavel Hrdina
1590490fa3 capabilities: detect ACPI and APIC capabilites properly
Instead of hard-coding that ACPI and APIC are enabled by default, detect
their presence from libvirt capabilities and use it.

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

(crobinso: Adjust for recently added test case)

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-07-14 13:26:42 -04:00
Pavel Hrdina
3ff35898a4 refactor detection of guest type capabilities
Each guest type can have its own capabilities and we should always ask
only for those capabilities.

The old approach was to get capabilities from libvirt and then for
example cycle trough all guests and return True, if any guest type
supports kvm or pae, etc.

Now we check those capabilities only for the correct guest type
according to defaults and input from user.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-07-14 13:11:40 -04:00
Pavel Hrdina
a2505def2c pep8 E731: do not assign a lambda expression, use a def
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-07-14 13:01:20 -04:00
Pavel Hrdina
c7049eb120 pep8 W503: line break before binary operator
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-07-14 13:01:20 -04:00
Kevin Zhao
8dbe96fc01 virt-manager : add support for architecture type "s390x".
For architecture "s390x",the disk and the network device are base
on "virtio" bus.The cdrom is based on "scsi".So set the default
cdrom bus as "scsi",the default bus as "virtio".Also the default
machine type is set to "s390-ccw-virtio" as it is the only supported
in "s390x".Also add a test cast of virt-install by cdrom in s390x.

(crobinso: Tweak test suite and minor formatting stuff)
2015-07-14 12:45:32 -04:00
Pavel Hrdina
a9b303fb14 virtinst.cpu: fix copy host cpu definition
Commit cac4ac14 updated cpu features to use XMLBuilder and this change
removes the 'Features' class.  There is no longer any '.names()'
method to return names, so just cycle through all features and use a
name attribute instead.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-07-14 11:53:02 -04:00
Cole Robinson
bfa5762d9e guest: Add install cdrom in set_defaults, not start_install (bz 1220180)
Fixes weirdness when using addhardware wizard for a customized VM,
and makes the code easier to follow anyways.
2015-06-06 17:02:20 -04:00
Cole Robinson
cdc0a8fe41 guest: Remove unused code
We don't support the transient install disks anymore
2015-06-06 14:59:48 -04:00
Giuseppe Scrivano
f5a13510eb clone: do not use a '/' separator when using a disk file under /
It avoids file names like //foo.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-06-06 00:00:40 +02:00
Christophe Fergeau
a22f75544e Fix 'conveninece' typo in API documentation 2015-06-05 16:37:39 -04:00
Pavel Hrdina
0fbe8e7a1f translation: fix wrong usage of _() function
All the strings have to be at first translated and then we can fill the
formated and translated string.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-06-05 16:33:51 -04:00
Cole Robinson
03c24ca5cb Fix a pylint warning 2015-06-05 16:31:07 -04:00
Lin Ma
5618fa4c5d urlfetcher: Add support for detecting os variants of suse distros
Detect os variants information based on content file

From: Charles Arnold <carnold@suse.com>
Signed-off-by: Lin Ma <lma@suse.com>
2015-06-05 16:00:19 -04:00
Lin Ma
23f262ec7c urlfetcher: Fetch URL media from content file for suse distros
SUSE distro includes a file named content, It includes media information.
This patch adds the ability that fetching url media information through this file.

From: Charles Arnold <carnold@suse.com>
Signed-off-by: Lin Ma <lma@suse.com>
2015-06-05 16:00:19 -04:00
Charles Arnold
9ea3fcd1fc urlfetcher: Add classes for SUSE distros
Signed-off-by: Lin Ma <lma@suse.com>
2015-06-05 16:00:19 -04:00
Giuseppe Scrivano
f8af2e6b10 create: verify HYPER-V support after customization
commit 938060ae53 moved default devices
setup to happen before UEFI is set invalidating what the commit
5acfccf6032abb9e8be89130d05b661e8b3f42c7 does.

Add another check to happen before installing the guest to disable
HYPER-V when not supported.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-05-20 22:48:33 +02:00
Lin Ma
bbc4f83bd3 virtinst: enable qemu_ga for sles-11-sp4 and newer
Qemu guest agent becomes available since sles 11 sp4 distro,
So enable qemu_ga while installing sles11sp4 and newer sles.

Signed-off-by: Lin Ma <lma@suse.com>
2015-05-20 14:01:50 -04:00
Cole Robinson
e8e2c831bf addhardware: Don't list device 'default' options
This is really only useful for building default XML internally, and
for virt-install stuff like --watchdog default. Instead just select
the 'default' value in the wizard
2015-05-19 18:29:45 -04:00
Michał Kępień
c4d26d16a6 pollhelpers: Fix VM polling on old libvirt
https://bugzilla.redhat.com/show_bug.cgi?id=1219443
2015-05-07 11:10:20 -04:00
Cole Robinson
2d54949719 virtinst: Drop a bunch of uses of xmlbuilder make_xpath_cb
I'd like to drop that functionality from xmlbuilder, and just open
code it at the callers... this is most of the way there
2015-05-06 16:26:51 -04:00
Marc-André Lureau
ddfca74e54 virtinst: set vmport off by default when has_spice()
Spice is better off without vmport enabled, to be able to switch between
absolute and relative mouse mode easily.
Message-Id: <1428012248-5767-5-git-send-email-marcandre.lureau@gmail.com>
2015-05-04 12:40:13 -04:00
Marc-André Lureau
ede876e792 virtinst: set_graphics_defaults() first
Some later options may require Spice (or other) to be enabled,
so call set_graphics_defaults() earlier.
Message-Id: <1428012248-5767-4-git-send-email-marcandre.lureau@gmail.com>
2015-05-04 12:40:13 -04:00
Marc-André Lureau
b44cfde6ac virtinst: add features.vmport option
Message-Id: <1428012248-5767-3-git-send-email-marcandre.lureau@gmail.com>
2015-05-04 12:40:13 -04:00
Marc-André Lureau
ea4aa9ffc4 virtinst: add new vmport domain feature
This should be available with libvirt 1.2.16
Message-Id: <1428012248-5767-2-git-send-email-marcandre.lureau@gmail.com>
2015-05-04 12:40:13 -04:00
Cole Robinson
252c216fb9 createpool: Don't unconditionally use /var/lib/libvirt
Doesn't make sense for session URIs
2015-05-02 19:54:14 -04:00
Cole Robinson
45e6cd4cac Remove redundant 'default dir' functions 2015-05-02 19:48:04 -04:00
Cole Robinson
015da05973 storage: Use .local/libvirt/images for session URIs
.config isn't really appropriate
2015-05-02 19:09:14 -04:00
Cole Robinson
8369c65966 storage: Use ~/.config/libvirt/images for qemu:///session
It doesn't create the annoying ~/VirtualMachines directory, and already
has proper labelling.
2015-04-24 21:01:55 -04:00
Cole Robinson
33cfe883c6 guest: arm kvm should use host-passthrough, not model=host
Seems to work with libvirt, not sure if it was ever broken as the comment
suggested.
2015-04-23 10:14:58 -04:00
Cole Robinson
6fd3983f6d tests: Clean up capabilities test data
Make it clear which ones are used for the caps unit tests, and which
are for cli/UI testing and can be updated at will. And drop a bunch
of outdated stuff.
2015-04-22 19:05:06 -04:00
Cole Robinson
070664b9e7 tests: Enable property checking for all objects
And loosen restrictions a bit so any read/write will trigger the
tracking.
2015-04-22 16:26:03 -04:00
Giuseppe Scrivano
1c22118179 aarch64: support virt-rhelsa7.1 machine type
Just check for the prefix of the machine type, as it is done for ARM
vexpress.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-04-22 19:08:02 +02:00
Cole Robinson
dcfce5585a osdict: If detecting fedora-unknown, convert to latest fedora
That's basically what it is internally for libosinfo, and it helps
us generate better names in virt-manager
2015-04-13 17:07:16 -04:00
Cole Robinson
4553912c64 diskbackend: Fix busted volume lookup API name 2015-04-13 16:41:59 -04:00
Cole Robinson
93f826a8b2 cli: Replace add --check option (bz 1063471)
For fine grained enabling/disabling validation checks. Use this to
replace the heavy handed --force option.
2015-04-11 19:48:35 -04:00
Cole Robinson
0f3d86ac9e guest: Disable PM for virt-install as well
We are just mirroring the behavior that virt-manager (and boxes) have
used for a while now.

In my experience the average user is confused by their VMs suspending,
so for our sake I'd rather make people opt into this feature.
2015-04-11 18:02:45 -04:00
Cole Robinson
a2c7d62ec4 guest: Disable spice image compression for local VMs
The image compression setting has a noticably detrimental effect on
spice graphics quality. It's meant to be used for spice VDI but the
vast majority of people don't use spice in a way that makes bandwidth
usage matter.

Boxes has already done this for a while as well:

https://mail.gnome.org/archives/commits-list/2013-March/msg14904.html

Turn it off by default if creating the VM on a local connection.
2015-04-11 17:53:17 -04:00
Cole Robinson
20d37422fe virt-install: Fill in a bunch of --graphics spice options (bz 1110017) 2015-04-11 16:56:27 -04:00
Cole Robinson
9a789c19e2 virt-install: Support --hostdev scsi passthrough (bz 1054912)
Pass it a type=scsi nodedev name, and we will set things up correctly.
2015-04-11 15:55:09 -04:00
Cole Robinson
9a1fc63c89 manager: Disable 'force reset' if HV doesn't support it (bz 1078731) 2015-04-11 14:01:45 -04:00
Cole Robinson
4781ad6cd6 connection: Simplify manager row 'pretty name' handling
Unify all the callers, and use some UI ellipsizing to handle
crazy long hostnames.

This drops the conn name collision prevention stuff which can be
useful when you have lots of similar connection names. But upcoming
patches will make it mostly redundant.
2015-04-11 12:57:32 -04:00
Cole Robinson
fc171fc31d connection: Bunch of minor tweaks handling TCP URIs 2015-04-11 12:08:57 -04:00
Cole Robinson
838baf6946 connection: tick: Operate on combined object lists
Makes the flow a bit simpler, and allows us to break out polling without
having to pass around a ton of lists.
2015-04-10 15:00:34 -04:00
Cole Robinson
cb5d075f50 libvirtobject: Unify a few APIs and conn tick handling 2015-04-10 15:00:34 -04:00
Giuseppe Scrivano
616df760be storage: copy allocation and capacity also on cross-pool clones
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1210265

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-04-10 16:40:49 +02:00
Cole Robinson
527c49dec2 virt-install: Add --input option
For configuring VM <input> devices
2015-04-09 13:22:40 -04:00
Cole Robinson
6634053533 domcapabilities: Can and log error fetching XML (bz #1209723) 2015-04-08 09:53:30 -04:00
Cole Robinson
cc3a522455 Use is_pseries() helper more consistently 2015-04-08 09:31:01 -04:00
Cole Robinson
9b21f27e31 cli: Maintain same --print-xml behavior for non virt-install
Don't want it scooping up any nargs
2015-04-07 19:58:28 -04:00
Cole Robinson
a5d03fdf6e guest: Don't unconditionally overwrite on_poweroff/on_crash 2015-04-07 19:53:15 -04:00
Cole Robinson
86f1133777 guest: Encode defaults into the XML at install time
Previously we made all the default encoding non-permanent by XML objects
before generating the XML, making changes to the copies, and restoring
to the old state after the XML is returned to the user.

This allows us to call start_install multiple times with the same Guest
object and not alter it's original config... but that feature isn't really
useful anymore, and this behavior makes the 'customize before install'
dialog difficult to handle.

So drop most of it, and fix some of the minor fallout.
2015-04-07 18:36:06 -04:00
Cole Robinson
a773a66a3f virtcli: Export config variables in a class object
Makes things easier to extend later
2015-04-06 15:54:35 -04:00
Cole Robinson
e29f216503 guest: Use sata by default for q35 cdrom, non-virtio (bz #1207834) 2015-04-06 13:43:18 -04:00
Cole Robinson
feb010621b addhardware: Don't advertise IDE for Q35 (bz #1207834)
Laine suggests we hide it altogether
2015-04-06 13:36:54 -04:00
Cole Robinson
3a36d95da0 details: Explicitly label virtio scsi disks + controllers 2015-04-04 20:06:40 -04:00
Cole Robinson
3d6831ec8f virt-install: Deprecate --print-step, just use --print-xml
argparse lets us handle this in a back compat fashion, so let's simplify
the CLI.
2015-04-04 17:10:45 -04:00
Cole Robinson
af64b79679 osdict: Use is_related_to for support check
Simplifies our whitelist maintenance
2015-04-04 16:08:00 -04:00
Cole Robinson
393aed191e urlfetcher: Detect centos URLs as centos, not rhel variants 2015-04-04 15:41:13 -04:00
Cole Robinson
d0c65b30a4 osdict: Simplify a bunch of the checks, drop some legacy stuff 2015-04-04 15:32:35 -04:00
Cole Robinson
a7dbc5e250 tests: Add more osdict.py coverage 2015-04-04 14:43:12 -04:00
Cole Robinson
ce73272c7e create: Drop hardcoded STABLE_OS_SUPPORT list
It's out of date, and doesn't even seem to work with current RHEL versions
and no one is complaining.

If we want to add it back, it should be an explicit setup.py configure
option.
2015-04-04 13:48:15 -04:00
Cole Robinson
595b5b4bdf osdict: Drop explicit 'type' class
create.py is the only thing that cares about this nowadays, so we can
work with things to make it all simpler.
2015-04-04 12:48:50 -04:00
Cole Robinson
bd9ab2d5b5 osdict: Add toplevel OSDB as API entry point
Makes code more readable, and lazy loading simpler.
2015-04-04 12:06:41 -04:00
Cole Robinson
f644b0997d osdict: Have users call functions, rather than access properties
Gives us more future flexibility, and simplifies the flow quite a bit.
2015-04-04 11:24:18 -04:00
Cole Robinson
710c588eaf guest: Use cached osdict object for all lookups
Rather than have lookup_osdict_key constantly do the dictionary lookup.

This is step one towards simplifying the osdict lazy loading
2015-04-04 11:23:54 -04:00
Cole Robinson
36e46d0276 capabilities: Use _CapsInfo to simplife recommended_machine 2015-04-03 17:37:08 -04:00
Cole Robinson
97259c4d9b capabilities: Store results of guest_lookup together
Simplifies API users lives to not have to remember whether caps guest
or caps domain contains a particular value.
2015-04-03 17:37:08 -04:00
Cole Robinson
81a1910d90 capabilities: Rename no_install_options -> has_install_options
It's easier to visually parse the wording
2015-04-03 17:25:29 -04:00
Cole Robinson
fe9ffe86f6 capabilities: Drop xen-only bios virt checks
These only work for xen x86, and are less relevant nowadays since HW
virt has been around for a very long time. Also it's tough to be sure
that we aren't giving a bogus warning.
2015-04-03 17:25:29 -04:00
Cole Robinson
4e9f70f9b3 Drop all references to kqemu, it's long dead 2015-04-03 16:45:43 -04:00
Cole Robinson
f5b13a6e19 Drop all references to xenner, it's long dead 2015-04-03 16:45:43 -04:00
Cole Robinson
45ae269950 storage: Use XMLBuilder for pool enumerate parsing
And kill the parse_node_helper function, since that paradigm is dead.
2015-04-03 16:45:43 -04:00
Cole Robinson
d4dfbd41b5 capabilities: Use XMLBuilder for cpu_map parsing
And clean up the internal bits a little
2015-04-03 16:45:43 -04:00
Cole Robinson
cac4ac1401 capabilities: Switch to use XMLBuilder
Just a cleanup to finally unify all the XML objects around the same
API, and drop a bunch of old cruft.
2015-04-03 16:45:42 -04:00
Charles Arnold
20fe287341 virt-manager: Don't allow an empty string for a network name
When starting the 'Create virtual network' wizard, you are allowed to proceed
without specifying a Network Name.  An error only occurs after all else is
completed with the wizard. This patch stops the user from proceeding if a
network name has not been specified.

The check for an empty string is done in util.py which also effects storage
pool names and guest names neither of which should have empty strings.

Signed-off-by: Charles Arnold <carnold@suse.com>

Message-Id: <551D664702000091000F42E8@prv-mh.provo.novell.com>
2015-04-03 10:49:42 -04:00
Giuseppe Scrivano
bbb96bcaa8 clone: keep the same image format on a cross-pool clone
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2015-04-01 11:56:34 +02:00
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