Commit Graph

215 Commits

Author SHA1 Message Date
Cole Robinson
c84c2cfd58 devicechar: Support source_master and source_slave
Needed for type=nvdm for *bsd

https://bugzilla.redhat.com/show_bug.cgi?id=1369803
2016-08-24 16:37:36 -04:00
Cole Robinson
322d212516 cli: Add --serial log.file= and log.append=
And for other character devices --console, --parallel, --channel
2016-07-18 15:04:40 -04:00
Cole Robinson
40e0354631 guest: Fix multiple address.type=pci auto allocate requests
And test it for aarch64, which is the only place it's really
interesting at the moment
2016-06-17 17:17:49 -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
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
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
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
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
Chen Hanxiao
70299a32c5 test: Fix tests with latest libvirt
libvirt commit
b33c14b342e5c2abeeee91c852ef2032327cb355
introduce this.

Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>

(crobinso: add proper compare_check annotations to clitest to skip
 changed tests on older libvirt)
2016-06-07 10:31:04 -04:00
Cole Robinson
443b64b64d tests: Add some spice gl related virt-xml tests 2016-05-20 14:51:31 -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
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
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
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
e669e67b40 tests: Adapt for new video primary= output in libvirt 1.3.3 2016-04-09 09:17:01 -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
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
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
Michal Privoznik
da6b547ca4 test: Adapt to new libvirt
In libvirt commit 36785c7e775f3 the input devices are no longer
added by default in XML parsing phase rather than on domain
startup. However, we are not starting a domain just merely
playing around with its definition. Therefore we should adjust
expected outputs.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2016-01-29 15:29:05 -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
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
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
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
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
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
Kevin Zhao
79d02e356b Add a capatilities-xml for s390x, and add a clitest for it.
Add a capatilities xml file for s390x ,the capatility for IBM
Distro called KVMIBM,mainly focus on a KVM hypervious on S390x.
Also add a clitest by using virt-install.
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
8e9d50c75e tests: introduce a test for removing unix channel path for virt-clone
Commit 3a33f341 fixed an issue, where we should remove source path for
unix channel in order to let libvirt generate new one.  Add a test case
to cover this change.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2015-11-03 11:48:53 +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
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
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
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