diff --git a/manila/share/drivers/service_instance.py b/manila/share/drivers/service_instance.py index f17ad6e2c5..a845d1ab35 100644 --- a/manila/share/drivers/service_instance.py +++ b/manila/share/drivers/service_instance.py @@ -948,6 +948,8 @@ class NeutronNetworkHelper(BaseNetworkhelper): device.route.clear_outdated_routes(subnet['cidr']) self._plug_interface_in_host(interface_name, device, port) + @utils.synchronized("service_instance_plug_interface_in_host", + external=True) def _plug_interface_in_host(self, interface_name, device, port): self.vif_driver.plug(interface_name, port['id'], port['mac_address']) @@ -966,8 +968,6 @@ class NeutronNetworkHelper(BaseNetworkhelper): # here we are checking for garbage devices from removed service port self._remove_outdated_interfaces(device) - @utils.synchronized( - "service_instance_remove_outdated_interfaces", external=True) def _remove_outdated_interfaces(self, device): """Finds and removes unused network device.""" device_cidr_set = self._get_set_of_device_cidrs(device) diff --git a/releasenotes/notes/generic-route-racing-adf92d212f1ab4de.yaml b/releasenotes/notes/generic-route-racing-adf92d212f1ab4de.yaml new file mode 100644 index 0000000000..688e1cfb62 --- /dev/null +++ b/releasenotes/notes/generic-route-racing-adf92d212f1ab4de.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - Fixed race-condition in generic driver while updating + network routes in host.