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.
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
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
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.
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
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
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
Whether we show something in the UI should be more dependent on
whether it's actually set in the XML, not some internal hardcoded
list which can go out of date.
Right now we overload the DEVICE column for non-device pages
like overview or memory. Add a separate column for KEY, and have
DEVICE==None for non-device pages
vmmVMWindow handles all the menuing, and coordinating between the
console, snapshots, and details panel. Simplifies the details
code a bit which will help when we add xmlediting
It's a mix of stuff libvirt already catches, UI sanity checking
like if user specified an empty field, and prompting for really
obscure corner cases. This stuff isn't important enough to carry
around all this code IMO
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
Rather than a mix of radio buttons and other combo boxes.
This follows the pattern we more commonly use in other UI, and
makes it easier to hide UI elements that aren't relevant for
specific choices, like the possibly large SR-IOV selector
This wizard is sufficiently obscure that I don't think it's
really valuable to try to explain networking concepts with
UI labels. If users don't know what they are trying to create
by using this wizard, there's no way we are going to adequately
explain to them what they are looking at. The example values
should be self explanatory enough anyways
This only applies for inter VM traffic when ipv6 networking is
disabled, which IMO is pretty obscure. If users want ipv6
connectivity, just enabling ipv6 will handle it appropriately
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.