On 11/8/2019 3:53 AM, Antoine Millet wrote: > How can I do those migration the proper way? [1] was implemented in Rocky to support live migration between different networking backends (vif types). A couple of things to check: 1. Is Neutron fully upgraded to Rocky and exposing the "Port Bindings Extended" (binding-extended) extension? Nova uses that to determine if neutron is new enough to create an inactive port binding for the target host prior to starting the live migration. 2. Are your nova-compute services all upgraded to at least Rocky and reporting version >=35 in the services table in the cell1 DB? [2] 3. Do you have [compute]/upgrade_levels RPC pinned to anything below Rocky? Or is that configured to "auto"? These are things to check just to make sure the basic upgrade requirements are satisfied before the code will even attempt to do the new style binding flow for live migration. If that's all working properly, you should see this DEBUG log message on the source host during live migration [4]. [1] https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/neutron-new-port-binding-api.html [2] https://github.com/openstack/nova/blob/a90fe1951200ebd27fe74788c0a96c01104ac2cf/nova/conductor/tasks/live_migrate.py#L41 [3] https://docs.openstack.org/nova/rocky/configuration/config.html#upgrade_levels.compute [4] https://github.com/openstack/nova/blob/a90fe1951200ebd27fe74788c0a96c01104ac2cf/nova/virt/libvirt/migration.py#L317 -- Thanks, Matt