neutron/neutron/db/models
Rodolfo Alonso Hernandez 3796c03fd1 Fix queries to retrieve allocations with network_segment_range
Fixed the queries to retrieve the segment ID allocations when service
plugin network_segment_range is enabled. With the previous
implementation, a project user was able to allocate a segment ID
belonging to other project segment range.

The solution implemented was discussed in [1]:
- A project user will retrieve segments from the project ranges.
- When depleted, the segment IDs will be retrieved from the shared
  range, never using another project segment ID.

[1]http://lists.openstack.org/pipermail/openstack-discuss/2020-February/012736.html

Conflicts:
      neutron/objects/network_segment_range.py
      neutron/objects/plugins/ml2/base.py
      neutron/objects/plugins/ml2/vxlanallocation.py
      neutron/objects/plugins/ml2/vlanallocation.py
      neutron/tests/unit/objects/test_network_segment_range.py

Change-Id: I953062d9ee8ee5ee9a9f07aff4a8222ac63ed525
Closes-Bug: #1863423
(cherry picked from commit 046672247d)
(cherry picked from commit bbe401aaf9)
2020-04-30 11:00:41 +00:00
..
plugins Fix queries to retrieve allocations with network_segment_range 2020-04-30 11:00:41 +00:00
README Update README to reflect ML2 Exception in Dir Tree 2016-08-22 15:20:35 +00:00
__init__.py Add devref for Relocating DB models 2016-08-09 15:55:18 +02:00
address_scope.py Use DB field sizes instead of _MAX_LEN constants 2016-12-23 13:48:57 +00:00
agent.py New agent attribute: resources_synced 2019-02-21 13:45:15 +01:00
allowed_address_pair.py Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
data_plane_status.py Port data plane status extension implementation 2017-04-11 19:56:13 +00:00
dns.py use dns api def from neutron-lib 2017-10-20 16:38:33 -06:00
dvr.py Relocate dvr model 2016-10-04 08:41:33 +00:00
external_net.py Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
flavor.py Define orm relationships after db classes 2020-01-31 11:34:22 +00:00
l3.py Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
l3_attrs.py Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
l3agent.py Remove deprecation warnings for agents_db 2016-10-13 15:33:22 +00:00
l3ha.py Router should flip to standby if all L3 nodes down 2018-04-04 23:43:00 +00:00
loggingapi.py [log]: db models and migration rules 2017-06-13 08:52:12 +07:00
metering.py Switch to 'subquery' for 1-M relationships 2017-02-06 09:01:31 +00:00
network_segment_range.py Support Network Segment Range CRUD as extensions 2019-03-07 08:20:30 +00:00
port_forwarding.py Add protocol to port_forwarding uniq constraint 2018-11-06 23:03:06 +08:00
portbinding.py Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
provisioning_block.py Relocate Provisioning Block DB Model 2016-09-27 04:30:03 +00:00
securitygroup.py Use dynamic lazy mode for fetching security group rules 2019-03-14 16:23:53 -06:00
segment.py Revert "use segment api def from neutron-lib" 2018-03-22 10:03:45 +00:00
servicetype.py Use DB field sizes instead of _MAX_LEN constants 2016-12-23 13:48:57 +00:00
subnet_service_type.py Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
tag.py Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
uplink_status_propagation.py Add propagate_uplink_status to port 2018-11-29 19:33:16 +00:00

README

This directory is designed to contain all SQLAlchemy models shipped with core
Neutron.

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