nova/nova
Balazs Gibizer cd03bbc1c3 Record SRIOV PF MAC in the binding profile
Today Nova updates the mac_address of a direct-physical port to reflect
the MAC address of the physical device the port is bound to. But this
can only be done before the port is bound. However during migration Nova
does not update the MAC when the port is bound to a different physical
device on the destination host.

This patch extends the libvirt virt driver to provide the MAC address of
the PF in the pci_info returned to the resource tracker. This
information will be then persisted in the extra_info field of the
PciDevice object.

Then the port update logic during migration, resize, live
migration, evacuation and unshelve is also extended to record the MAC of
physical device in the port binding profile according to the device on
the destination host.

The related neutron change Ib0638f5db69cb92daf6932890cb89e83cf84f295
uses this info from the binding profile to update the mac_address field
of the port when the binding is activated.

Closes-Bug: #1942329

Change-Id: Iad5e70b43a65c076134e1874cb8e75d1ba214fde
2022-05-03 18:08:50 +02:00
..
accelerator smartnic support - reject server move and suspend 2021-08-05 15:58:41 +08:00
api Fix wrong attribute to find remote address 2022-04-04 00:22:25 +09:00
cmd Merge "Follow up for nova-manage image property commands" 2022-04-21 09:43:55 +00:00
compute Record SRIOV PF MAC in the binding profile 2022-05-03 18:08:50 +02:00
conductor Enforce resource limits using oslo.limit 2022-02-24 16:21:03 +00:00
conf Merge "List auth plugin parameters for [keystone] section" 2022-04-29 12:08:27 +00:00
console Merge "console: Improve logging" 2021-09-07 14:29:08 +00:00
db Merge "db: Resolve additional SAWarning warnings" 2022-04-29 05:25:46 +00:00
hacking hacking: Prevent use of six 2022-04-05 12:59:12 +01:00
image Merge "Close Glance image if downloading failed." 2022-01-17 10:31:21 +00:00
keymgr
limit Follow up for unified limits 2022-03-04 03:42:58 +00:00
locale Imported Translations from Zanata 2022-04-01 04:02:00 +00:00
network Record SRIOV PF MAC in the binding profile 2022-05-03 18:08:50 +02:00
notifications object/notification for Adds Pick guest CPU architecture based on host 2022-02-24 12:06:55 -05:00
objects Record SRIOV PF MAC in the binding profile 2022-05-03 18:08:50 +02:00
pci Remove unavailable but not reported PCI devices at startup 2022-04-28 16:01:38 +02:00
policies Complete phase-1 of RBAC community-wide goal 2022-02-24 16:33:34 +00:00
privsep Retry lvm volume and volume group query 2021-06-15 12:39:26 +02:00
releasenotes/notes api: enable oslo.reports when using uWSGI 2021-10-14 09:23:08 +03:00
scheduler Merge "Tell oslo.limit how to count nova resources" 2022-02-26 23:44:52 +00:00
servicegroup Remove six.binary_type/integer_types/string_types 2020-12-13 11:25:14 +00:00
storage Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
tests Record SRIOV PF MAC in the binding profile 2022-05-03 18:08:50 +02:00
virt Record SRIOV PF MAC in the binding profile 2022-05-03 18:08:50 +02:00
volume Add volume-rebuild support to cinder module 2022-02-25 02:12:55 +05:30
__init__.py
availability_zones.py Remove six.PY2 and six.PY3 2020-08-15 07:45:23 +00:00
baserpc.py
block_device.py fup: Remove unused legacy block_device_info format 2021-08-20 13:26:46 +01:00
cache_utils.py
config.py conf: Allow cinderclient and os_brick to independently log at DEBUG 2021-12-03 18:21:16 +00:00
context.py db: Unify 'nova.db.api', 'nova.db.sqlalchemy.api' 2021-08-09 15:34:40 +01:00
crypto.py Replace md5 for fips 2021-02-25 16:01:43 -05:00
debugger.py trivial: Remove remaining '_LW' instances 2020-05-18 17:00:41 +01:00
exception.py Add logic to enforce local api and db limits 2022-02-24 16:21:02 +00:00
exception_wrapper.py rpc: Rework 'get_notifier', 'wrap_exception' 2021-03-01 11:06:48 +00:00
filters.py Add autopep8 to tox and pre-commit 2021-11-08 12:37:27 +00:00
i18n.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00
loadables.py
manager.py db: Unify 'nova.db.api', 'nova.db.sqlalchemy.api' 2021-08-09 15:34:40 +01:00
middleware.py Allow X-OpenStack-Nova-API-Version header in CORS 2021-06-15 07:35:36 -04:00
monkey_patch.py reenable greendns in nova. 2022-03-08 16:16:11 +00:00
policy.py Reuse code from oslo lib for JSON policy migration 2021-01-14 22:41:33 +00:00
profiler.py
quota.py Follow up for unified limits 2022-03-04 03:42:58 +00:00
rpc.py rpc: Rework 'get_notifier', 'wrap_exception' 2021-03-01 11:06:48 +00:00
safe_utils.py
service.py Add service version check workaround for FFU 2022-01-24 08:45:58 -08:00
service_auth.py
test.py db: Don't pass strings to 'Connection.execute' 2021-11-12 09:58:42 +00:00
utils.py Fix eventlet.tpool import 2022-02-22 12:40:15 +01:00
version.py Change API unexpected exception message 2021-02-17 21:30:07 +00:00
weights.py Add debug log for scheduler weight calculation 2021-11-11 19:10:32 +01:00
wsgi.py trivial: Remove remaining '_LI' instances 2020-05-18 17:00:57 +01:00