============================================= Nuage Networks' ML2 Mechanism Driver ============================================= https://blueprints.launchpad.net/neutron/+spec/ml2-mech-driver-nuage Adding mechanism driver in ML2 plugin for Nuage Networks Problem description =================== Nuage's VSP fits well via its northbound API exposure to both ML2 based mechanism driver as well as via monolithic plugin. As nuage strive to add more features and functionality to its monolithic plugin, it is important from other integration point of view to also support ml2 mechanism driver framework. This is the effort to start achieving that goal. Proposed change =============== In Juno release, mechanism driver will support basic L2 functionality as a stepping stone to enhance it in later release. It will implement CRUD APIs for network, subnets and ports. Idea is to reuse as much of the code base from the current monolithic plugin itself and for that reason driver class will inherit nuage plugin class as one of the parent. Alternatives ------------ Monolithic Nuage Plugin Data model impact ----------------- None REST API impact --------------- None Security impact --------------- None Notifications impact -------------------- None Other end user impact --------------------- None Performance Impact ------------------ None Other deployer impact --------------------- None Developer impact ---------------- None Implementation ============== In order for mechanism driver to talk to Nuage's VSD, it will require certain configuration to be read from the file. This is similar approach to nuage's monolithic plugin. Along with parameters mentioned at etc/neutron/plugins/nuage/nuage_plugin.ini, user will have to pass reference to precreated net-partition as well. Once https://blueprints.launchpad.net/neutron/+spec/neutron-ml2-mechanismdriver-extensions is implemented (if at all), will add support for it in next release. Assignee(s) ----------- Ronak Shah Primary assignee: ronak-malav-shah Other contributors: Work Items ---------- ML2 mechanism driver code Unit tests Nuage CI infrastructure with ML2 driver (similar to the one with monolithic plugin) Dependencies ============ None Testing ======= Unit Test coverage Support for this driver in Nuage CI Documentation Impact ==================== None References ========== None