<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/nova.git/nova/objects/migrate_data.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>Add missing condition</title>
<updated>2022-06-21T11:56:42+00:00</updated>
<author>
<name>Rajesh Tailor</name>
<email>ratailor@redhat.com</email>
</author>
<published>2022-05-27T04:21:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=7c56104f46576e7f5bd224c7c913792345bc52af'/>
<id>7c56104f46576e7f5bd224c7c913792345bc52af</id>
<content type='text'>
Change [1] added new fields 'src|dst_supports_numa_live_migration'
to LibvirtLiveMigrateData object, but missed if condition for
dst_supports_numa_live_migration field in obj_make_compatible
method.

This change adds the if condition as well as fix typo in unit test
because of which this wasn't catched earlier.

Closes-Bug: #1975891
Change-Id: Ice5a2c7aca77f47ea6328a10d835854d9aff408e
(cherry picked from commit 3aa77a3999a7dcabbd4c0141d4c56b07a4624128)
(cherry picked from commit dfa05d62da441eeaf144e312cf33ba0e029452f0)
(cherry picked from commit 7c4059669c079787e5dbdc873a1cf767a95b2c54)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change [1] added new fields 'src|dst_supports_numa_live_migration'
to LibvirtLiveMigrateData object, but missed if condition for
dst_supports_numa_live_migration field in obj_make_compatible
method.

This change adds the if condition as well as fix typo in unit test
because of which this wasn't catched earlier.

Closes-Bug: #1975891
Change-Id: Ice5a2c7aca77f47ea6328a10d835854d9aff408e
(cherry picked from commit 3aa77a3999a7dcabbd4c0141d4c56b07a4624128)
(cherry picked from commit dfa05d62da441eeaf144e312cf33ba0e029452f0)
(cherry picked from commit 7c4059669c079787e5dbdc873a1cf767a95b2c54)
</pre>
</div>
</content>
</entry>
<entry>
<title>libvirt: Remove MIN_LIBVIRT_FILE_BACKED_DISCARD_VERSION</title>
<updated>2020-09-22T09:29:37+00:00</updated>
<author>
<name>Lee Yarwood</name>
<email>lyarwood@redhat.com</email>
</author>
<published>2020-08-19T14:10:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=34cc68ac6e1c1ba24fd70649e91938a3d70c773b'/>
<id>34cc68ac6e1c1ba24fd70649e91938a3d70c773b</id>
<content type='text'>
I8e349849db0b1a540d295c903f1470917b82fd97 has bumped MIN_LIBVIRT_VERSION
past this so remove the constant and associated logic.

Change-Id: I952f36fe201aad37297c7630ed562b579c90f64a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I8e349849db0b1a540d295c903f1470917b82fd97 has bumped MIN_LIBVIRT_VERSION
past this so remove the constant and associated logic.

Change-Id: I952f36fe201aad37297c7630ed562b579c90f64a
</pre>
</div>
</content>
</entry>
<entry>
<title>objects: Remove 'XenapiLiveMigrateData'</title>
<updated>2020-09-11T13:09:06+00:00</updated>
<author>
<name>Stephen Finucane</name>
<email>stephenfin@redhat.com</email>
</author>
<published>2020-08-31T14:36:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=b9fdf09a179f42e857efebc316459ec42fdc9760'/>
<id>b9fdf09a179f42e857efebc316459ec42fdc9760</id>
<content type='text'>
This is no longer used by anything.

Change-Id: I39231b18fc0efcddba43be59ad06591d0b551ec4
Signed-off-by: Stephen Finucane &lt;stephenfin@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is no longer used by anything.

Change-Id: I39231b18fc0efcddba43be59ad06591d0b551ec4
Signed-off-by: Stephen Finucane &lt;stephenfin@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>New objects for NUMA live migration</title>
<updated>2019-09-12T21:34:34+00:00</updated>
<author>
<name>Artom Lifshitz</name>
<email>alifshit@redhat.com</email>
</author>
<published>2019-02-04T22:42:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=71fafa5b19de98cbd2fb7b8e4a086521c9786638'/>
<id>71fafa5b19de98cbd2fb7b8e4a086521c9786638</id>
<content type='text'>
This patch contains the Nova object modifications that will eventually
enable NUMA live migration:

* (src|dst)_supports_numa_live_migration are added to
LibvirtLiveMigrateData. They will be used by the source and
destination hosts to signal to each other that they can perform a
NUMA-aware live migration.

* LibvirtLiveMigrateNUMAInfo is a new object that encodes how the
instance's NUMA-y things will fit on the destination host. It contains
things like the new CPU pins, the new NUMA cell pins, and the new
emulator thread pins.

* dst_numa_info is added to LibvirtLiveMigrateData. It contains a
LibvirtLiveMigrateNUMAInfo object. It will be set by the destination
and will be used by the source to update the instance's XML.

