Use neutrons new port binding API

Registered by Matt Riedemann

Nova side changes for the neutron spec for a portbinding API:

https://specs.openstack.org/openstack/neutron-specs/specs/pike/portbinding_information_for_nova.html

To be used during live migration.

Blueprint information

Status:
Complete
Approver:
Jay Pipes
Priority:
Medium
Drafter:
John Garbutt
Direction:
Approved
Assignee:
Matt Riedemann
Definition:
Approved
Series goal:
Accepted for rocky
Implementation:
Implemented
Milestone target:
milestone icon rocky-3
Started by
Matt Riedemann
Completed by
Matt Riedemann

Related branches

Sprints

Whiteboard

The spec needs to be updated and re-proposed for Queens. Notes on this are from the Queens PTG:

https://etherpad.openstack.org/p/nova-ptg-queens

Gerrit topic: https://review.openstack.org/#q,topic:bp/neutron-new-port-binding-api,n,z

Addressed by: https://review.openstack.org/375580
    WIP: Use neutron's new port binding API

Addressed by: https://review.openstack.org/510658
    WIP reorder destination host setup

Approved for Queens. -- mriedem 20171019

Addressed by: https://review.openstack.org/515423
    [WIP] add vif info to migration object

Addressed by: https://review.openstack.org/522537
    WIP stub out changes for multi port bindings

Addressed by: https://review.openstack.org/523548
    Add check if neutron "binding-extended" extension is available

Addressed by: https://review.openstack.org/523604
    WIP: Add code to bind a port against a dest host during live migration

Deferring this to Rocky. -- mriedem 20180124

Addressed by: https://review.openstack.org/543578
    Re-propose use Neutron's new port binding API

This has been re-approved for the Rocky release. -- mriedem 20180223

Addressed by: https://review.openstack.org/551370
    WIP: libvirt: use dest host vif migrate details for live migration

Addressed by: https://review.openstack.org/551371
    WIP: Use neutron port binding extended API during live migration

Addressed by: https://review.openstack.org/434870
    Port binding based on events during live migration

Addressed by: https://review.openstack.org/552170
    Add "delete_port_bindings" network API method

Addressed by: https://review.openstack.org/552173
    WIP: Turn on new port binding extended live migrate flow

Addressed by: https://review.openstack.org/555481
    Teardown networking when rolling back live migration even if shared disk

Addressed by: https://review.openstack.org/555489
    DRY up test_rollback_live_migration_set_migration_status

Addressed by: https://review.openstack.org/555947
    Add "activate_port_binding" neutron API method

Addressed by: https://review.openstack.org/556332
    Avoid unnecessary port update during live migration

Addressed by: https://review.openstack.org/556333
    Delete port bindings in setup_networks_on_host if teardown=True

Addressed by: https://review.openstack.org/556334
    Implement migrate_instance_start method for neutron

Addressed by: https://review.openstack.org/558001
    WIP: Wait for network-vif-plugged before starting live migration

Addressed by: https://review.openstack.org/558006
    DNM: test live_migration_wait_for_vif_plug=True

Addressed by: https://review.openstack.org/566931
    Add VIFMigrateData.get_dest_vif

Addressed by: https://review.openstack.org/566932
    libvirt: factor out pre_live_migration plug_vifs call

Addressed by: https://review.openstack.org/566933
    libvirt: use dest host port bindings during pre_live_migration

Addressed by: https://review.openstack.org/576664
    Handle strings as booleans in nova.network.model.VIF utils

Addressed by: https://review.openstack.org/583994
    Fix accumulated nits from port binding for live migration series

Addressed by: https://review.openstack.org/591735
    Wait for network-vif-plugged before starting live migration

Addressed by: https://review.openstack.org/594508
    libvirt: Don't react to VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED events

Addressed by: https://review.openstack.org/595864
    libvirt: Don't react to VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED events

Gerrit topic: https://review.opendev.org/#/q/topic:bp/neutron-new-port-binding-api

Addressed by: https://review.opendev.org/658149
    Teardown networking when rolling back live migration even if shared disk

Addressed by: https://review.opendev.org/662470
    DRY up test_rollback_live_migration_set_migration_status

Addressed by: https://review.opendev.org/710861
    Port binding based on events during live migration

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.