<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/nova.git/nova/objects/instance_pci_requests.py, branch 23.2.2</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>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>Remove stale nested backport from InstancePCIRequests</title>
<updated>2020-04-21T16:07:32+00:00</updated>
<author>
<name>Dan Smith</name>
<email>dansmith@redhat.com</email>
</author>
<published>2020-04-21T16:07:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=d3ca7356860d64555eef6f5138501cb38f50ecc8'/>
<id>d3ca7356860d64555eef6f5138501cb38f50ecc8</id>
<content type='text'>
Sometime in 2015, we removed the hard-coded obj_relationships mapping
from parent objects which facilitated semi-automated child version
backports.  This was replaced by a manifest-of-versions mechanism
where the client reports all the supported objects and versions
during a backport request to conductor. The InstancePCIRequests object
isn't technically an ObjectListBase, despite acting like one, and thus
wasn't using the obj_relationships. Because of this, it was doing
its own backporting of its child object, which was not removed in
the culling of the static mechanism. Because we now no longer need to
worry about sub-object backport chaining, when version 1.2 was added,
no backport rule was added, and since the object does not call the
base class' generic routine, proper backporting of the child object
was not happening.

All we need to do is remove the override to allow the base
infrastructure to do the work.

Change-Id: Id610a24c066707de5ddc0507e7ef26c421ba366c
Closes-Bug: #1868033
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sometime in 2015, we removed the hard-coded obj_relationships mapping
from parent objects which facilitated semi-automated child version
backports.  This was replaced by a manifest-of-versions mechanism
where the client reports all the supported objects and versions
during a backport request to conductor. The InstancePCIRequests object
isn't technically an ObjectListBase, despite acting like one, and thus
wasn't using the obj_relationships. Because of this, it was doing
its own backporting of its child object, which was not removed in
the culling of the static mechanism. Because we now no longer need to
worry about sub-object backport chaining, when version 1.2 was added,
no backport rule was added, and since the object does not call the
base class' generic routine, proper backporting of the child object
was not happening.

All we need to do is remove the override to allow the base
infrastructure to do the work.

Change-Id: Id610a24c066707de5ddc0507e7ef26c421ba366c
Closes-Bug: #1868033
</pre>
</div>
</content>
</entry>
<entry>
<title>[FUP] Follow-up patch for SR-IOV live migration</title>
<updated>2019-07-02T18:52:01+00:00</updated>
<author>
<name>Adrian Chiris</name>
<email>adrianc@mellanox.com</email>
</author>
<published>2019-05-14T15:20:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=7824909048cdf246c4f50d8c4901c0c296b972c6'/>
<id>7824909048cdf246c4f50d8c4901c0c296b972c6</id>
<content type='text'>
This commit addresses some of the non-blocking comments/nits
in[1].

Main changes:
- Add 'source' property to InstancePCIRequest object
  which contains the source of the request i.e. flavor alias
  or neutron port. this avoids duplication of logic
  and comments in the code.

- Move class method create_skeleton_migrate_vifs from
  LiveMigrateData object to VIFMigrateData object as
  frankly its more sensible to have it there.

- Separate unit test, test__claim_pci_for_instance_vifs,
  to two separate unit tests for clarity.

- Some trivial nits and typos.

[1] https://review.opendev.org/#/c/620115/

Change-Id: I292a0e2d840bbf657ba6d0932f9a3decbcb2778f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit addresses some of the non-blocking comments/nits
in[1].

Main changes:
- Add 'source' property to InstancePCIRequest object
  which contains the source of the request i.e. flavor alias
  or neutron port. this avoids duplication of logic
  and comments in the code.

- Move class method create_skeleton_migrate_vifs from
  LiveMigrateData object to VIFMigrateData object as
  frankly its more sensible to have it there.

- Separate unit test, test__claim_pci_for_instance_vifs,
  to two separate unit tests for clarity.

- Some trivial nits and typos.

[1] https://review.opendev.org/#/c/620115/

Change-Id: I292a0e2d840bbf657ba6d0932f9a3decbcb2778f
</pre>
</div>
</content>
</entry>
<entry>
<title>objects: Store InstancePCIRequest.numa_policy in DB</title>
<updated>2019-03-06T11:02:02+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>sfinucan@redhat.com</email>
</author>
<published>2018-12-11T16:01:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=59d94633518e6f6272e9f0654bb908e332f97a96'/>
<id>59d94633518e6f6272e9f0654bb908e332f97a96</id>
<content type='text'>
In change I9360fe29908, we added the 'numa_policy' field to the
'InstancePCIRequest' object. Unfortunately we did not update the
(de)serialization logic for the 'InstancePCIRequests' object, meaning
this field was never saved to the database. As a result, claiming will
always fail [1].

