<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/nova.git/nova/notifications/objects/image.py, branch master</title>
<subtitle>opendev.org: openstack/nova.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/'/>
<entry>
<title>libvirt: Add vIOMMU device to guest</title>
<updated>2022-08-31T20:50:16+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>stephenfin@redhat.com</email>
</author>
<published>2022-02-23T16:14:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=14e3b352c24b2a1fe54ba13a733cf6e7989215cc'/>
<id>14e3b352c24b2a1fe54ba13a733cf6e7989215cc</id>
<content type='text'>
Implementation for BP/libvirt-viommu-device.
With provide `hw:viommu_model` property to extra_specs or
`hw_viommu_model` to image property. will enable viommu to libvirt
guest.

[1] https://www.berrange.com/posts/2017/02/16/setting-up-a-nested-kvm-guest-for-developing-testing-pci-device-assignment-with-numa/
[2] https://review.opendev.org/c/openstack/nova-specs/+/840310

Implements: blueprint libvirt-viommu-device
Change-Id: Ief9c550292788160433a28a7a1c36ba38a6bc849
Signed-off-by: Stephen Finucane &lt;stephenfin@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implementation for BP/libvirt-viommu-device.
With provide `hw:viommu_model` property to extra_specs or
`hw_viommu_model` to image property. will enable viommu to libvirt
guest.

[1] https://www.berrange.com/posts/2017/02/16/setting-up-a-nested-kvm-guest-for-developing-testing-pci-device-assignment-with-numa/
[2] https://review.opendev.org/c/openstack/nova-specs/+/840310

Implements: blueprint libvirt-viommu-device
Change-Id: Ief9c550292788160433a28a7a1c36ba38a6bc849
Signed-off-by: Stephen Finucane &lt;stephenfin@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add locked_memory extra spec and image property</title>
<updated>2022-08-24T13:47:32+00:00</updated>
<author>
<name>Sean Mooney</name>
<email>work@seanmooney.info</email>
</author>
<published>2021-03-03T00:49:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=572c2b18e27f6fcbbd4a1f416b0ec21098b3ba74'/>
<id>572c2b18e27f6fcbbd4a1f416b0ec21098b3ba74</id>
<content type='text'>
This change adds a new hw:locked_memory extra spec and hw_locked_memory
image property to contol preventing guest memory from swapping.

This change adds docs and extend the flavor
validators for the new extra spec.
Also add new image property.

Blueprint: libvirt-viommu-device
Change-Id: Id3779594f0078a5045031aded2ed68ee4301abbd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change adds a new hw:locked_memory extra spec and hw_locked_memory
image property to contol preventing guest memory from swapping.

This change adds docs and extend the flavor
validators for the new extra spec.
Also add new image property.

Blueprint: libvirt-viommu-device
Change-Id: Id3779594f0078a5045031aded2ed68ee4301abbd
</pre>
</div>
</content>
</entry>
<entry>
<title>image_meta: Add ephemeral encryption properties</title>
<updated>2022-08-02T21:25:47+00:00</updated>
<author>
<name>Lee Yarwood</name>
<email>lyarwood@redhat.com</email>
</author>
<published>2020-10-22T19:11:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=065b32483515fd6845dbdbb73202c2dd599933ae'/>
<id>065b32483515fd6845dbdbb73202c2dd599933ae</id>
<content type='text'>
Add the `hw_ephemeral_encryption` and `hw_ephemeral_encryption_format`
image properties.

Change-Id: Ida3edbdd664fbc3ac23516b1ff5b67edae43ea79
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the `hw_ephemeral_encryption` and `hw_ephemeral_encryption_format`
image properties.

Change-Id: Ida3edbdd664fbc3ac23516b1ff5b67edae43ea79
</pre>
</div>
</content>
</entry>
<entry>
<title>object/notification for Adds Pick guest CPU architecture based on host</title>
<updated>2022-02-24T17:06:55+00:00</updated>
<author>
<name>Jonathan Race</name>
<email>jrace@augusta.edu</email>
</author>
<published>2022-02-08T15:36:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=79887a610bef5b9402d059b9f7afd3d204e7342e'/>
<id>79887a610bef5b9402d059b9f7afd3d204e7342e</id>
<content type='text'>
arch in libvirt driver support

This is split 1 of 3 for the architecture emulation feature.

This adds the 'hw_emulation_architecture' property to the image meta
properties, allowing for operator to define whether they will use
emulation or not.

This adds the capability as a feature to ensure no impact to normal
operations or functionality.

Account for object versioning has been added to raise exceptions and
handle proper

Implements: blueprint pick-guest-arch-based-on-host-arch-in-libvirt-driver
Signed-off-by: Jonathan Race &lt;jrace@augusta.edu&gt;
Change-Id: If4f598c0d3f9e64617beb54450faa04e7d20dd20
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
arch in libvirt driver support

