neutron/neutron/objects/utils.py
Ihar Hrachyshka f13ed8c506 objects: introduce a util function to handle tenant_id filter
Objects will directly support project_id filters only. The tenant_id
property is provided for mere convenience, and does not serve for
filtering purposes. So every time we'll need to pass filters from API
that still supports tenant_id attribute filtering, we'll need to do the
filter conversion.

This patch introduces the util function that will later be used by
other objects, like subnet, security group, or subnetpool (for the
latter, once we convert its existing tenant_id field to project_id).

Change-Id: If82c180688e1ecdff1c8a6e29cb8668838ac0a5b
Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db
2016-08-03 08:42:38 +00:00

26 lines
894 B
Python

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import copy
from neutron.common import exceptions
def convert_filters(**kwargs):
result = copy.deepcopy(kwargs)
if 'tenant_id' in result:
if 'project_id' in result:
raise exceptions.TenantIdProjectIdFilterConflict()
result['project_id'] = result.pop('tenant_id')
return result