Bug is easy to reproduce if you do a little hack (and if you have 2+ neutron-servers processes that can handle requests):
diff --git a/neutron/plugins/ml2/plugin.py b/neutron/plugins/ml2/plugin.py
index ea54f8f1c3..74226d112a 100644
--- a/neutron/plugins/ml2/plugin.py
+++ b/neutron/plugins/ml2/plugin.py
@@ -1211,6 +1211,9 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2,
for net in nets_db: net_data.append(self._make_network_dict(net, context=context))
+ import time
+ time.sleep(3)
+ self.type_manager.extend_networks_dict_provider(context, net_data)
nets = self._filter_nets_provider(context, net_data, filters)
return [db_utils.resource_fields(net, fields) for net in nets]
Hello Bence,
I am attaching my configs (configs.tar)
Of the essential in my opinion, I have the following:
1) I am using postgres DB database.
2) 10 neutron-server processes are running inside kolla-ansible docker CT:
/usr/bin/python3 /usr/bin/ neutron- server --config-file /etc/neutron/ neutron. conf --config-file /etc/neutron/ plugins/ ml2/ml2_ conf.ini --config-file /etc/neutron/ neutron_ vpnaas. conf
[root@node1 ~]# docker exec -tiu root neutron_server bash server) [root@node1 /]# ps axf | grep neutron-server | grep -v grep | wc -l server) [root@node1 /]# grep workers /etc/neutron/ neutron. conf server) [root@node1 /]#
(neutron-
11
(neutron-
api_workers = 4
rpc_workers = 4
metadata_workers = 1
(neutron-
Bug is easy to reproduce if you do a little hack (and if you have 2+ neutron-servers processes that can handle requests):
diff --git a/neutron/ plugins/ ml2/plugin. py b/neutron/ plugins/ ml2/plugin. py .74226d112a 100644 plugins/ ml2/plugin. py plugins/ ml2/plugin. py db_base_ plugin_ v2.NeutronDbPlu ginV2,
net_ data.append( self._make_ network_ dict(net, context=context))
index ea54f8f1c3.
--- a/neutron/
+++ b/neutron/
@@ -1211,6 +1211,9 @@ class Ml2Plugin(
for net in nets_db:
+ import time
self. type_manager. extend_ networks_ dict_provider( context, net_data) nets_provider( context, net_data, filters) resource_ fields( net, fields) for net in nets]
+ time.sleep(3)
+
nets = self._filter_
return [db_utils.
And then:
[root@node1 ~]# net_id=$(openstack network create test-net --provider-segment 200 --provider- network- type vxlan -c id -f value); openstack network list --provider-segment 100 & openstack network delete $net_id ------- ------- ------- ------- ----+-- ------- -+----- ----+ ------- ------- ------- ------- ----+-- ------- -+----- ----+ 865e-44d2- bc22-c5d6c47786 e5 | test-net | | ------- ------- ------- ------- ----+-- ------- -+----- ----+
[1] 628975
[root@node1 ~]# +------
| ID | Name | Subnets |
+------
| 9249ed81-
+------
[1]+ Done openstack --insecure network list --provider-segment 100
[root@node1 ~]#