NETVIRT-1062: refactor SubnetmapChangeListener
* SubnetmapChangeListener:
don't need to call vpnSubnetRouteHandler.onSubnetAddedToVpn method
second time if Subnetmap.getInternetVpnId attribute was set.
According to initial design,
vpnSubnetRouteHandler.onSubnetAddedToVpn method doesn't take in
account InternetVpnId, when it creates/updates/removes
SubnetOpDataEntry for the given Subnetmap.
* ExternalSubnetVpnInstanceListener:
fix potential race condition. It is better at first to create an
Internal VPN instance for the given provider subnet and only then
try to update all corresponding objects.
* NeutronvpnManager:
** updateVpnInternetForSubnet:
should always keep set VpnId attribute for updating Subnetmap.
** associateExtNetworkToVpn and disassociateExtNetworkFromVpn:
to avoid race conditions it is better at first to update BgpVpnType
of VPN instance and only then to update associated/disassociated
SubnetMaps with a new InternetVpnId/null.
JIRA: NETVIRT-1062
Change-Id: Ia388b9112f2ca683864c2c15d8ac44ed0e0c25b8
Signed-off-by: Valentina <valentina.krasnobaeva@6wind.com>