Merge "Allow offloading lookups in driver contexts" into stable/newton

This commit is contained in:
Jenkins 2017-05-31 20:49:21 +00:00 committed by Gerrit Code Review
commit d16074b0b5
1 changed files with 11 additions and 5 deletions

View File

@ -38,12 +38,15 @@ class MechanismDriverContext(object):
class NetworkContext(MechanismDriverContext, api.NetworkContext):
def __init__(self, plugin, plugin_context, network,
original_network=None):
original_network=None, segments=None):
super(NetworkContext, self).__init__(plugin, plugin_context)
self._network = network
self._original_network = original_network
self._segments = segments_db.get_network_segments(
plugin_context.session, network['id'])
if segments is None:
self._segments = segments_db.get_network_segments(
plugin_context.session, network['id'])
else:
self._segments = segments
@property
def current(self):
@ -88,8 +91,11 @@ class PortContext(MechanismDriverContext, api.PortContext):
super(PortContext, self).__init__(plugin, plugin_context)
self._port = port
self._original_port = original_port
self._network_context = NetworkContext(plugin, plugin_context,
network) if network else None
if isinstance(network, NetworkContext):
self._network_context = network
else:
self._network_context = NetworkContext(
plugin, plugin_context, network) if network else None
self._binding = binding
self._binding_levels = binding_levels
self._segments_to_bind = None