networking odl
play

networking-odl Syncing OpenDaylight with OpenStack Neutron Isaku - PowerPoint PPT Presentation

networking-odl Syncing OpenDaylight with OpenStack Neutron Isaku Yamahata OpenDaylight Developer Design Forum Feb 29, 2016 This session goal To socialise whats happening in openstack side to OpenDaylight community whats coming,


  1. networking-odl Syncing OpenDaylight with OpenStack Neutron Isaku Yamahata OpenDaylight Developer Design Forum Feb 29, 2016

  2. This session goal ● To socialise what’s happening in openstack side to OpenDaylight community ○ what’s coming, what’s expected ● To gather requirements/requests/wishlists… for openstack neutron and networking-odl to feed openstack neutron and networking-odl ○ align networking-odl with ODL neutron northbound ● https://pad.opendaylight.org/p/neutron-northbound-boron-planning ● https://wiki.opendaylight.org/view/NeutronNorthbound:NeutronDriverOverhaul

  3. Why networking-odl v2 driver? ● There are some gaps with the existing(v1) implementation ○ it was good for PoC, but it’s a toy for production environment ○ reported at the last OpenDaylight summit ○ https://wiki.opendaylight.org/images/8/8d/Experiences_with_Neutron.pdf by Wojciech Dec ○ There is race conditions ○ It doesn't scale well ○ It doesn't support Neutron HA ● It’s quite difficult to address the found issues with modifying/enhancing the existing implementation This effort is started and mainly driven by Arvind Somya and Rich Curran

  4. The existing implemenetation DB Neutron networking-odl Race Simple full Condition sync logc on DB and MD-SAL error can be out-of- sync Neutron Northbound openstack service provider MD-SAL OpenDaylight

  5. New Architecture DB Neutron Neutron Neutron networking-odl networking-odl networking-odl DB Syncer Syncer Syncer operation Log Monitor LoadBalancer(HAProxy) connection Neutron Northbound Neutron Northbound Neutron Northbound openstack service openstack service openstack service provider provider provider MD-SAL OpenDaylight OpenDaylight OpenDaylight

  6. Goal of networking-odl v2 driver? ● Make networking-odl usable in production environment ○ Eliminate race conditions ○ Scalability ○ support neutron HA: to have multiple instance of openstack neutron servers ○ well-tested code ● smooth transition from v1 to v2 driver Introduce a solid design for feature ● https://wiki.opendaylight.org/view/NeutronNorthbound:NeutronDriverOverhaul

  7. What impact on ODL? ● Goal is to minimize impact on ODL. Ideally no impact ● At first phase, no impact on ODL. just drop-in replacement with the old code ● At second phase, consider modification/enhancement of the communication between networking-odl and OpenDaylight ○ Mainly the modification would be in ODL Neutron Northbound ○ The current openstack-service provider could work without (major) modification ○ For better functionality, modification to openstack service-provider would be necessary

  8. Timeline Mitaka Newton Ocata ● Introduce v2 driver ● migrate all services: Done! ● migrate to v2 ODL lbaas, fwaas etc… driver, eliminate the ● introduce advanced existing ODL driver features ● ML2 driver, L3 ○ healing data pluing breakage ● lightweight test ○ notification framework for ○ restconf neutron HA ● evaluation

  9. JournalEntry sync thread or rest request to ODL postcommit(fastpath) success precommit PENDING PROCESSING COMPLETED Retry upto X failure even number of after X FAILED times retries BONUS: this introduces resiliency against Neutron Server Crash.

  10. Neutron HA support Neutron Neutron Neutron ● Have mulitple instance of Neutron server ● Monitor neutron server state to connect ODL ● Introduce state machine to track neutron ODL Monitor connection STARTING NORMAL DISCONNECTED ERROR

  11. Full sync ● ODL cold boot(or ODL boot first time) ● (transient) network failure or ODL reboot with persistence ● healing random data breakage in ODL neutron northbound cold start NULL CHECKING OUTOFSYNC SYNCING NORMAL

  12. Test framework tempest ● HA logic needs extensive test coverage neutron Other openstack Other openstack ODL mech component ● Openstack tempest is too heavy Other openstack driver component (nova, glance, cinder, ...) component weight (nova, glance, cinder, ...) REST (nova, glance, cinder, ...) ● Lightweight test is deisrable for ODL developers ● ovsdb OF-wire OVS port create/delete Openstack tempest test nova/neutron: Too heavy VIF driver

  13. Lighter Test Framework New component ODL mech driver shim simulate neutron request neutron REST ODL mech driver shim ODL simulate ODL reply ovsdb OF-wire OVS allows neutron side port test without ODL create/delete version match single node VIF driver shim concern or simulate port container creation/deletion ODL only test neutron test without ODL without openstack

  14. mocking tempest for ODL New component tempest neutron client mock API test REST ODL ovsdb OF-wire OVS mock cf. https://github.com/flavio-fernandes/odl-openstack-ci-1/blob/master/tools/createFloat.sh port create/delete tempest runs only iwth ODL

  15. New component Multi Node Emulation ODL mech driver shim orchestrate simulate neutron request REST ODL OF-wire ovsdb OF-wire ovsdb OVS OVS port port ... create/delete create/delete single node VIF driver shim VIF driver shim or simulate port simulate port container creation/deletion creation/deletion container ODL only test ODL only test without openstack without openstack

  16. future plan(Newton) ● Notification from ODL to networking-odl ● Exntension discovery ● Switching to custom REST API to RESTCONF

  17. Backup

  18. New coming features in Mitaka ● proposed features may or may not make it ● http://specs.openstack.org/openstack/neutron-specs/specs/mitaka/ improve-dvr-l3-agent-binding.rst add-port-timestamp.rst lbaas-driver-vip-delegation.rst add-tags-to-core-resources.rst lbaas-l7-rules.rst address-scopes.rst network-ip-availability-api.rst adopt-oslo-guru-reports.rst neutron-flavor-framework-templates.rst availability-zone.rst neutron-lib.rst bgp-dynamic-routing.rst rbac-qos-policies.rst external-dns-resolution.rst restructure-l2-agent.rst fwaas-api-2.0.rst unaddressed-port.rst get-me-a-network.rst vlan-aware-vms.rst

Recommend


More recommend