Comment 3 for bug 1888395

Revision history for this message
sean mooney (sean-k-mooney) wrote : Re: shared live migration of a vm with a vif is broken in train

moving this to triaaged and setting this to high
the regression was introduced in train by
https://opendev.org/openstack/nova/commit/fd8fdc934530fb49497bc6deaa72adfa51c8783a
specifically
https://github.com/openstack/nova/blob/b8ca3ce31ca15ddaa18512271c2de76835f908bb/nova/compute/manager.py#L7654-L7656

adding

  migrate_data.vifs = \
                migrate_data_obj.VIFMigrateData.create_skeleton_migrate_vifs(
                    instance.get_network_info())

uncondtionally activates the code path that require multiple port bindings
as when support for the multiple port bindings was added in rocky it used migrate_data.vif as a sentel
for the new workflow.

e.g. if it is populated the new migration workflow should be used.

  migrate_data.vifs = \
                migrate_data_obj.VIFMigrateData.create_skeleton_migrate_vifs(
                    instance.get_network_info())

should be

if self.network_api.supports_port_binding_extension(ctxt):
    migrate_data.vifs = migrate_data_obj.VIFMigrateData.create_skeleton_migrate_vifs(instance.get_network_info())

this bug prevents live migation with any neutron backend that does not support multiple port bindigns form train on so i am setting this to high.