<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/nova.git/nova, branch 24.2.1</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>Merge "Add debug log for scheduler weight calculation" into stable/xena</title>
<updated>2023-04-06T18:04:04+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2023-04-06T18:04:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=706ee6010a3720b9d9faf72d6782665b6eb083a7'/>
<id>706ee6010a3720b9d9faf72d6782665b6eb083a7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "db: Resolve additional SAWarning warnings" into stable/xena</title>
<updated>2023-04-06T10:43:24+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2023-04-06T10:43:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=fee3c77fd5a4bf8453cbe80e93aa9a898dacccc1'/>
<id>fee3c77fd5a4bf8453cbe80e93aa9a898dacccc1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Handle mdev devices in libvirt 7.7+" into stable/xena</title>
<updated>2023-04-05T15:54:46+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2023-04-05T15:54:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=53a451aebc43c027883013fb915e32c50c350aab'/>
<id>53a451aebc43c027883013fb915e32c50c350aab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle mdev devices in libvirt 7.7+</title>
<updated>2023-04-05T12:22:27+00:00</updated>
<author>
<name>Billy Olsen</name>
<email>billy.olsen@gmail.com</email>
</author>
<published>2022-04-22T02:42:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=c3800f7863116412e90029381085cd01ebeae220'/>
<id>c3800f7863116412e90029381085cd01ebeae220</id>
<content type='text'>
Libvirt 7.7 changed the mdev device naming to include the parent PCI
device when listing node devices. The domain, however, will still only
see the UUID and not see the parent PCI device. Changing the parsing to
simply drop the PCI identifier is not enough as the device cannot be
found when attempting to lookup the new ID.

Modify the Libvirt Driver's _get_mediated_device_information to tolerate
different formats of the mdev name. This first uses the legacy behavior
by trying to lookup the device name that is passed in (typically
mdev_&lt;uuid&gt; format) and if that is not found, iterates the list of mdev
node devices until the right UUID is found and selects that one.

Note that the lookup of the mdev device by UUID are needed in order
to keep the ability to recreate assigned mediated devices on a reboot of
the compute node.

Additionally, the libvirt utils parsing method mdev_name2uuid, has
been updated to tolerate both mdev_&lt;uuid&gt; and mdev_&lt;uuid&gt;_&lt;pciid&gt;
formats.

Closes-Bug: 1951656

Change-Id: Ifed0fa16053228990a6a8df8d4c666521db7e329
(cherry picked from commit a28b907c4f0dbba6e141a8fbea807e6cb0438977)
(cherry picked from commit 98d8c9eaa3c415cc234193e6a9115db887751363)
(cherry picked from commit 28053917200e3e242148672efda0e1a2b043dc48)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Libvirt 7.7 changed the mdev device naming to include the parent PCI
device when listing node devices. The domain, however, will still only
see the UUID and not see the parent PCI device. Changing the parsing to
simply drop the PCI identifier is not enough as the device cannot be
found when attempting to lookup the new ID.

Modify the Libvirt Driver's _get_mediated_device_information to tolerate
different formats of the mdev name. This first uses the legacy behavior
by trying to lookup the device name that is passed in (typically
mdev_&lt;uuid&gt; format) and if that is not found, iterates the list of mdev
node devices until the right UUID is found and selects that one.

Note that the lookup of the mdev device by UUID are needed in order
to keep the ability to recreate assigned mediated devices on a reboot of
the compute node.

Additionally, the libvirt utils parsing method mdev_name2uuid, has
been updated to tolerate both mdev_&lt;uuid&gt; and mdev_&lt;uuid&gt;_&lt;pciid&gt;
formats.

Closes-Bug: 1951656

