Merge "Provide atomic database access for ports in linuxbridge plugin"

This commit is contained in:
Jenkins
2013-01-23 03:42:57 +00:00
committed by Gerrit Code Review

View File

@@ -438,19 +438,26 @@ class LinuxBridgePluginV2(db_base_plugin_v2.QuantumDbPluginV2,
return port return port
def get_port(self, context, id, fields=None): def get_port(self, context, id, fields=None):
port = super(LinuxBridgePluginV2, self).get_port(context, id, fields) with context.session.begin(subtransactions=True):
self._extend_port_dict_security_group(context, port) port = super(LinuxBridgePluginV2, self).get_port(context,
id,
fields)
self._extend_port_dict_security_group(context, port)
self._extend_port_dict_binding(context, port), self._extend_port_dict_binding(context, port),
return self._fields(port, fields) return self._fields(port, fields)
def get_ports(self, context, filters=None, fields=None): def get_ports(self, context, filters=None, fields=None):
ports = super(LinuxBridgePluginV2, self).get_ports(context, filters, res_ports = []
fields) with context.session.begin(subtransactions=True):
#TODO(nati) filter by security group ports = super(LinuxBridgePluginV2, self).get_ports(context,
for port in ports: filters,
self._extend_port_dict_security_group(context, port) fields)
return [self._fields(self._extend_port_dict_binding(context, port), #TODO(nati) filter by security group
fields) for port in ports] for port in ports:
self._extend_port_dict_security_group(context, port)
self._extend_port_dict_binding(context, port)
res_ports.append(self._fields(port, fields))
return res_ports
def create_port(self, context, port): def create_port(self, context, port):
session = context.session session = context.session