1737 Commits

Author SHA1 Message Date
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
569533b187 devices: Add DeviceSeclabel
Hoist it out of DeviceDisk, so we can eventually share it with
CharSource as well
2019-05-14 11:57:50 -04:00
Cole Robinson
dc945dc4b9 cli: --disk: alias seclabel* to source.seclabel*
Missed it in the previous conversion
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
354dc4df4a cli: --rng: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* backend_connect_host -> backend.source.connect_host
* backend_connect_service -> backend.source.connect_service
* backend_host -> backend.source.host
* backend_mode -> backend.source.mode
* backend_service -> backend.source.service
* backend_type -> backend.type
* rate_bytes -> rate.bytes
* rate_period -> rate.period

'type', and 'device' are kept as advertised options,
due to them being commonly specified and documented
2019-05-14 11:57:50 -04:00
Cole Robinson
fae52f4784 cli: char: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* protocol -> protocol.type
* target_address -> target.address
* name -> target.name
* target_type -> target.type

'host', 'path', 'mode', and 'bind_host' are kept as advertised options,
due to them being commonly specified and documented
2019-05-14 11:57:50 -04:00
Cole Robinson
873a35dcee devices: char: move 'protocol' and 'log*' to CharSource
This violates our typical XML hierarchy, but that's how it's modeled
internally in libvirt, and these properties are shared among all
charsource users.
2019-05-14 11:57:50 -04:00
Cole Robinson
43a39dc158 devices: smartcard: Use CharSource
smartcard does the same internally for libvirt, so let's follow that
pattern, and fix the fallout
2019-05-14 11:57:50 -04:00
Cole Robinson
9d78759ac5 devices: redirdev: Use CharSource
redirdev does the same internally for libvirt, so let's follow that
pattern, and fix the fallout
2019-05-14 11:57:50 -04:00
Cole Robinson
6d46e37e09 devices: rng: Use CharSource
Re-use CharSource, just like libvirt does internally. Adjust all
callers to match. Rename type -> backend_model while we are here,
because type is ambiguous
2019-05-14 11:57:50 -04:00
Cole Robinson
b2b9d7d366 devices: char: Add CharSource
Move all ./source handling into CharSource, which will be reused by
other device classes as well. This requires us to add ../ handling
into our xmlapi xpath engine
2019-05-14 11:57:50 -04:00
Cole Robinson
1b3e8e1a32 addhardware: Remove supports_property usage
It's not a pattern I think is worth extending in the future, and
make internal refactorings more difficult. Drop it, and drop it
from tpm and char devices since it is now unused
2019-05-13 14:06:32 -04:00
Cole Robinson
e11ed3ce77 devices: char: Remove uncalled supports_property values 2019-05-13 13:43:25 -04:00
Cole Robinson
1bf970627e devices: tpm: Drop unnecessary defaults setting
Libvirt does the same for these two values, so don't bother duplicating
2019-05-13 13:43:25 -04:00
Cole Robinson
0ec251dae4 devices: char: Drop default 'protocol' setting
In the cases we were doing this, libvirt already defaults to raw for us
2019-05-13 13:06:46 -04:00
Cole Robinson
68b4236262 devices: rng: Remove unused function supports_property 2019-05-13 13:01:18 -04:00
Cole Robinson
ba1764943b devices: char: drop tty fallback reading
This is only for ancient rhel5 era libvirt, We don't need it anymore
and it complicates XML handling
2019-05-13 12:36:17 -04:00
Cole Robinson
e6eb1d447b devices: char: Rename some properties to better match XML
* bind_port -> bind_service
* source_host -> connect_host
* source_port -> connect_service
2019-05-13 12:35:55 -04:00
Cole Robinson
472cfbc2a7 xmlbuilder: Validate root element of object parsexml
Ensure that for example a DeviceDisk is actually passed <disk> XML
2019-05-13 12:09:39 -04:00
Cole Robinson
4141f5c79b createnet: Shrink to one page
Name and forward mode config are always visible. ipv4, ipv6, and
domain name are under their own expanders which are collapsed by
default.

This will fit better with the XML editor pattern and reduce the
urge to squeeze more UI elements into the now smaller wizard
2019-05-13 12:08:55 -04:00
Cole Robinson
7597750a59 virtinst: network: streamline pretty desc output 2019-05-13 12:08:55 -04:00
Cole Robinson
fe9001fea1 virtinst: interface: Drop unused bits
Drops most XML parsing and all the creation handling
2019-05-13 12:08:55 -04:00
Cole Robinson
85a7b2cd61 virtManager: interface: Remove unused code after UI removal
Removal all the virtManager bits that are no longer used
2019-05-13 12:08:55 -04:00
Cole Robinson
622a363e5b clone: Fix inverted --nonsparse check
I botched 4f66c423f7 and inverted the sparse check, meaning --nonsparse
on the command line would actually request a sparse image. Fix it

