I have configured bridge networking and created a bridge with brctl system tools, linked to the physical nic. When I create a virtual network selecting this bridge, I have found that when the last VM using this virtual network is removed or even closed, the bridge is destroyed.
I have tried to set keep_empty_bridge parameter, but it seems not to be working, since I got the same behavior. The virtual networks were created with sunstone, setting the value for the bridge and also for the physical device. I have found that it works as expected only if you leave the PHYDEV field empty, irrespective of setting keep_empty_bridge or not.
I cannot explain this behavior, so I do not know whether it is a bug or it is expected in this environment.
Versions of the related components and OS (frontend, hypervisors, VMs):
OpenNebula 5.6.0
Frontend: Ubuntu 18.04
Hypervisors: Centos 7.5