Network filtering by provider attributes has a race condition with network removal
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
New
|
Undecided
|
Unassigned |
Bug Description
I ran into a problem when the list of networks filtered by segment ID does not match the expected list.
An important condition is the parallel removal of another network.
Here is a demo:
Console 1:
$ while :; do openstack network create test-net --provider-segment 200 --provider-
Console 2:
$ for i in {0..1000}; do net=$(openstack network list --provider-segment 100); [[ -n "${net}" ]] && echo "${net}" && echo "Iter=$i" && break; done
+------
| ID | Name | Subnets |
+------
| 64ccd339-
+------
Iter=81
$
A log file has a message:
2022-09-22 20:13:15.706 25 DEBUG neutron.
So, it looks like there is a race condition.
OS version: Xena
Changed in neutron: | |
status: | Incomplete → New |
If I run the reproduction steps in a simplistic all-in-one devstack environment, they don't seem to work (zero hits out of 2000 network listings, tried both on master and on stable/xena). So could you please share more about your environment? How many neutron-servers do you have? What db backend do you use and in what configuration? Any other detail that may be relevant to how to reproduce this bug?