The resolution is simple - add the (de)serialization logic and tests to
prevent regression.

[1] https://github.com/openstack/nova/blob/18.0.0/nova/compute/resource_tracker.py#L214-L215

Change-Id: Id4d8ecb8fee46b21590ebcc62a2850030cef6508
Closes-Bug: #1805891
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In change I9360fe29908, we added the 'numa_policy' field to the
'InstancePCIRequest' object. Unfortunately we did not update the
(de)serialization logic for the 'InstancePCIRequests' object, meaning
this field was never saved to the database. As a result, claiming will
always fail [1].

The resolution is simple - add the (de)serialization logic and tests to
prevent regression.

[1] https://github.com/openstack/nova/blob/18.0.0/nova/compute/resource_tracker.py#L214-L215

Change-Id: Id4d8ecb8fee46b21590ebcc62a2850030cef6508
Closes-Bug: #1805891
</pre>
</div>
</content>
</entry>
<entry>
<title>Record requester in the InstancePCIRequest</title>
<updated>2019-02-28T17:47:47+00:00</updated>
<author>
<name>Balazs Gibizer</name>
<email>balazs.gibizer@ericsson.com</email>
</author>
<published>2018-12-14T14:56:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=fc4010176a5e445a1e5d333bbbd3e273e2448e79'/>
<id>fc4010176a5e445a1e5d333bbbd3e273e2448e79</id>
<content type='text'>
An InstancePCIRequest might represent the VF device request of a
neutron port that has bandwidth request as well. In this case nova
needs to correlate the pci request with the port's resource request to
make sure the bandwidth and the VF are allocated from the same PF.

This patch introduces the new ``requester_id`` field to the
InstancePCIRequest ovo and stores the port_id in that field if the
pci request is created from a neutron port.

The value of the ``requester_id`` field will be used in a subsequent
patch to match it against the existing RequestGroup.requester_id.

Change-Id: I73786b7900957faca72d6ddfd01023a4b186e14d
blueprint: bandwidth-resource-provider
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An InstancePCIRequest might represent the VF device request of a
neutron port that has bandwidth request as well. In this case nova
needs to correlate the pci request with the port's resource request to
make sure the bandwidth and the VF are allocated from the same PF.

This patch introduces the new ``requester_id`` field to the
InstancePCIRequest ovo and stores the port_id in that field if the
pci request is created from a neutron port.

The value of the ``requester_id`` field will be used in a subsequent
patch to match it against the existing RequestGroup.requester_id.

Change-Id: I73786b7900957faca72d6ddfd01023a4b186e14d
blueprint: bandwidth-resource-provider
</pre>
</div>
</content>
</entry>
<entry>
<title>Use nova.db.api directly</title>
<updated>2018-07-10T14:56:27+00:00</updated>
<author>
<name>Chris Dent</name>
<email>cdent@anticdent.org</email>
</author>
<published>2018-02-11T21:58:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=def4b17934a3b2cf783d0177d6a9632916dfd10f'/>
<id>def4b17934a3b2cf783d0177d6a9632916dfd10f</id>
<content type='text'>
nova/db/__init__.py was importing * from nova.db.api. This meant that
any time any code anywhere within the nova.db package was imported
then nova.db.api was too, leading to a cascade of imports that may
not have been desired. Also, in general, code in __init__.py is a pain.

Therefore, this change adjusts code that so that either:

* nova.db.api is used directly
* nova.db.api is imported as 'db'

In either case, the functionality remains the same.

The primary goal of this change was to make it possible to import the
model files without having to import the db api. Moving the model files
to a different place in the directory hierarchy was considered, but
given that "code in __init__.py is a pain" this mode was chosen.

This looks like a very large change, but it is essentially adjusting
package names, many in mocks.

Change-Id: Ic1fd7c87ceda05eeb96735da2a415ef37060bb1a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nova/db/__init__.py was importing * from nova.db.api. This meant that
any time any code anywhere within the nova.db package was imported
then nova.db.api was too, leading to a cascade of imports that may
not have been desired. Also, in general, code in __init__.py is a pain.

Therefore, this change adjusts code that so that either:

* nova.db.api is used directly
* nova.db.api is imported as 'db'

In either case, the functionality remains the same.

