No description
  • Python 99.6%
  • Shell 0.4%
Find a file
Julien COSMAO bb92ffb802
ipam: fix duplicate-IP allocation race under concurrent port creation
Concurrent create_port calls on the same subnet could pick and insert
the same IP address, causing DBDuplicateEntry failures under parallel
instance creation on small pools.

NeutronDbSubnet.allocate()/bulk_allocate() now catch that collision
and retry with a fresh address (bounded by MAX_ALLOCATE_ATTEMPTS),
scoped to a SAVEPOINT so a failed attempt discards only its own work,
not the whole create_port transaction. A collision on a specific
requested address raises IpAddressAlreadyAllocated instead of
retrying with a different one.

The SAVEPOINT uses the Core Connection (session.connection().begin_
nested()), not the ORM Session, to avoid expiring unrelated objects
already loaded in the same transaction.

Adds unit and functional regression tests, including a MySQL-gated
class for real concurrent-thread coverage, and a release note.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Change-Id: I4127bd8e37aeaacbc2a6d6a1a94709ef359d7efb
2026-07-21 22:06:34 +02:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
bin Replace keepalived-state-change by a dash script 2026-06-18 17:27:33 +02:00
devstack Add shebang to mark bash files 2026-06-29 11:13:52 +09:00
doc Merge "Add agentic coding guidance and docs" 2026-07-10 17:16:25 +00:00
etc Merge "Replace keepalived-state-change by a dash script" 2026-06-23 13:42:42 +00:00
neutron ipam: fix duplicate-IP allocation race under concurrent port creation 2026-07-21 22:06:34 +02:00
playbooks Add compute1 node to BGP multinode tempest job 2026-06-08 09:48:22 +02:00
rally-jobs pre-commit: Migrate to ruff, enable autopep8 2025-07-01 10:47:55 +01:00
releasenotes ipam: fix duplicate-IP allocation race under concurrent port creation 2026-07-21 22:06:34 +02:00
roles Merge "[CI] Move CentOS jobs to 10-stream" 2026-06-22 16:22:27 +00:00
tools FrrDriver Vtysh accepts --vty_socket argument 2026-06-17 18:56:00 -04:00
vagrant/ovn Fix executable file permissions 2026-02-13 10:38:22 -05:00
zuul.d [CI][FT] Tempoarary skip failing tests centos 10 stream 2026-07-10 14:23:57 +05:30
.gitignore Add agentic coding guidance and docs 2026-07-09 12:15:00 +02:00
.gitreview OpenDev Migration Patch 2019-04-19 19:38:27 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pre-commit-config.yaml Merge "Run pylint with -j0" 2026-04-28 14:40:42 +00:00
.pylintrc Fix consider-iterating-dictionary pylint warnings 2026-06-24 00:20:12 -04:00
.stestr.conf Fix post gate hook to accommodate for new os-testr 2017-09-12 14:20:12 -06:00
AGENTS.md Add agentic coding guidance and docs 2026-07-09 12:15:00 +02:00
bindep.txt Fixture for FrrService 2026-06-02 07:31:17 -04:00
CONTRIBUTING.rst [Community goal] Add contributor and PTL guide 2020-03-03 04:43:26 +01:00
HACKING.rst Drop duplicate hacking check 2024-11-27 11:32:09 +09:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
pyproject.toml Merge "Replace keepalived-state-change by a dash script" 2026-06-23 13:42:42 +00:00
README.rst Remove url tags from README 2025-07-28 20:11:20 +00:00
requirements.txt Merge "Remove disabling the scope enforcement" 2026-07-20 07:48:22 +00:00
setup.cfg Migrate setup configuration to pyproject.toml 2025-09-15 15:09:13 +00:00
setup.py Cleanup setup.py and requirements 2024-01-12 17:44:09 +09:00
test-requirements.txt Move neutronclient to test requirements 2026-07-01 12:34:51 +02:00
TESTING.rst pep8: Return ability to run pylint only on given patches 2025-09-08 19:31:27 +00:00
tox.ini [CI][FT] Tempoarary skip failing tests centos 10 stream 2026-07-10 14:23:57 +05:30

=================
OpenStack Neutron
=================

.. image:: https://governance.openstack.org/tc/badges/neutron.svg

.. Change things from this point on

Neutron is an OpenStack project to provide "network connectivity as a service"
between interface devices (e.g., vNICs) managed by other OpenStack services
(e.g., Nova).

To learn more about neutron:

  * Documentation: https://docs.openstack.org/neutron/latest/
  * Features: https://specs.openstack.org/openstack/neutron-specs
  * Defects: https://launchpad.net/neutron
  * Release notes: https://docs.openstack.org/releasenotes/neutron/index.html
  * Source: https://opendev.org/openstack/neutron

If you would like to contribute to Neutron, please read the file
`CONTRIBUTING.rst <./CONTRIBUTING.rst>`__ or see the Neutron contributor guide:

    https://docs.openstack.org/neutron/latest/contributor/contributing.html

Get in touch via `email <mailto:openstack-discuss@lists.openstack.org>`_. Use
[Neutron] in your subject.