This is split 1 of 3 for the architecture emulation feature.

This adds the 'hw_emulation_architecture' property to the image meta
properties, allowing for operator to define whether they will use
emulation or not.

This adds the capability as a feature to ensure no impact to normal
operations or functionality.

Account for object versioning has been added to raise exceptions and
handle proper

Implements: blueprint pick-guest-arch-based-on-host-arch-in-libvirt-driver
Signed-off-by: Jonathan Race &lt;jrace@augusta.edu&gt;
Change-Id: If4f598c0d3f9e64617beb54450faa04e7d20dd20
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow 'bochs' as a display device option</title>
<updated>2021-09-02T16:46:22+00:00</updated>
<author>
<name>Kashyap Chamarthy</name>
<email>kchamart@redhat.com</email>
</author>
<published>2021-05-21T09:41:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=c59084397401c690c6b23b5c8631138ec85e8f04'/>
<id>c59084397401c690c6b23b5c8631138ec85e8f04</id>
<content type='text'>
The 'bochs' display device is a recommended[1] safe option for UEFI
guests.  This is supported in libvirt from version 5.6.0; Nova's current
MIN_LIBVIRT_VERSION (6.0.0) satisfies this requirement.

Partially quoting the "bochs display device" section from a post written
by a QEMU graphics maintainer[1]:

    [...] Main advantage over standard VGA is that this device is alot
    simpler.  The code size and complexity needed to emulate this device
    is an order of magnitude smaller, resulting in a reduced attack
    surface. Another nice feature is that you can place this device in a
    PCI Express slot.

    For UEFI guests it is safe to use the bochs display device instead
    of the standard VGA device. The firmware will setup a linear
    framebuffer as GOP anyway and never use any legacy VGA features.

    For BIOS guests this device might be useable as well, depending on
    whenever they depend on direct VGA hardware access or not. There is
    a vgabios which supports text rendering on a linear framebuffer, so
    software which uses the vgabios services for text output will
    continue to work. Linux bootloaders typically fall into this
    category. The linux text mode console (vgacon) uses direct hardware
    access and does not work. The framebuffer console (fbcon running on
    vesafb or bochs-drm) works.

[1] https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/

Implements: blueprint add-bochs-display-device

Change-Id: Id194028f5d2cbaac1c5e699b71fd9751f87f5da5
Signed-off-by: Kashyap Chamarthy &lt;kchamart@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 'bochs' display device is a recommended[1] safe option for UEFI
guests.  This is supported in libvirt from version 5.6.0; Nova's current
MIN_LIBVIRT_VERSION (6.0.0) satisfies this requirement.

Partially quoting the "bochs display device" section from a post written
by a QEMU graphics maintainer[1]:

    [...] Main advantage over standard VGA is that this device is alot
    simpler.  The code size and complexity needed to emulate this device
    is an order of magnitude smaller, resulting in a reduced attack
    surface. Another nice feature is that you can place this device in a
    PCI Express slot.

    For UEFI guests it is safe to use the bochs display device instead
    of the standard VGA device. The firmware will setup a linear
    framebuffer as GOP anyway and never use any legacy VGA features.

    For BIOS guests this device might be useable as well, depending on
    whenever they depend on direct VGA hardware access or not. There is
    a vgabios which supports text rendering on a linear framebuffer, so
    software which uses the vgabios services for text output will
    continue to work. Linux bootloaders typically fall into this
    category. The linux text mode console (vgacon) uses direct hardware
    access and does not work. The framebuffer console (fbcon running on
    vesafb or bochs-drm) works.

[1] https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/

Implements: blueprint add-bochs-display-device

Change-Id: Id194028f5d2cbaac1c5e699b71fd9751f87f5da5
Signed-off-by: Kashyap Chamarthy &lt;kchamart@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>libvirt: Add support for virtio-based input devices</title>
<updated>2021-03-05T11:00:02+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>stephenfin@redhat.com</email>
</author>
<published>2020-10-06T12:49:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=3f63c68195d296ad44cff615a470cd11518a41df'/>
<id>3f63c68195d296ad44cff615a470cd11518a41df</id>
<content type='text'>
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 &lt;stephenfin@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;stephenfin@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>objects: Add 'socket' PCI NUMA affinity</title>
<updated>2021-02-24T10:23:33+00:00</updated>
<author>
<name>Artom Lifshitz</name>
<email>alifshit@redhat.com</email>
</author>
<published>2021-01-27T15:50:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=be80dfdc714d0f00c77d84d72703f7fea04d2f94'/>
<id>be80dfdc714d0f00c77d84d72703f7fea04d2f94</id>
<content type='text'>
This patch adds the 'socket' value to the allowed PCI NUMA affinity
policies, both to the 'hw:pci_numa_affinity_policy' flavor extra spec,
and the 'hw_pci_numa_affinity_policy' image property.

