The problem is when we have more than one api-server, when a subnet is
deleted, the other api-servers keep the subnet allocator in their
subnet_allocator dict (in vnc_db.py). So when we create a subnet with
the same parameters (net, name, cidr,...) when we attach a port to him,
the allocated api is not always in the good range, depending on which
api-server responded to the create-port request.
- net_(delete/update)_notify methods modified,to update dicts on each nodes.
- ipam_(delete/update)_notify modified too.
- new parameter added (notify) now, "IndexAllocator.delete_all"
is done only from "*_req" methods.
- unittests updated to match and test new behavior
Reviewed: https:/ /review. opencontrail. org/32512 github. com/Juniper/ contrail- controller/ commit/ bfa269893808db5 d58b1a0d539e720 a321ee32e7
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R3.2
commit bfa269893808db5 d58b1a0d539e720 a321ee32e7
Author: Yacine Saibi <email address hidden>
Date: Mon Mar 13 16:13:19 2017 +0100
Patch for IP pool issues:
The problem is when we have more than one api-server, when a subnet is
deleted, the other api-servers keep the subnet allocator in their
subnet_allocator dict (in vnc_db.py). So when we create a subnet with
the same parameters (net, name, cidr,...) when we attach a port to him,
the allocated api is not always in the good range, depending on which
api-server responded to the create-port request.
- net_(delete/ update) _notify methods modified,to update dicts on each nodes.
- ipam_(delete/ update) _notify modified too.
- new parameter added (notify) now, "IndexAllocator .delete_ all"
is done only from "*_req" methods.
- unittests updated to match and test new behavior
Change-Id: I98f095aeca3729 0c98bf12fb2be57 e74b66efa0a 484468843888ce1 646bd5da5d)
Closes-Bug: #1332645
Closes-Bug: #1365824
(cherry picked from commit f3056c8663be341