neutron/neutron/objects
Ryan Tidwell c613ede9fa Floating IP for routed networks: network:routed API
This change is needed for enabling floating IP's on routed networks.
To be able to create a subnet that spans all segments of a routed network,
a special subnet service type of 'network:routed' is used to denote a
network that can span all segments of a routed network.

To create floating IP's on a routed network, the subnet must be created
with a service_type of 'network:routed'. After the subnet has been
created, floating IP's can be allocated and associated as before.
See the design spec https://review.opendev.org/#/c/486450/ for
reference.

One caveat for this approach is that it requires the underlying
infrastructure to be aware of and able to route /32 host routes
for the floating IP. This implies that in practice, use of the
'network:routed' service type should be done in conjunction with
one or both of the following:

1. Third-party SDN backend that handles this service type in its
   own way
2. neutron-dynamic-routing and the BGP service plugin for announcing
   the appropriate next-hops for floating IP's. This is compatible
   with DVR and non-DVR environments.

Depends-On: Ibde33bdacba6bd1e9c41cc69d0054bf55e1e6454
Change-Id: I9ae9d193b885364d5a4d90538880d8e9fbc8df74
Co-Author: Thomas Goirand <zigo@debian.org>
Partial-Bug: #1667329
2020-12-17 14:21:30 +01:00
..
db remove the neutron.db._model_query module 2019-01-25 08:55:25 -07:00
extensions use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
logapi use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
plugins Fix queries to retrieve allocations with network_segment_range 2020-02-28 12:34:13 +00:00
port use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
qos Remove OVO unneeded compatibility conversions 2020-06-03 17:15:31 +00:00
README.rst Objects: Add README for neutron/objects directory tree 2016-10-07 15:12:20 +00:00
__init__.py Use dirname in object recursive import 2017-04-20 04:35:10 -07:00
address_scope.py Allow sharing of subnet pools via RBAC mechanism 2020-04-09 19:02:47 +03:00
agent.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
auto_allocate.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
base.py Remove usage of six.add_metaclass 2020-05-21 14:41:18 -04:00
conntrack_helper.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
flavor.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
floatingip.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
ipam.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
l3_hamode.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
l3agent.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
metering.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
network.py Remove redundant implementation of "get_projects" in NetworkRBAC 2020-04-17 08:48:15 +00:00
network_segment_range.py Default (shared) network segment range is not mandatory 2020-04-07 19:29:28 +00:00
port_forwarding.py Add description field to portforwarding NAT rules 2020-01-22 11:19:55 -03:00
ports.py Auto-delete dhcp ports on segment delete 2020-07-08 15:15:08 +02:00
provisioning_blocks.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
quota.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
rbac.py Remove usage of six.add_metaclass 2020-05-21 14:41:18 -04:00
rbac_db.py Remove usage of six.add_metaclass 2020-05-21 14:41:18 -04:00
router.py Add "qos_policy_id" field to "FloatingIP" OVO 2020-05-11 11:29:30 +00:00
securitygroup.py Merge "Support for stateless security groups" 2020-03-04 14:16:34 +00:00
servicetype.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
stdattrs.py use object standardattributes from neutron-lib 2019-06-12 13:57:00 -06:00
subnet.py Floating IP for routed networks: network:routed API 2020-12-17 14:21:30 +01:00
subnetpool.py Allow sharing of subnet pools via RBAC mechanism 2020-04-09 19:02:47 +03:00
tag.py Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
trunk.py Remove OVO unneeded compatibility conversions 2020-06-03 17:15:31 +00:00

README.rst

Neutron Objects

Directory

This directory is designed to contain all modules which have objects definitions shipped with core Neutron. The files and directories located inside of this directory should follow the guidelines below.

Structure

The Neutron objects tree should have the following structure:

  • The expected directory structure is flat, except for the ML2 plugins. All ML2 plugin objects should fall under the plugins subdirectory (i.e. plugins/ml2/gre_allocation).
  • Module names should use singular forms for nouns (network.py, not networks.py).