For now the new value is a no-op and remains undocumented. It will be
wired-in in a subsequent patch.

Implements: blueprint pci-socket-affinity
Change-Id: I0680d4e21f3e317ac702b55afef4c87e8acbfc3a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the 'socket' value to the allowed PCI NUMA affinity
policies, both to the 'hw:pci_numa_affinity_policy' flavor extra spec,
and the 'hw_pci_numa_affinity_policy' image property.

For now the new value is a no-op and remains undocumented. It will be
wired-in in a subsequent patch.

Implements: blueprint pci-socket-affinity
Change-Id: I0680d4e21f3e317ac702b55afef4c87e8acbfc3a
</pre>
</div>
</content>
</entry>
<entry>
<title>scheduler: Request vTPM trait based on flavor or image</title>
<updated>2020-07-16T16:54:44+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>stephenfin@redhat.com</email>
</author>
<published>2020-07-16T16:54:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=5550f866237157e82cad8c6146b486c62f35a0d8'/>
<id>5550f866237157e82cad8c6146b486c62f35a0d8</id>
<content type='text'>
Add support for the 'hw:tpm_version' and 'hw:tpm_model' flavor extra
specs along with the equivalent image metadata properties. These are
picked up by the scheduler and transformed into trait requests. This is
effectively a no-op for now since we don't yet have a driver that
reports these traits.

Part of blueprint add-emulated-virtual-tpm

Change-Id: I8645c31b4ecb18afea592b2a5b360b0165626009
Signed-off-by: Stephen Finucane &lt;stephenfin@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for the 'hw:tpm_version' and 'hw:tpm_model' flavor extra
specs along with the equivalent image metadata properties. These are
picked up by the scheduler and transformed into trait requests. This is
effectively a no-op for now since we don't yet have a driver that
reports these traits.

Part of blueprint add-emulated-virtual-tpm

Change-Id: I8645c31b4ecb18afea592b2a5b360b0165626009
Signed-off-by: Stephen Finucane &lt;stephenfin@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "objects: Introduce the 'CPUAllocationPolicy.MIXED' enum"</title>
<updated>2020-07-16T11:06:21+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2020-07-16T11:06:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=c1a4828f6e89b208121c9f4683b05ff2343209d5'/>
<id>c1a4828f6e89b208121c9f4683b05ff2343209d5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>objects: Introduce the 'CPUAllocationPolicy.MIXED' enum</title>
<updated>2020-07-14T16:39:46+00:00</updated>
<author>
<name>Wang Huaqiang</name>
<email>huaqiang.wang@intel.com</email>
</author>
<published>2020-05-14T07:55:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=ba3388d666ad344e87de3bbf8f76ab494bb4421f'/>
<id>ba3388d666ad344e87de3bbf8f76ab494bb4421f</id>
<content type='text'>
Introduce a 'mixed' instance CPU allocation policy and
will be worked with upcoming patches, for purpose of
creating an instance combined shared CPUs with dedicated
or realtime CPUs.

In an instance mixed with different type of CPUs, the shared CPU
shared CPU time slots with other instances, and also might be a
CPU with less or un-guaranteed hardware resources, which implies
to have no guarantee for the behavior of the workload running on
it. If we call the shared CPU as 'low priority' CPU, then the
realtime or dedicated CPU could be called as 'high priority' CPU,
user could assign more hardware CPU resources or place some
guaranteed resource to it to let the workload to entail high
performance or stable service quality.

Based on https://review.opendev.org/714704

Part of blueprint use-pcpu-and-vcpu-in-one-instance

Change-Id: I99cfee14bb105a8792651129426c0c5a3749796d
Signed-off-by: Wang Huaqiang &lt;huaqiang.wang@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce a 'mixed' instance CPU allocation policy and
will be worked with upcoming patches, for purpose of
creating an instance combined shared CPUs with dedicated
or realtime CPUs.

In an instance mixed with different type of CPUs, the shared CPU
shared CPU time slots with other instances, and also might be a
CPU with less or un-guaranteed hardware resources, which implies
to have no guarantee for the behavior of the workload running on
it. If we call the shared CPU as 'low priority' CPU, then the
realtime or dedicated CPU could be called as 'high priority' CPU,
user could assign more hardware CPU resources or place some
guaranteed resource to it to let the workload to entail high
performance or stable service quality.

Based on https://review.opendev.org/714704

Part of blueprint use-pcpu-and-vcpu-in-one-instance

Change-Id: I99cfee14bb105a8792651129426c0c5a3749796d
Signed-off-by: Wang Huaqiang &lt;huaqiang.wang@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
