392 Commits

Author SHA1 Message Date
Cole Robinson
908faaffee cli: --cpu: add topology.*
We already expose these via --vcpus, but that's for back compat. New
options are under --cpu at:

topology.sockets
topology.cores
topology.threads
2019-05-14 14:36:40 -04:00
Cole Robinson
a6b5f11f13 cli: --metadata: add genid= and genid_enable=
The latter is for triggering <genid/> bool XML, which tells libvirt
to auto-allocate a UUID. The cli isn't really XML conformant but
I can't think of anything better that is self advertising
2019-05-14 14:36:40 -04:00
Cole Robinson
7083294e2c cli: --sysinfo: Add oemStrings.entry[0-9]* 2019-05-14 14:36:40 -04:00
Cole Robinson
d16425aa8f cli: --sysinfo: Add chasis suboptions
Add the following --sysinfo suboptions:

- chassis.manufacturer
- chassis.version
- chassis.serial
- chassis.asset
- chassis.sku
2019-05-14 14:36:40 -04:00
Cole Robinson
773625bfab cli: --boot: add initarg[0-9]*=X
We keep the old initargs="string" support as well, but also advertise the
explict XML list support
2019-05-14 14:36:40 -04:00
Cole Robinson
e5480829b6 cli: --boot: Add explicit boot[0-9].dev config
We keep the old bootorder support as well, but also advertise the
explict XML list support
2019-05-14 14:36:40 -04:00
Cole Robinson
c31443a810 cli: Add driver.ats= and driver.iommu for virtio devices
This is shared XML schema used by multiple devices that support virtio
2019-05-14 12:45:57 -04:00
Cole Robinson
2344de6f38 cli: device: Add boot.loadparm= 2019-05-14 12:33:07 -04:00
Cole Robinson
13dbc715be cli: Add common device options for --memdev and chardevices
They both can handle explicit address config and alias config, so
wire it up
2019-05-14 12:25:00 -04:00
Cole Robinson
0e8e3c0bbf cli: device: add alias.name= 2019-05-14 12:23:00 -04:00
Cole Robinson
0eb2b167f9 cli: device: Add address.zpci.uid and address.zpci.fid 2019-05-14 12:20:53 -04:00
Cole Robinson
ca0f9e18cc cli: Add --serial target.model.name=
This maps to XML like:

  <serial>
    <target>
      <model name='X'/>
    </target>
  </serial>
2019-05-14 11:57:50 -04:00
Cole Robinson
bf2fe0790e cli: Add --serial target.port= option
This maps to the XML like:

  <serial>
    <target port='X'/>
  </serial>
2019-05-14 11:57:50 -04:00
Cole Robinson
0f81eff588 clitest: Remove long option newline escaping
Apparently we don't actually need it
2019-05-14 11:57:50 -04:00
Cole Robinson
f3fd6d200b cli: --smartcard: support database= and certificate[0-9]*=
For mode=host-certificates config
2019-05-14 11:57:50 -04:00
Cole Robinson
c0ddb86918 tests: clitest: define XML generated from compare tests
All our virt-install/virt-clone compare tests aren't actually
attempting to define the XML, meaning we could be generating bogus
output. Enable it, then fix the fallout, mostly some places we are
triggering libvirt XML validation
2019-05-14 11:57:50 -04:00
Cole Robinson
5e98bfba80 tests: clitest: Break up test run() function 2019-05-14 11:57:50 -04:00
Cole Robinson
c85bb61559 devices: char: Wire up seclabels in CharSource
And expose the config options on the command line for all CharSource
users
2019-05-14 11:57:50 -04:00
Cole Robinson
423b084e02 cli: Share char source arguments among all CharSource users
Add char source arguments to all users:

--serial
--parallel
--console
--channel
--smartcard
--rng
--redirdev

Not all source options apply to all types, but libvirt doesn't
really discriminate, so we should do the same.
2019-05-14 11:57:50 -04:00
Cole Robinson
721ac4f745 cli: --clock: add timer[0-9]*.{name,present,tickpolicy} 2019-05-12 19:24:36 -04:00
Cole Robinson
20e60603d8 cli: --clock: Make invalid X_tickpolicy options no-ops
tickpolicy is only handled in libvirt for pit and rtc timers. Accept
the other options but make them silent no-ops
2019-05-12 19:14:05 -04:00
Cole Robinson
2d80a0b4b9 cli: Add --memory opts to match XML names
Sort out the memory property naming ambiguity on the command line.

* memory -> currentMemory
* maxmemory -> memory
* hotplugmemorymax -> maxMemory
* hotplugmemoryslots -> maxMemory.slots

To maintain back compat, we need to do some funky handling with
memory and maxmemory values. Basically if currentMemory is specfied,
we interpret them as new style, otherwise preserve the old behavior.
2019-05-12 17:25:47 -04:00
Cole Robinson
a274cc97cd tests: clitest: Add explicit coverage for virt-xml unsetting
For example, '--edit --disk path=' can be used to unset a disk path.
Internally we map empty string to None
2019-05-12 17:22:13 -04:00
Cole Robinson
4142b73c71 cli: Fix introspection for non-virt options
Like --location and --check
2019-05-12 17:22:13 -04:00
Cole Robinson
0d90bbd5d5 cli: Drop support_cb
This is some extra validation to catch some char opt combos that
libvirt doesn't explicitly reject. It's not really interesting and
dropping it simplifies the cli parsing
2019-05-10 14:02:44 -04:00
Pavel Hrdina
ac9bd77ed3 tests: add CPU defult test case for old QEMU
With old QEMU we should not use host-model because it's not safe and it
might fail to start.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2019-04-11 15:11:10 +02:00
Andrea Bolognani
9bec57723e guest: Enable USB for RISC-V virt guests
Unlike other features we have enabled earlier, this one requires
version checks because RISC-V guests have only started using PCI
by default very recently, and we can't have USB without PCI.

