From: armando-migliaccio Date: Sat, 19 Dec 2015 00:53:45 +0000 (-0800) Subject: Provide pointer for ML2 extension manager to effective guide X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=5a403468bc057af7f7606b2c258a04147f99e33c;p=openstack-build%2Fneutron-build.git Provide pointer for ML2 extension manager to effective guide This is sorely missed in the devref. More content should be added. Hint hint. Change-Id: If8a7e98a9ebd6b4fe7effa6c577ea818c63d8d85 --- diff --git a/doc/source/devref/effective_neutron.rst b/doc/source/devref/effective_neutron.rst index bbe918189..b38af7089 100644 --- a/doc/source/devref/effective_neutron.rst +++ b/doc/source/devref/effective_neutron.rst @@ -63,6 +63,8 @@ Document common pitfalls as well as good practices done during plugin developmen but their strength is also a weakness, as they can introduce `unpredictable `_ behavior to the `MRO `_, amongst other issues. +* In lieu of mixins, if you need to add behavior that is relevant for ML2, + consider using the `extension manager `_. * If you make changes to the DB class methods, like calling methods that can be inherited, think about what effect that may have to plugins that have controller `backends `_. diff --git a/doc/source/devref/index.rst b/doc/source/devref/index.rst index 8c4718ad5..d72bdadcb 100644 --- a/doc/source/devref/index.rst +++ b/doc/source/devref/index.rst @@ -54,6 +54,7 @@ Neutron Internals services_and_agents api_layer + ml2_ext_manager quota api_extensions plugin-api diff --git a/doc/source/devref/ml2_ext_manager.rst b/doc/source/devref/ml2_ext_manager.rst new file mode 100644 index 000000000..9f827845b --- /dev/null +++ b/doc/source/devref/ml2_ext_manager.rst @@ -0,0 +1,31 @@ +.. + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + + + Convention for heading levels in Neutron devref: + ======= Heading 0 (reserved for the title in a document) + ------- Heading 1 + ~~~~~~~ Heading 2 + +++++++ Heading 3 + ''''''' Heading 4 + (Avoid deeper levels because they do not render well.) + + +ML2 Extension Manager +===================== + +The extension manager for ML2 was introduced in Juno (more details +can be found in the approved `spec `_). The features allows for extending ML2 resources without +actually having to introduce cross cutting concerns to ML2. The +mechanism has been applied for a number of use cases, and extensions +that currently use this frameworks are available under `ml2/extensions `_.