https://bugzilla.redhat.com/show_bug.cgi?id=1675743
2019-05-13 09:58:13 -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
a1165b2981 cli: --clock: Explicitly register options
Rather than do so based off the TIMER_NAMES list. Makes it less
easy to accidentally break cli API
2019-05-12 19:14:05 -04:00
Cole Robinson
167bae862b cli: --sysinfo: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* baseBoard_asset -> baseBoard.asset
* baseBoard_location -> baseBoard.location
* baseBoard_manufacturer -> baseBoard.manufacturer
* baseBoard_product -> baseBoard.product
* baseBoard_serial -> baseBoard.serial
* baseBoard_version -> baseBoard.version
* bios_date -> bios.date
* bios_release -> bios.release
* bios_vendor -> bios.vendor
* bios_version -> bios.version
* system_family -> system.family
* system_manufacturer -> system.manufacturer
* system_product -> system.product
* system_serial -> system.serial
* system_sku -> system.sku
* system_uuid -> system.uuid
* system_version -> system.version

In truth this does not accurately represent the XML either, which
uses a generic <entry name='FOO'>BAR</entry> syntax. We should
expose that raw config on the cli, but also provide these convenience
options too, so using '.' here is still useful to be consistent
with new style opt names.
2019-05-12 18:35:37 -04:00
Cole Robinson
f39af8b054 cli: --network: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* driver_name -> driver.name
* driver_queues -> driver.queues
* filterref -> filterref.filter
* link_state -> link.state
* mac -> mac.address
* model -> model.type
* rom_bar -> rom.bar
* rom_file -> rom.file
* source_mode -> source.mode
* source_path -> source.path
* portgroup -> source.portgroup
* source_type -> source.type
* target -> target.dev
* virtualport.instanceid -> virtualport.parameters.instanceid
* virtualport_interfaceid -> virtualport.parameters.interfaceid
* virtualport_managerid -> virtualport.parameters.managerid
* virtualport.profileid -> virtualport.parameters.profileid
* virtualport.typeid -> virtualport.parameters.typeid
* virtualport.typeidversion -> virtualport.parameters.typeidversion
* virtualport_type -> virtualport.type

'model' and 'mac' are kept as advertised options, due to them being
commonly specified
2019-05-12 18:21:49 -04:00
Cole Robinson
f67384608c cli: --disk: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* logical_block_size -> blockio.logical_block_size
* physical_block_size -> blockio.physical_block_size
* cache -> driver.cache
* detect_zeroes -> driver.detect_zeroes
* discard -> driver.discard
* error_policy -> driver.error_policy
* io -> driver.io
* driver_name -> driver.name
* driver_type -> driver.type
* read_bytes_sec -> iotune.read_bytes_sec
* read_iops_sec -> iotune.read_iops_sec
* total_bytes_sec -> iotune.total_bytes_sec
* total_iops_sec -> iotune.total_iops_sec
* write_bytes_sec -> iotune.write_bytes_sec
* write_iops_sec -> iotune.write_iops_sec
* snapshot_policy -> snapshot
* source_host_name -> source.host.name
* source_host_port -> source.host.port
* source_host_socket -> source.host.socket
* source_host_transport -> source.host.transport
* source_name -> source.name
* source_pool -> source.pool
* source_protocol -> source.protocol
* reservations.managed -> source.reservations.managed
* reservations.source.mode -> source.reservations.source.mode
* reservations.source.path -> source.reservations.source.path
* reservations.source.type -> source.reservations.source.type
* startup_policy -> source.startupPolicy
* source_volume -> source.volume
* bus -> target.bus
* target -> target.dev
* removable -> target.removable

'bus' and 'cache' are kept as advertised options, due to them being
commonly specified
2019-05-12 18:21:49 -04:00
Cole Robinson
919d08cdcd cli: --vcpus: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* placement -> vcpu.placement
* cpuset -> vcpu.cpuset
* vcpu -> vcpus

Change the ambiguous maxvcpus handling to match how we fixed
it for the --memory case, which is similar

'cpuset', 'vcpus', and 'maxvcpus' are preserved in --vcpus=help output
because they are mentioned several times in the docs, and they are
historically more commonly used (at least the first two)
2019-05-12 18:21:49 -04:00
Cole Robinson
e81e2b16b9 cli: --video: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* accel3d -> model.acceleration.accel3d
* heads -> model.heads
* ram -> model.ram
* model -> model.type
* vgamem -> model.vgamem
* vram -> model.vram
* vram64 -> model.vram64
2019-05-12 18:21:49 -04:00
Cole Robinson
6e18fba24c cli: --hostdev: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* driver_name -> driver.name
* rom_bar -> rom.bar
2019-05-12 18:21:49 -04:00
Cole Robinson
d1c6c6e758 cli: --vsock: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* cid -> cid.address
* auto_cid -> cid.auto

