Merge "Get rid of _network_model_hook for external_net" into stable/newton

This commit is contained in:
Jenkins 2017-03-18 21:39:07 +00:00 committed by Gerrit Code Review
commit e650cb71ce
1 changed files with 3 additions and 9 deletions

View File

@ -61,12 +61,6 @@ class ExternalNetwork(model_base.BASEV2):
class External_net_db_mixin(object):
"""Mixin class to add external network methods to db_base_plugin_v2."""
def _network_model_hook(self, context, original_model, query):
query = query.outerjoin(ExternalNetwork,
(original_model.id ==
ExternalNetwork.network_id))
return query
def _network_filter_hook(self, context, original_model, conditions):
if conditions is not None and not hasattr(conditions, '__iter__'):
conditions = (conditions, )
@ -88,8 +82,8 @@ class External_net_db_mixin(object):
if not vals:
return query
if vals[0]:
return query.filter((ExternalNetwork.network_id != expr.null()))
return query.filter((ExternalNetwork.network_id == expr.null()))
return query.filter(models_v2.Network.external.has())
return query.filter(~models_v2.Network.external.has())
# TODO(salvatore-orlando): Perform this operation without explicitly
# referring to db_base_plugin_v2, as plugins that do not extend from it
@ -97,7 +91,7 @@ class External_net_db_mixin(object):
db_base_plugin_v2.NeutronDbPluginV2.register_model_query_hook(
models_v2.Network,
"external_net",
'_network_model_hook',
None,
'_network_filter_hook',
'_network_result_filter_hook')