Change-Id: Ifed0fa16053228990a6a8df8d4c666521db7e329
(cherry picked from commit a28b907c4f0dbba6e141a8fbea807e6cb0438977)
(cherry picked from commit 98d8c9eaa3c415cc234193e6a9115db887751363)
(cherry picked from commit 28053917200e3e242148672efda0e1a2b043dc48)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Reproducer for bug 1951656" into stable/xena</title>
<updated>2023-04-05T10:18:00+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2023-04-05T10:18:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=d54f264d5db320dac2165f7001de9ed57fcc2c36'/>
<id>d54f264d5db320dac2165f7001de9ed57fcc2c36</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reproducer for bug 1951656</title>
<updated>2023-04-05T09:09:48+00:00</updated>
<author>
<name>Sylvain Bauza</name>
<email>sbauza@redhat.com</email>
</author>
<published>2022-07-21T16:21:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=fdd4e7dc51ad34d3bc4741e7e40a10e8f3a7d138'/>
<id>fdd4e7dc51ad34d3bc4741e7e40a10e8f3a7d138</id>
<content type='text'>
Due to a new mdev naming, we can't parse it.

Change-Id: I0f785178b132dfef668829558dea9f7e674abadb
Related-Bug: #1951656
(cherry picked from commit 185201974775bab966f4e5ca3bbdc31b8269fa4c)
(cherry picked from commit 857df72d3166a8f7e8a8cdfeabb62ad6ead46565)
(cherry picked from commit 71aa17a487136be5e938192857721d9119222811)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to a new mdev naming, we can't parse it.

Change-Id: I0f785178b132dfef668829558dea9f7e674abadb
Related-Bug: #1951656
(cherry picked from commit 185201974775bab966f4e5ca3bbdc31b8269fa4c)
(cherry picked from commit 857df72d3166a8f7e8a8cdfeabb62ad6ead46565)
(cherry picked from commit 71aa17a487136be5e938192857721d9119222811)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add debug log for scheduler weight calculation</title>
<updated>2023-04-04T12:23:27+00:00</updated>
<author>
<name>Balazs Gibizer</name>
<email>balazs.gibizer@est.tech</email>
</author>
<published>2021-11-11T18:06:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=30c7180e1e655176952609e80f1f21cf8b6d13a0'/>
<id>30c7180e1e655176952609e80f1f21cf8b6d13a0</id>
<content type='text'>
We have all the weighers enabled by default and each can have its own
multiplier making the final compute node order calculation pretty
complex. This patch adds some debug logging that helps understanding how
the final ordering was reached.

