2. OpenStack Neutron Stadium
Neutron Stadium
● Advanced Services
● Third party Solutions
● Neutron-lib
https://governance.openstack.org/tc/reference/projects/neutron.html
3. Management Network
OpenStack and OpenDaylight Integration
Compute Node
VM
Networking Node
Data Network
Public Network
OVS
Router
Controller node
OpenDaylight*
Neutron Northbound
ovsdb/NetVirt
DHCP
Agent
VMVM Internet
OVS
Network/Control Node
Neutron
ML2
DB
ML2 Plugin
Networking-odl
Yang
Model
4. Networking-ODL and ODL Neutron Northbound
● Key components of the integration
● OpenStack networking-odl
○ https://launchpad.net/networking-odl
○ OpenStack Neutron Stadium Project
○ Basically follows openstack rule, but a bit more flexible
● ODL Neutron Northbound
○ https://wiki.opendaylight.org/view/NeutronNorthbound:Main
● Work in tandem
● Each has its own project governance
5. Release: OpenStack vs OpenDaylight
2017 Q3-4
focus
May, 2017
Oct, 2017
Mitaka Newton Ocata Pike Queens R
(future)
Beryllium Boron(Stable): LTS Carbon Nitrogen Oxygen(future)
https://releases.openstack.org/
https://wiki.opendaylight.org/view/Release_Plan
6. Management Network
New Driver Framework in Networking-odl
Compute Node
VM
Networking Node
Data Network
Public Network
OVS
Router
Controller node
OpenDaylight*
Neutron Northbound
ovsdb/NetVirt
DHCP
Agent
VMVM Internet
OVS
Network/Control Node
Neutron
ML2
DB
ML2 Plugin
Networking-odl
Yang
Model
7. Management Network
V1 Driver Recap
Data Network
Public Network
Router
Internet
Network/Control Node
Neutron
ML2
DB
ML2 Plugin
Networking-odl
Create
Network
1
2
Controller node
OpenDaylight*
Neutron Northbound
ovsdb/NetVirt
3
8. Synch on next Neutron Event - Repeat Errors
8
Courtesy: https://wiki.opendaylight.org/images/8/8d/Experiences_with_Neutron.pdf
9. LoadBalancer(HAProxy)
OpenDaylight*
Neutron Northbound
OpenStack* Service Provider
Openflow* OVSDB
Compute Node
VM OVS
OpenDaylight*
Neutron Northbound
OpenStack* Service Provider
Openflow* OVSDB
OpenDaylight*
Neutron Northbound
OpenStack* Service Provider
Openflow* OVSDB
Compute Node
VM OVS
Compute Node
VM OVS
Neutron
Journal Thread
Neutron
Journal Thread
Neutron
Journal Thread
Networking-ODL Networking-ODLNetworking-ODL
DB
Journal
Table
Enhanced component
New component
MD-SAL
10. Management Network
V2 Driver @ Work
Data Network
Public Network
Router
Internet
Network/Control Node
Neutron
ML2
DB
ML2 Plugin
Networking-odl
Create
Network
1
2
Controller node
OpenDaylight*
Neutron Northbound
ovsdb/NetVirt
4
Journal Thread
3
5
Journal
11. V2 Driver Details
● Journal based
○ Ordered queue of operations
○ “Dependency graphs”
○ A-synchronous from the API
● DB level locking
● Journal thread
● Maintenance thread
○ Full sync
○ Recovery
○ Cleanups
12. V2 Driver Benefits
● A-synchronous
○ Free up Neutron faster
○ Fits ODL design paradigm
● Ordered & Dependency checked
○ Same resource won’t hit race conditions
○ Dependant resources won’t hit race conditions
● DB level locking
○ Supports HA deployment of Neutron
○ Scale out
13. V2 Driver Shortcomings & Possible Improvement
● A-synchronous
○ No way to know resource state in ODL
○ However.. ODL is actually a-sync, so need to tackle somehow
● Becomes a bottleneck on scale
○ Consider allowing journal thread to scale on single server
○ Move dependency calculations to row creation
● Complexity is bug prone
○ Need to simplify as much as possible
14. Pseudo agent port binding
● Enabled in Ocata
● Support multiple vif types
○ ovs-dpdk
○ vpp
○ sriov
OVS DB
“external-ids”
hostconfig
ODL
controller
host_id
host_type
vif-type
vif-details
...
neutron/networking-odl
Store in agentDB
for port binding
15. Pike/Nitrogen focus
● Resource status report
○ ODL websocket + netconf
○ Port status Active <--> Down
● OpenStack RPC
○ RPC from ODL (client) to Neutron/networking-odl (server)
○ Use case: dhcp port IP address
● L3Flavor
○ ODL L3 router co-exists with other type of routers
18. Summary:
● Networking-odl and odl neutron northbound are key
components for the integration
● They are actively developed
● Call To Action
○ Give it a try, Feedback and Contribute
■ https://launchpad.net/networking-odl
■ https://wiki.opendaylight.org/view/NeutronNorthbound:Main
■ https://lists.opendaylight.org/mailman/listinfo/neutron-dev
■ IRC: #opendaylight-neutron on freenode