Update L3 agent extensions devref

The L3 agent extensions devref was not properly included into the
documentation tree, so it would not appear in the online devref.  Also,
there were a few updates to the agent extensions documentation to
properly show the updated file names.

Change-Id: I5f55f68d2c251dfa993668024ee312085b605a8a
This commit is contained in:
Nate Johnston 2016-09-06 18:59:46 +00:00
parent 1cf8e5ab5a
commit b0cb041ee9
4 changed files with 28 additions and 20 deletions

View File

@ -42,19 +42,20 @@ Interactions with the agent API object are in the following order:
#. The manager passes the agent API object into each extension. #. The manager passes the agent API object into each extension.
#. An extension calls the new agent API object method to receive, for instance, bridge wrappers with cookies allocated. #. An extension calls the new agent API object method to receive, for instance, bridge wrappers with cookies allocated.
::
+-----------+ +-----------+
| Agent API +--------------------------------------------------+ | Agent API +--------------------------------------------------+
+-----+-----+ | +-----+-----+ |
| +-----------+ | | +-----------+ |
|1 +--+ Extension +--+ | |1 +--+ Extension +--+ |
| | +-----------+ | | | | +-----------+ | |
+---+-+-+---+ 2 +--------------+ 3 | | 4 | +---+-+-+---+ 2 +--------------+ 3 | | 4 |
| Agent +-----+ Ext. manager +-----+--+ .... +--+-----+ | Agent +-----+ Ext. manager +-----+--+ .... +--+-----+
+-----------+ +--------------+ | | +-----------+ +--------------+ | |
| +-----------+ | | +-----------+ |
+--+ Extension +--+ +--+ Extension +--+
+-----------+ +-----------+
Each extension is referenced through a stevedore entry point defined within a Each extension is referenced through a stevedore entry point defined within a
specific namespace. For example, L2 extensions are referenced through the specific namespace. For example, L2 extensions are referenced through the
@ -66,8 +67,8 @@ The relevant modules are:
This module defines an abstract extension interface for all agent This module defines an abstract extension interface for all agent
extensions across L2 and L3. extensions across L2 and L3.
* neutron.agent.l2.agent_extension: * neutron.agent.l2.l2_agent_extension:
* neutron.agent.l3.agent_extension: * neutron.agent.l3.l3_agent_extension:
These modules subclass These modules subclass
neutron.agent.agent_extension.AgentExtension and define a neutron.agent.agent_extension.AgentExtension and define a
layer-specific abstract extension interface. layer-specific abstract extension interface.
@ -76,8 +77,8 @@ The relevant modules are:
This module contains a manager that allows extensions to load themselves at This module contains a manager that allows extensions to load themselves at
runtime. runtime.
* neutron.agent.l2.l2_extensions_manager: * neutron.agent.l2.l2_agent_extensions_manager:
* neutron.agent.l3.l3_extensions_manager: * neutron.agent.l3.l3_agent_extensions_manager:
Each of these modules passes core resource events to loaded extensions. Each of these modules passes core resource events to loaded extensions.
@ -93,10 +94,14 @@ This agent API object is part of neutron's public interface for third parties.
All changes to the interface will be managed in a backwards-compatible way. All changes to the interface will be managed in a backwards-compatible way.
At this time, on the L2 side, only the L2 Open vSwitch agent provides an agent At this time, on the L2 side, only the L2 Open vSwitch agent provides an agent
API object to extensions. See :doc:`L2 agent extensions <l2_agent_extensions>`. API object to extensions. See :doc:`L2 agent extensions <l2_agent_extensions>`.
For L3, see :doc:`L3 agent extensions <l3_agent_extensions>`. For L3, see :doc:`L3 agent extensions <l3_agent_extensions>`.
The relevant modules are: The relevant modules are:
* neutron.agent.l2.agent_extension_api * neutron.agent.agent_extension
* neutron.agent.l3.agent_extension_api * neutron.agent.agent_extensions_manager
* neutron.agent.l2.l2_agent_extension_api
* neutron.agent.l2.l2_agent_extensions_manager
* neutron.agent.l3.l3_agent_extension_api
* neutron.agent.l3.l3_agent_extensions_manager

View File

@ -80,6 +80,7 @@ Neutron Internals
network_ip_availability network_ip_availability
tag tag
provisioning_blocks provisioning_blocks
l3_agent_extensions
Testing Testing
------- -------

View File

@ -28,7 +28,7 @@ L3 agent extensions are part of a generalized L2/L3 extension framework. See
:doc:`agent extensions <agent_extensions>`. :doc:`agent extensions <agent_extensions>`.
L3 agent extension API L3 agent extension API
~~~~~~~~~~~~~~~~~~~~~~ ----------------------
The L3 agent extension API object includes several methods that expose The L3 agent extension API object includes several methods that expose
router information to L3 agent extensions:: router information to L3 agent extensions::

View File

@ -214,6 +214,8 @@ Provider Networking
Neutron can also be configured to create `provider networks <http://docs.openstack.org/admin-guide/networking_adv-features.html#provider-networks>`_ Neutron can also be configured to create `provider networks <http://docs.openstack.org/admin-guide/networking_adv-features.html#provider-networks>`_
.. include:: l3_agent_extensions.rst
Further Reading Further Reading
--------------- ---------------
* `Packet Pushers - Neutron Network Implementation on Linux <http://packetpushers.net/openstack-quantum-network-implementation-in-linux/>`_ * `Packet Pushers - Neutron Network Implementation on Linux <http://packetpushers.net/openstack-quantum-network-implementation-in-linux/>`_