Please check
[1]. This is how routed provider networks work in OpenStack neutron. In
this topology you can have isolated L2 segments and a defined set of
compute nodes per segment.However this architecture requires the L3
layer to be handled outside Neutron. This is something you should take
into consideration.