The primary goal of this change was to make it possible to import the
model files without having to import the db api. Moving the model files
to a different place in the directory hierarchy was considered, but
given that "code in __init__.py is a pain" this mode was chosen.

This looks like a very large change, but it is essentially adjusting
package names, many in mocks.

Change-Id: Ic1fd7c87ceda05eeb96735da2a415ef37060bb1a
</pre>
</div>
</content>
</entry>
<entry>
<title>objects: Add PCI NUMA policy fields</title>
<updated>2017-12-20T14:59:10+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>sfinucan@redhat.com</email>
</author>
<published>2017-12-12T11:51:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=0cd858b4ab6a500cb6c20447bd7bc1c7136e1bc5'/>
<id>0cd858b4ab6a500cb6c20447bd7bc1c7136e1bc5</id>
<content type='text'>
Add the requisite policy field to 'InstacePCIRequests' for the
aforementioned feature. We also add a missing 'super' call for the
'obj_make_compatible' function of this object and add the missing unit
tests for same.

bp share-pci-between-numa-nodes

Change-Id: I9360fe299083045a4baf4a703d2b53b3eb30a558
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add the requisite policy field to 'InstacePCIRequests' for the
aforementioned feature. We also add a missing 'super' call for the
'obj_make_compatible' function of this object and add the missing unit
tests for same.

bp share-pci-between-numa-nodes

Change-Id: I9360fe299083045a4baf4a703d2b53b3eb30a558
</pre>
</div>
</content>
</entry>
<entry>
<title>pci: Deprecate is_new from pci requests</title>
<updated>2016-06-21T10:19:57+00:00</updated>
<author>
<name>Moshe Levi</name>
<email>moshele@mellanox.com</email>
</author>
<published>2016-04-28T23:27:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=3ea6f089bfd68c22033220981b90c0db1ea6c03a'/>
<id>3ea6f089bfd68c22033220981b90c0db1ea6c03a</id>
<content type='text'>
Patch https://review.openstack.org/#/c/307124/
stash the the old/new pci requests in the
migration context same as we do for NUMA.

This patch is a cleanup patch to deprecate the is_new field
in pci request. The is_new was horrible hack to get the
newer pci request on resize/migration and since the
pci_requests are now stashed in the migration context we
can deprecate it.

Change-Id: Ie36a74fb2aad9a14a2dc0e0b53649ee770fb2f9d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch https://review.openstack.org/#/c/307124/
stash the the old/new pci requests in the
migration context same as we do for NUMA.

This patch is a cleanup patch to deprecate the is_new field
in pci request. The is_new was horrible hack to get the
newer pci request on resize/migration and since the
pci_requests are now stashed in the migration context we
can deprecate it.

Change-Id: Ie36a74fb2aad9a14a2dc0e0b53649ee770fb2f9d
</pre>
</div>
</content>
</entry>
<entry>
<title>Trivial-Fix: Fix typos</title>
<updated>2016-06-13T06:41:08+00:00</updated>
<author>
<name>Rajesh Tailor</name>
<email>ratailor@redhat.com</email>
</author>
<published>2016-06-09T12:57:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=9ebf9a5aa5bb4cc1381b1b4abcac0c270458c4a0'/>
<id>9ebf9a5aa5bb4cc1381b1b4abcac0c270458c4a0</id>
<content type='text'>
Change-Id: I09a87b7a13cf551f18ef1fb27aa9f5406baebab4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I09a87b7a13cf551f18ef1fb27aa9f5406baebab4
</pre>
</div>
</content>
</entry>
<entry>
<title>Use version convert methods from oslo_utils.versionutils</title>
<updated>2015-11-25T12:26:02+00:00</updated>
<author>
<name>ChangBo Guo(gcb)</name>
<email>eric.guo@easystack.cn</email>
</author>
<published>2015-07-18T06:31:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=26635e7c49daa8cdaa874b65b10bd0eecb5ff1f6'/>
<id>26635e7c49daa8cdaa874b65b10bd0eecb5ff1f6</id>
<content type='text'>
oslo_utils provide version convert methods in versionutis[1],
so don't need maintain them in nova.

[1]https://github.com/openstack/oslo.utils/blob/master/oslo_utils/versionutils.py

Change-Id: Icbc65ab372379812326265263c2a0b1b20999189
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
oslo_utils provide version convert methods in versionutis[1],
so don't need maintain them in nova.

[1]https://github.com/openstack/oslo.utils/blob/master/oslo_utils/versionutils.py

Change-Id: Icbc65ab372379812326265263c2a0b1b20999189
</pre>
</div>
</content>
</entry>
</feed>
