nova/nova/notifications/objects
Stephen Finucane 3f63c68195 libvirt: Add support for virtio-based input devices
The USB-based tablet is often the only USB device in an x86 instance,
while the USB-based keyboard is often the only such device in an AArch64
instance (x86 have PS2 keyboards and mice). Replacing these with
virtio-based devices can eliminate the need to have a USB host adapter
in the instance. Enable just that possibility by adding a new value
image metadata property, 'hw_input_bus'. This allows us to specify not
only virtio-based pointer and keyboard input devices but also USB
equivalents.

Note that this also fixes one instance of a particular class of bugs,
whereby we have checks for *guest* architecture-specific behavior that
are being toggled based on the *host* architecture. In this instance,
we were attempting to add a keyboard device on AArch64 guests since they
don't have one by default, but we were determining the architecture by
looking at the CPU architecture reported in the host capabilities. By
replacing this check of the host capabilities with a call to the
'nova.virt.libvirt.utils.get_arch' helper, we correctly handle requests
to create non-host architecture guests via the 'hw_architecture' image
metadata property. There are many other instances of this bug and those
can be resolved separately.

Change-Id: If9f3ede3e8449f9a6c8d1da927974c0a73923d51
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-05 11:00:02 +00:00
..
__init__.py Move notification related code to separate package 2016-06-08 11:32:53 +02:00
aggregate.py Add Aggregate image caching progress notifications 2019-10-29 08:18:32 -07:00
base.py Add Aggregate image caching progress notifications 2019-10-29 08:18:32 -07:00
compute_task.py Transform compute_task notifications 2018-11-21 16:23:28 +09:00
exception.py Use 'Exception.__traceback__' for versioned notifications 2020-06-08 14:38:33 +01:00
flavor.py Add FlavorPayload.description for versioned notifications 2017-11-14 09:14:12 -05:00
image.py libvirt: Add support for virtio-based input devices 2021-03-05 11:00:02 +00:00
instance.py virt: Remove 'get_all_bw_counters' API 2020-11-24 15:29:21 +00:00
keypair.py Transform keypair.import notification 2017-10-30 16:44:29 -04:00
libvirt.py Transform libvirt.error notification 2018-09-18 07:06:09 +00:00
metrics.py Transform metrics.update notification 2018-07-18 09:13:27 +09:00
request_spec.py objects: Add 'socket' PCI NUMA affinity 2021-02-24 10:23:33 +00:00
scheduler.py Transform scheduler.select_destinations notification 2018-11-30 13:20:35 +01:00
server_group.py Add policy field to ServerGroup notification object 2018-07-12 10:00:05 +08:00
service.py Versioned notifications for service create and delete 2017-11-27 11:11:44 -05:00
volume.py Transform volume.usage notification 2018-10-09 06:28:11 +00:00