Change-Id: I7606d6eb3e08548c1df9dc245ab39cced7de1fb5
(cherry picked from commit 154ab7b2f9ad80fe432d2c036d5e8c4ee171897b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have all the weighers enabled by default and each can have its own
multiplier making the final compute node order calculation pretty
complex. This patch adds some debug logging that helps understanding how
the final ordering was reached.

Change-Id: I7606d6eb3e08548c1df9dc245ab39cced7de1fb5
(cherry picked from commit 154ab7b2f9ad80fe432d2c036d5e8c4ee171897b)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Accept both 1 and Y as AMD SEV KVM kernel param value" into stable/xena</title>
<updated>2023-03-30T19:04:54+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2023-03-30T19:04:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=5f1b7d36fbfac5396ce809468528c87cd36b0384'/>
<id>5f1b7d36fbfac5396ce809468528c87cd36b0384</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>db: Resolve additional SAWarning warnings</title>
<updated>2023-02-16T08:55:45+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>sfinucan@redhat.com</email>
</author>
<published>2022-04-08T10:38:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=5b1d487d7fc49580a606b68e1271cae5f2f2df87'/>
<id>5b1d487d7fc49580a606b68e1271cae5f2f2df87</id>
<content type='text'>
Resolving the following SAWarning warnings:

  Coercing Subquery object into a select() for use in IN(); please pass
  a select() construct explicitly

  SELECT statement has a cartesian product between FROM element(s)
  "foo" and FROM element "bar". Apply join condition(s) between each
  element to resolve.

While the first of these was a trivial fix, the second one is a little
more involved. It was caused by attempting to build a query across
tables that had no relationship as part of our archive logic. For
example, consider the following queries, generated early in
'_get_fk_stmts':

  SELECT instances.uuid
  FROM instances, security_group_instance_association
  WHERE security_group_instance_association.instance_uuid = instances.uuid
    AND instances.id IN (__[POSTCOMPILE_id_1])

  SELECT security_groups.id
  FROM security_groups, security_group_instance_association, instances
  WHERE security_group_instance_association.security_group_id = security_groups.id
    AND instances.id IN (__[POSTCOMPILE_id_1])

While the first of these is fine, the second is clearly wrong: why are
we filtering on a field that is of no relevance to our join? These were
generated because we were attempting to archive one or more instances
(in this case, the instance with id=1) and needed to find related tables
to archive at the same time. A related table is any table that
references our "source" table - 'instances' here - by way of a foreign
key. For each of *these* tables, we then lookup each foreign key and
join back to the source table, filtering by matching entries in the
source table. The issue here is that we're looking up every foreign key.
What we actually want to do is lookup only the foreign keys that point
back to our source table. This flaw is why we were generating the second
SELECT above: the 'security_group_instance_association' has two foreign
keys, one pointing to our 'instances' table but also another pointing to
the 'security_groups' table. We want the first but not the second.

Resolve this by checking if the table that each foreign key points to is
actually the source table and simply skip if not. With this issue
resolved, we can enable errors on SAWarning warnings in general without
any filters.

Conflicts:
    nova/tests/fixtures/nova.py

NOTE(melwitt): The conflict is because change
I63f57980e01f472a25821790610f0836f1882a7f (tests: Restore - don't reset
- warning filters) is not in Xena.

Change-Id: I63208c7bd5f9f4c3d5e4a40bd0f6253d0f042a37
Signed-off-by: Stephen Finucane &lt;sfinucan@redhat.com&gt;
(cherry picked from commit 8142b9dc47b7096ab9d8180f0b5b1e52d513e2dc)
(cherry picked from commit ce2cc54bfe236554badb9f6bf53a958417e5525d)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolving the following SAWarning warnings:

  Coercing Subquery object into a select() for use in IN(); please pass
  a select() construct explicitly

  SELECT statement has a cartesian product between FROM element(s)
  "foo" and FROM element "bar". Apply join condition(s) between each
  element to resolve.

While the first of these was a trivial fix, the second one is a little
more involved. It was caused by attempting to build a query across
tables that had no relationship as part of our archive logic. For
example, consider the following queries, generated early in
'_get_fk_stmts':

  SELECT instances.uuid
  FROM instances, security_group_instance_association
  WHERE security_group_instance_association.instance_uuid = instances.uuid
    AND instances.id IN (__[POSTCOMPILE_id_1])

  SELECT security_groups.id
  FROM security_groups, security_group_instance_association, instances
  WHERE security_group_instance_association.security_group_id = security_groups.id
    AND instances.id IN (__[POSTCOMPILE_id_1])

While the first of these is fine, the second is clearly wrong: why are
we filtering on a field that is of no relevance to our join? These were
generated because we were attempting to archive one or more instances
(in this case, the instance with id=1) and needed to find related tables
to archive at the same time. A related table is any table that
references our "source" table - 'instances' here - by way of a foreign
key. For each of *these* tables, we then lookup each foreign key and
join back to the source table, filtering by matching entries in the
source table. The issue here is that we're looking up every foreign key.
What we actually want to do is lookup only the foreign keys that point
back to our source table. This flaw is why we were generating the second
SELECT above: the 'security_group_instance_association' has two foreign
keys, one pointing to our 'instances' table but also another pointing to
the 'security_groups' table. We want the first but not the second.

Resolve this by checking if the table that each foreign key points to is
actually the source table and simply skip if not. With this issue
resolved, we can enable errors on SAWarning warnings in general without
any filters.

Conflicts:
    nova/tests/fixtures/nova.py

NOTE(melwitt): The conflict is because change
I63f57980e01f472a25821790610f0836f1882a7f (tests: Restore - don't reset
- warning filters) is not in Xena.

Change-Id: I63208c7bd5f9f4c3d5e4a40bd0f6253d0f042a37
Signed-off-by: Stephen Finucane &lt;sfinucan@redhat.com&gt;
(cherry picked from commit 8142b9dc47b7096ab9d8180f0b5b1e52d513e2dc)
(cherry picked from commit ce2cc54bfe236554badb9f6bf53a958417e5525d)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Improving logging at '_allocate_mdevs'." into stable/xena</title>
<updated>2023-02-06T11:41:09+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2023-02-06T11:41:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=c2c53f01cf43d825f3bf0ba42ce8763f9beecbae'/>
<id>c2c53f01cf43d825f3bf0ba42ce8763f9beecbae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