Implements blueprint numa-aware-live-migration
Change-Id: I7c7f54ab142f01808ee4b46d27b4a336e476cc77
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch contains the Nova object modifications that will eventually
enable NUMA live migration:

* (src|dst)_supports_numa_live_migration are added to
LibvirtLiveMigrateData. They will be used by the source and
destination hosts to signal to each other that they can perform a
NUMA-aware live migration.

* LibvirtLiveMigrateNUMAInfo is a new object that encodes how the
instance's NUMA-y things will fit on the destination host. It contains
things like the new CPU pins, the new NUMA cell pins, and the new
emulator thread pins.

* dst_numa_info is added to LibvirtLiveMigrateData. It contains a
LibvirtLiveMigrateNUMAInfo object. It will be set by the destination
and will be used by the source to update the instance's XML.

Implements blueprint numa-aware-live-migration
Change-Id: I7c7f54ab142f01808ee4b46d27b4a336e476cc77
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused methods</title>
<updated>2019-09-04T06:26:59+00:00</updated>
<author>
<name>Takashi NATSUME</name>
<email>natsume.takashi@lab.ntt.co.jp</email>
</author>
<published>2019-09-04T05:40:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=2311a194e132ccbdf95572d1dc516ca0bff27175'/>
<id>2311a194e132ccbdf95572d1dc516ca0bff27175</id>
<content type='text'>
The following methods have not been used any more
since the following change IDs or a commit.

* _add_vif_extension

  I56d859beb675199b209587bfe0a23cd9b75233ad

* _node_dict

  Ia76e41a8a3b7230701872ae7a1975edc3d9ea847

* _bdms_from_legacy and _bdms_to_legacy

  I01c108ceb539bb99491ed542c683e36fbf0c2bbe

* _create_block_device_mapping

  Ib0e0b708c46e4330e51f8f8fdfbb02d45aaf0f44

* _get_folder

  If734e22af223836b424561e8e9ca65e6c39fe5c2

* _details_map

  This method has not been used since the commit
  that added the method (initial commit).
  https://opendev.org/openstack/nova/commit/e7562217edf80afdb5ca8254b624c401f549ec1e

Change-Id: Ica00c013961366d044f5a4ad3ed24568d60288b3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following methods have not been used any more
since the following change IDs or a commit.

* _add_vif_extension

  I56d859beb675199b209587bfe0a23cd9b75233ad

* _node_dict

  Ia76e41a8a3b7230701872ae7a1975edc3d9ea847

* _bdms_from_legacy and _bdms_to_legacy

  I01c108ceb539bb99491ed542c683e36fbf0c2bbe

* _create_block_device_mapping

  Ib0e0b708c46e4330e51f8f8fdfbb02d45aaf0f44

* _get_folder

  If734e22af223836b424561e8e9ca65e6c39fe5c2

* _details_map

  This method has not been used since the commit
  that added the method (initial commit).
  https://opendev.org/openstack/nova/commit/e7562217edf80afdb5ca8254b624c401f549ec1e

Change-Id: Ica00c013961366d044f5a4ad3ed24568d60288b3
</pre>
</div>
</content>
</entry>
<entry>
<title>compute: Use source_bdms to reset attachment_ids during LM rollback</title>
<updated>2019-07-24T15:35:51+00:00</updated>
<author>
<name>Lee Yarwood</name>
<email>lyarwood@redhat.com</email>
</author>
<published>2019-04-15T22:31:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=0eea5041c4047bf3ab8bf71973926d80592e5e5c'/>
<id>0eea5041c4047bf3ab8bf71973926d80592e5e5c</id>
<content type='text'>
As we now provide the original source bdms during rollback we can also
use them to reset any volume attachment ids to the ids used by the
source compute host.

Change-Id: Ibe9215c07a1ee00e0e121c69bcf7ee1b1b80fae0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As we now provide the original source bdms during rollback we can also
use them to reset any volume attachment ids to the ids used by the
source compute host.

Change-Id: Ibe9215c07a1ee00e0e121c69bcf7ee1b1b80fae0
</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>Merge "Replace git.openstack.org URLs with opendev.org URLs"</title>
<updated>2019-04-26T20:38:42+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2019-04-26T20:38:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=fe198c1bf80ffdfb4c3c53229eb19b5b3a984aa8'/>
<id>fe198c1bf80ffdfb4c3c53229eb19b5b3a984aa8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace git.openstack.org URLs with opendev.org URLs</title>
<updated>2019-04-24T05:59:57+00:00</updated>
<author>
<name>ZhongShengping</name>
<email>chdzsp@163.com</email>
</author>
<published>2019-04-22T05:57:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=7ecaa3fcf8f5160d5174a620aa4b509b8ddec070'/>
<id>7ecaa3fcf8f5160d5174a620aa4b509b8ddec070</id>
<content type='text'>
Thorough replacement of git.openstack.org URLs with their opendev.org
counterparts.

