Support Routed Networks in Neutron

Registered by Carl Baldwin on 2015-10-15

Model changes to support routed network groups

Blueprint information

Status:
Complete
Approver:
Kevin Benton
Priority:
High
Drafter:
Carl Baldwin
Direction:
Approved
Assignee:
Miguel Lavalle
Definition:
Approved
Series goal:
Accepted for ocata
Implementation:
Implemented
Milestone target:
milestone icon ocata-rc1
Started by
Armando Migliaccio on 2016-03-04
Completed by
Armando Migliaccio on 2017-02-07

Whiteboard

Feb-06-2016(armax): nova-side targeted for Pike.

Dec-01-2016(armax): we'll stick with 1) for Ocata and work on 2) as a separate effort (i.e. to be tracked with a different blueprint).

Current focus of development:

https://review.openstack.org/#/c/358658/

Oct-7-2016 (carl_baldwin): The big missing pieces here are 1) Nova scheduling awareness of IP resources and 2) cannot use a routed network as a router external network. The first requires some work in Nova that is set to be completed in Ocata. The second requires routing of floating IPs with something like Neutron's BGP. Neutron's BGP would need to be enhanced to be aware of segments in order to be able to associate with peers on a per-segment basis.

Sep-12-2016(armax): missing CLI, testing, deferred to Ocata

Aug-08-2016(armax): partially complete, it won't complete by the end of Newton.

Apr-4-2016(armax): Code is popping up on the gerrit dashboard, under control

Mar-3-2106(armax): Moved to Newton. Please ensure you re-submit spec if necessary.

Jan-24-2016(armax): I think it's safe to assume that the end-to-end work won't be complete in Mitaka and as such the BP will have to be marked deferred. That said, we should keep on iterating on the spec and get it fit for approval so that it can be fast tracked in N. If there are low-hanging fruits within the effort that can be tackled in the Mitaka time frame (e.g. host-physical network modeling) we should strive for that.

Dec-07-2015(armax): iterating on the spec, some POC code to show concepts. Needs a final push

Related RFE: https://bugs.launchpad.net/neutron/+bug/1458890

Gerrit topic: https://review.openstack.org/#q,topic:bp/routed-networks,n,z

Addressed by: https://review.openstack.org/225384
    Model changes to support routed network groups

Gerrit topic: https://review.openstack.org/#q,topic:routed-networks,n,z

Addressed by: https://review.openstack.org/242270
    Basic extension for IP network and CRUD

Addressed by: https://review.openstack.org/245942
    [WIP] Add Network Availability to Host Mapping API

Addressed by: https://review.openstack.org/284440
    [WIP] Basic extension and CRUD for Segments

Addressed by: https://review.openstack.org/285548
    Add segments to hosts mappings for Routed Networks

Addressed by: https://review.openstack.org/242393
    Make network segment table available for standalone plugin

Addressed by: https://review.openstack.org/288774
    [WIP] Associate subnets to segments

Addressed by https://review.openstack.org/290054
    WIP: Add network segment resource

Addressed by https://review.openstack.org/290138
    WIP: Add network segment command object

Addressed by: https://review.openstack.org/293305
    Add name and desc to ml2_network_segments table

Addressed by: https://review.openstack.org/295173
    Remove the functions map after segment moving out of ml2

Addressed by: https://review.openstack.org/296603
    Basic Extension and CRUD for Segments

Addressed by: https://review.openstack.org/296658
    Enable viewing segments through API in ML2

Addressed by https://review.openstack.org/302223
    WIP: Add network segment create and delete

Addressed by https://review.openstack.org/302395
    WIP: Add network segment create and delete

Gerrit topic: https://review.openstack.org/#q,topic:add_name_and_desc,n,z

Addressed by: https://review.openstack.org/303929
    Allow OVSDB Connection to register certain tables

Addressed by: https://review.openstack.org/305948
    Avoid referencing code from master branch

Addressed by: https://review.openstack.org/304886
    Enable IPAM drivers to allocate from more than one subnet

Addressed by: https://review.openstack.org/311931
    WIP - DHCP Agent scheduling with segments

Addressed by: https://review.openstack.org/312688
    WIP Allow the service plugin to import the extension

Addressed by: https://review.openstack.org/314275
    Remove deprecated references to attributes

Addressed by: https://review.openstack.org/314815
    WIP Make IPAM segment aware

Addressed by: https://review.openstack.org/317227
    WIP - DHCP Agent Scheduling API for Segments

Addressed by: https://review.openstack.org/317358
    [WIP]Enable create and delete for segments in ML2

Gerrit topic: https://review.openstack.org/#q,topic:host-aware-ipam,n,z

Addressed by: https://review.openstack.org/304647
    [WIP]L2-Adjacency support

Addressed by: https://review.openstack.org/320631
    Make IPAM segment aware on port update

Addressed by: https://review.openstack.org/326261
    Add segment_id to DHCP Agent Network Bindings

Addressed by: https://review.openstack.org/320657
    Make segment aware IPAM compatible with ML2

Addressed by: https://review.openstack.org/326829
    Use callback to update SegmentHostMapping

Addressed by: https://review.openstack.org/322486
    Refactor update_segment_host_mapping_for_agent for agentless topology

Addressed by: https://review.openstack.org/329221
    Extension to tell when deferred binding is in effect

Addressed by: https://review.openstack.org/329309
    Create segment_host mapping after new segment

Addressed by: https://review.openstack.org/331497
    Add tenant id processing to segment plugin

Addressed by: https://review.openstack.org/334648
    Create segment_host mapping after new network

Addressed by: https://review.openstack.org/334672
    WIP DHCP agents should only ask for subnets on segments they touch

Addressed by: https://review.openstack.org/335200
    Register the dict extend function when service plugin starts

Addressed by: https://review.openstack.org/336734
    Handle non existing network in segment creation

Addressed by: https://review.openstack.org/337688
    Add function to return all hosts with mapped segments

Addressed by: https://review.openstack.org/337954
    Add an independent function to map segment to hosts

Addressed by: https://review.openstack.org/337956
    Clear SegmentHostMapping when deleting inactive agent

Addressed by: https://review.openstack.org/339247
    Ensure deferred IP fails when host is provided no IP allocated

Addressed by: https://review.openstack.org/333716
    [WIP] Auto Scheduling for Segments

Addressed by: https://review.openstack.org/339365
    Creating dhcp port is segment aware

Addressed by: https://review.openstack.org/340592
    WIP DHCP agents should not set default route to a subnet on another segment

Addressed by: https://review.openstack.org/342430
    Ensure deferred IP fails when host is provided no IP allocated

Addressed by: https://review.openstack.org/346217
    Prevent port update from binding a host where IPs won't work

Addressed by: https://review.openstack.org/346219
    WIP Allow setting values to None in portbindings

Addressed by: https://review.openstack.org/347188
    Add routed network scenario test cases

Addressed by: https://review.openstack.org/350665
    Publish segment id in port responses

Addressed by: https://review.openstack.org/353115
    [WIP] Add api tempest tests for segments

Addressed by: https://review.openstack.org/357089
    Revert "Publish segment id in port responses"

Addressed by: https://review.openstack.org/358658
    Routed networks IPv4 inventory in Nova GRP

Addressed by: https://review.openstack.org/374434
    Add segments to v2 API reference

Addressed by: https://review.openstack.org/390673
    Replace a test with use of network object

Addressed by: https://review.openstack.org/414726
    Add a ReST client for placement API

Gerrit topic: https://review.openstack.org/#q,topic:enable_segments_plugin,n,z

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.