neutron/doc/source/devref/security_group_api.rst
Russell Bryant 8364c03d10 Create SecurityGroupServerRpcApi and add some docs
Create SecurityGroupServerRpcApi, which is intended to replace
SecurityGroupServerRpcApiMixin over time.  The new class is the same
code, but used as a standalone class.  This is needed to be able to
eventually move this API into a messaging namespace.

In passing, add docstrings that show where to find the corresponding
other side of this interface in the code base.

Part of blueprint rpc-docs-and-namespaces.

Change-Id: If959b2f8bf21b4963bf6876a3eedc0a4b06c6400
2015-01-21 09:49:28 -05:00

2.5 KiB

Guided Tour: The Neutron Security Group API

https://wiki.openstack.org/wiki/Neutron/SecurityGroups

API Extension

The API extension is the 'front' end portion of the code, which handles defining a REST-ful API, which is used by tenants.

Database API

The Security Group API extension adds a number of methods to the database layer of Neutron

Agent RPC

This portion of the code handles processing requests from tenants, after they have been stored in the database. It involves messaging all the L2 agents running on the compute nodes, and modifying the IPTables rules on each hypervisor.

  • Plugin RPC classes
    • SecurityGroupServerRpcCallbackMixin - defines the RPC API that the plugin uses to communicate with the agents running on the compute nodes
    • SecurityGroupServerRpcMixin - Defines the API methods used to fetch data from the database, in order to return responses to agents via the RPC API
  • Agent RPC classes
    • The SecurityGroupServerRpcApi defines the API methods that can be called by agents, back to the plugin that runs on the Neutron controller
    • The SecurityGroupAgentRpcCallbackMixin defines methods that a plugin uses to call back to an agent after performing an action called by an agent.

IPTables Driver