Change-Id: I3e0af55e0707f04428a422b973d016ad30c82a12
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thorough replacement of git.openstack.org URLs with their opendev.org
counterparts.

Change-Id: I3e0af55e0707f04428a422b973d016ad30c82a12
</pre>
</div>
</content>
</entry>
<entry>
<title>SR-IOV Live migration indirect port support</title>
<updated>2019-04-21T08:18:24+00:00</updated>
<author>
<name>Adrian Chiris</name>
<email>adrianc@mellanox.com</email>
</author>
<published>2018-11-25T14:52:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/nova.git/commit/?id=fd8fdc934530fb49497bc6deaa72adfa51c8783a'/>
<id>fd8fdc934530fb49497bc6deaa72adfa51c8783a</id>
<content type='text'>
This patch, builds on previous patches and enables
Live migration with SR-IOV indirect ports.

Prior to this change migration would have either:
  - Failed with instance running on the source node.
  - Failed with two VMs booted on both source and destination
    nodes, VM state is set to migrating, duplicate MACs on
    source and destination node and improper PCI resource claiming.
    This scenario is observed in the case of macvtap port type and
    neutron does not support multiple port binding API extension.
    With very little, non user friendly information in the log.

Conductor Changes:
- Allow live migration only with VIF related PCI devices to allow
  properly claiming PCI resources on the destination node.
  With this change live migration with generic flavor based
  PCI passthrough devices will not be supported due to libvirt and
  qemu constraint.

- Add a check to allow live migration with VIF related PCI allocation
  only when neutron supports multiple ports binding API extension
  and compute nodes are up to date.

- update the migrating VIF with the correct profile when binding the
  ports on the destination host, this will allow proper binding against
  the destination host and ensure VIF will be plugged correctly by Nova.

Compute Changes:
- Create VIFMigrateData for all VIFs in
  check_can_live_migrate_destination()

- For every VIF that contains a PCI device in its profile
  claim a PCI device on the destination node using the matching
  InstancePCIRequest of the instance being migrated.

- Update the relevant VIFMigrateData profile with the newly
  claimed PCI device.

- Free PCI devices on source and allocate on destination upon
  a successful migration or free claimed PCI devices on destination
  upon failure.

NeutronV2 Changes:
- Don't update binding profile with PCI devices if migration type is
  live-migration as the profile was already updated when an inactive
  port binding was created during bind_ports_to_host() call
  from conductor.

  Note: This builds on multiple ports binding API.

Change-Id: I734cc01dce13f9e75a16639faf890ddb1661b7eb
Partial-Implement: blueprint libvirt-neutron-sriov-livemigration
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch, builds on previous patches and enables
Live migration with SR-IOV indirect ports.

Prior to this change migration would have either:
  - Failed with instance running on the source node.
  - Failed with two VMs booted on both source and destination
    nodes, VM state is set to migrating, duplicate MACs on
    source and destination node and improper PCI resource claiming.
    This scenario is observed in the case of macvtap port type and
    neutron does not support multiple port binding API extension.
    With very little, non user friendly information in the log.

Conductor Changes:
- Allow live migration only with VIF related PCI devices to allow
  properly claiming PCI resources on the destination node.
  With this change live migration with generic flavor based
  PCI passthrough devices will not be supported due to libvirt and
  qemu constraint.

- Add a check to allow live migration with VIF related PCI allocation
  only when neutron supports multiple ports binding API extension
  and compute nodes are up to date.

- update the migrating VIF with the correct profile when binding the
  ports on the destination host, this will allow proper binding against
  the destination host and ensure VIF will be plugged correctly by Nova.

Compute Changes:
- Create VIFMigrateData for all VIFs in
  check_can_live_migrate_destination()

- For every VIF that contains a PCI device in its profile
  claim a PCI device on the destination node using the matching
  InstancePCIRequest of the instance being migrated.

- Update the relevant VIFMigrateData profile with the newly
  claimed PCI device.

- Free PCI devices on source and allocate on destination upon
  a successful migration or free claimed PCI devices on destination
  upon failure.

NeutronV2 Changes:
- Don't update binding profile with PCI devices if migration type is
  live-migration as the profile was already updated when an inactive
  port binding was created during bind_ports_to_host() call
  from conductor.

  Note: This builds on multiple ports binding API.

Change-Id: I734cc01dce13f9e75a16639faf890ddb1661b7eb
Partial-Implement: blueprint libvirt-neutron-sriov-livemigration
</pre>
</div>
</content>
</entry>
</feed>