Add man docs for --vsock while we are at it, since they are missing
2019-05-12 18:21:49 -04:00
Cole Robinson
b92f1595a8 cli: --panic: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* iobase -> address.iobase

Simplify model back compat handling as a result
2019-05-12 18:21:49 -04:00
Cole Robinson
b0c3c8e12e cli: --tpm: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* path -> backend.device.path
* type -> backend.type
* version -> backend.version
2019-05-12 18:21:49 -04:00
Cole Robinson
8e1cdf2cd7 cli: --controller: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* driver_queues -> driver.queues
* master -> master.startport
2019-05-12 18:21:49 -04:00
Cole Robinson
ea63141fca cli: --graphics: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* clipboard_copypaste -> clipboard.copypaste
* filetransfer_enable -> filetransfer.enable
* gl -> gl.enable
* rendernode -> gl.rendernode
* image_compression -> image.compression
* mouse_mode -> mouse.mode
* passwd -> password
* passwdValidTo -> passwordValidTo
* streaming_mode -> streaming.mode
* tlsport -> tlsPort
2019-05-12 18:21:49 -04:00
Cole Robinson
83e15a3bce cli: --pm: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* suspend_to_disk -> suspend_to_disk.enabled
* suspend_to_mem -> suspend_to_mem.enabled
2019-05-12 18:21:49 -04:00
Cole Robinson
a160fac5e8 cli: --features: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* eoi -> apic.eoi
* gic_version -> gic.version
* hyperv_relaxed -> hyperv.relaxed.state
* hyperv_reset -> hyperv.reset.state
* hyperv_spinlocks_retries -> hyperv.spinlocks.retries
* hyperv_spinlocks -> hyperv.spinlocks.state
* hyperv_synic -> hyperv.synic.state
* hyperv_vapic -> hyperv.vapic.state
* kvm_hidden -> kvm.hidden.state
* pmu -> pmu.state
* smm -> smm.state
* vmcoreinfo -> vmcoreinfo.state
* vmport -> vmport.state
2019-05-12 18:21:49 -04:00
Cole Robinson
6aa9c6eecf cli: --idmap: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* gid_count -> gid.count
* gid_start -> gid.start
* gid_target -> gid.target
* uid_count -> uid.count
* uid_start -> uid.start
* uid_target -> uid.target
2019-05-12 18:21:49 -04:00
Cole Robinson
8d26a08d25 cli: --boot: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* rebootTimeout -> bios.rebootTimeout
* useserial -> bios.useserial
* boot_menu -> bootmenu.enable
* cmdline -> kernel_args
* loader_ro -> loader.readonly
* loader_secure -> loader.secure
* loader_type -> loader.type
* nvram_template -> nvram.template
* smbios_mode -> smbios.mode
2019-05-12 18:21:49 -04:00
Cole Robinson
3d30abf3ac cli: --cpu: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

* cell[0-9]*.cpus -> numa.cell[0-9]*.cpus
* cell[0-9]*.distances.sibling[0-9]*.id -> numa.cell[0-9]*.distances.sibling[0-9]*.id
* cell[0-9]*.distances.sibling[0-9]*.value -> numa.cell[0-9]*.distances.sibling[0-9]*.value
* cell[0-9]*.id -> numa.cell[0-9]*.id
* cell[0-9]*.memory -> numa.cell[0-9]*.memory
2019-05-12 18:21:49 -04:00
Cole Robinson
d2a07cf41a cli: --memorybacking: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

- size -> hugepages.page.size
- unit -> hugepages.page.unit
- nodeset -> hugepages.page.nodeset
- access_mode -> access.mode
- source_type -> source.type
2019-05-12 18:21:49 -04:00
Cole Robinson
536cd64515 cli: --blkiotune: use predictable cli subarg names
To match the XML schema, rename these subarguments and add aliases
to preserve compatibility:

- device_path -> device.path
- device_weight -> device.weight
2019-05-12 18:21:49 -04:00
Cole Robinson
375dd4c563 cli: --numatune: use predictable cli subarg names
To match the XML schema, rename:

- mode -> memory.mode
- nodeset -> memory.nodeset
2019-05-12 18:21:49 -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
7f9e21f9b5 cli: Rename boot_order to boot.order
And add a backcompat alias to match
2019-05-12 17:25:47 -04:00
Cole Robinson
cbb7d369ef cpu: Convert 'cache' to a singleton
Libvirt doesn't represent it at as a list, and tracking it as a list
complicates the cli machinery
2019-05-12 17:25:47 -04:00
Cole Robinson
a5ae150201 guest: Rename curvcpus and cpuset to better match XML hierarchy 2019-05-12 17:25:47 -04:00