More specifically, we need QEMU commit d6c1bd4a2237 (included
in 4.0.0) and libvirt commit 7c48fb08e0cd (included in 5.3.0).

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2019-04-04 18:57:39 -04:00
Andrea Bolognani
53a41ce955 tests: Add riscv64-headless and riscv64-graphics
These test cases mirror thoses we already have for all other
architectures.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2019-04-04 18:57:39 -04:00
Andrea Bolognani
a989986cb9 tests: Add RISC-V support
RISC-V doesn't support KVM yet, so we are forced to use TCG
on x86 until that's working.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2019-04-04 18:57:39 -04:00
Pavel Hrdina
22342ef7ee cli: introduce CPU secure parameter
This will allow users to override the default behavior of virt-install
which copies CPU security features available on the host to the guest
XML if specific CPU model is configured.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-04-04 13:40:20 +02:00
Fabiano Fidêncio
5de172501c unattended: Add product-key to Unattended data
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
2019-04-01 16:28:52 -04:00
Cole Robinson
fcabcb7a95 tests: clitest: Add a test case for the last commit
We need a custom test driver input to reproduce the pool collision
2019-03-26 11:15:46 -04:00
Jim Fehlig
8d9743d69f virt-install: Add support for xenbus controller
libvirt commit 09eb1ae0 added support for a new 'xenbus' controller
type. Add support for the controller in virtinst, including support
for the maxGrantFrames attribute.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
2019-03-21 14:15:40 -04:00
Cole Robinson
7afbb90b4d virt-xml: Handle VM names that look like id/uuid (bz 1679025)
Previously we assume they are id/uuid, so if it's actually the VM
name then the command fails. Now we always check for a name first,

https://bugzilla.redhat.com/show_bug.cgi?id=1679025
2019-03-21 13:45:58 -04:00
Andrea Bolognani
6a24a2a13a tests: cli: Add simple guests with graphics
These cover the use case "I want to get an existing guest
image running in the cloud, and I need graphics".

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2019-03-21 15:29:46 +01:00
Andrea Bolognani
e5b8c97896 tests: cli: Add simple headless guests
These cover the use case "I want to get an existing guest
image running in the cloud, and I don't need graphics".

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2019-03-21 15:28:25 +01:00
Andrea Bolognani
d409c76848 tests: cli: Drop existing aarch64-graphics test
We're going to add a number of tests covering the same scenario
on multiple architectures soon, so this one is no longer needed
and would in fact cause a name clash if it stayed.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2019-03-21 14:54:04 +01:00
Vasudeva Kamath
648115334d virt-install: Add driver_queues argument to --controller
<controller> can have additional <driver> sub element with queues as property,
which is currently not exposed via virt-install. This commit exposes this option
similar to queues in network configuration.

(crobinso: add test case)
2019-03-12 10:17:06 -04:00
Cole Robinson
6780bc0c0e tests: clitest: Tweak test input to match latest libvirt
rbd volumes no longer report format=raw. adjust the test input
to generate the expected output.
2019-03-06 14:35:15 -05:00
Marc Hartmayer
908b8e8d7c tests: virt-xml: Add test cases for --start option
The test cases verify that:

 + --start works
 + --define --start works
 + --no-define --start works
 + --start works in combination with --add and --remove
 + combination of --start --update isn't valid
 + combination of --define --no-define --start isn't valid

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2019-03-06 13:15:38 -05:00
Marc Hartmayer
c2bff50977 tests: cli: Add test case for --no-define argument
Add a test case validating mutual exclusivity of `--no-define` and
'--define' arguments.

Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2019-03-06 13:15:38 -05:00
Marc Hartmayer
c896d19d76 tests: cli: Add boot.order tests
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
2019-03-06 13:15:38 -05:00
Fabiano Fidêncio
e8893f2178 virt-install: Add --unattended
--unattended is currently a no-op parameter that will be used to perform
unattended installations.

For now, if someone tries to use --unattended virt-install will fail as
the option is still not supported.

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
2019-03-05 16:38:22 -05:00
Pavel Hrdina
57db41854c virt-clone: fix force-copy of empty cdrom or floppy disk
There is nothing to copy so don't try to generate new path.

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

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2019-02-28 18:05:31 +01:00
Cole Robinson
05f4abe0d7 tests: Add osdict get_location/--os-variant install=X tests
Just failure coverage for the command line so far, we will need
some new infrastructure to test more than that
2019-02-18 11:17:57 -05:00
Cole Robinson
8a02081ebf cli: Add --os-variant full_id=X sub option
For specifying a distro via the full osinfo URL ID
2019-02-07 16:29:38 -05:00
Cole Robinson
4a2ff83b51 cli: Parameterize --os-variant
For now it just takes a single name= parameter that maps to
the current behavior
2019-02-07 16:27:01 -05:00
Cole Robinson
91cdb485cb virt-install: Drop xenpv install warnings
These may still be relevant, but I think it's fine just to let
the config fail to install. I'm not even sure if anyone is trying
xenpv these days...
2019-02-07 15:13:30 -05:00
Cole Robinson
f2baf4aeb7 tests: Skip another test if isoinfo is not installed 2019-02-03 16:18:50 -05:00
Cole Robinson
921a604abe virt-install; Don't add os-variant storage for containers 2019-02-03 15:46:32 -05:00