OpenStack API services can generally be replicated behind a load balancer in order to scale horizontally, or an SSL terminator might dispatch requests to multiple server processes in parallel. In either case, multiple quantum-server processes might execute in parallel using the same DB. The openvswitch plugin currently maintains a VlanMap class in memory that is used to keep track of free VLAN tags and allocate them as networks are created. If multiple quantum-server instances run in parallel, its possible that the openvswitch plugin would allocate the same VLAN tag to multiple networks, breaking network isolation as well as database consistency. VLAN tags should instead be allocated via atomic DB transactions.
Fix proposed to branch: master /review. openstack. org/10700
Review: https:/