Multiple ports which have duplicated CIDRs are added as one router's interfaces if commands are executed at the same time
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Low
|
Brian Haley |
Bug Description
I have three controller nodes and the Neutron servers on these controllers are set behind Pacemaker and HAProxy to realize active/active HA using DevStack. MariaDB Galera cluster is used as my database backend.I am using the latest codes.
If one router is going to add two ports as its interface, however these two ports belong to two subnets which have duplicated CIDRs, the expected result would be the later API request would fail, with error message like
BadRequest: Bad router request: Cidr 192.166.100.0/24 of subnet bee7663c-
But if we run the two commands at the same time, both commands would succeed. The router would have two ports, which belong to subnets with duplicated CIDRs. I have tested for 30 times and only three times I could receive the expected error messages.
How to reproduce:
Step 1: Create a router
$ neutron router-create router-port-test
Step 2: Create two internal networks
$ neutron net-create net1
$ neutron net-create net2
Step 3: Add one subnet to each of these two networks
$ neutron subnet-create --name subnet1 net1 192.166.100.0/24
$ neutron subnet-create --name subnet2 net2 192.166.0.0/16
Here, we are creating two subnets on different networks with DUPLICATED CIDRs.
Step 4: Create one port on each of these two networks
$ neutron port-create --name port1 net1
$ neutron port-create --name port2 net2
Step 5: Add these two ports as the router's interface at the same time
On controller1:
$ neutron router-
On controller2:
$ neutron router-
Both commands would work and we can see the ports listed on the router as http://
This bug is similar to [1]. We also have _check_
[1] https:/
[2] https:/
Changed in neutron: | |
assignee: | nobody → Lujin Luo (luo-lujin) |
tags: | added: l3-ipam-dhcp |
Changed in neutron: | |
assignee: | Lujin Luo (luo-lujin) → Nam (namnh) |
Changed in neutron: | |
importance: | Undecided → Low |
Changed in neutron: | |
assignee: | Anh Tran (trananhkma) → Brian Haley (brian-haley) |
Changed in neutron: | |
assignee: | Brian Haley (brian-haley) → Anh Tran (trananhkma) |
Changed in neutron: | |
assignee: | Anh Tran (trananhkma) → Brian Haley (brian-haley) |
Changed in neutron: | |
milestone: | none → newton-rc1 |
Fix proposed to branch: master /review. openstack. org/287566
Review: https:/