Convert filters to empty dict if None in DB's get_subnetpools().
When calling ML2 plugin's get_subnetpools(), 'fields' parameters may be passed. By default it is set to None. The 'filters' is passed to SubnetPool.get_objects() as kwargs (using **). If someone calls plugin's get_subnetpools() without passing filters, the method will raise exception. This patch is adding support for 'filters' being None when calling plugin get_subnetpools(), by converting it to be empty dict '{}'. Change-Id: Ic7432cb167583e82b3c0e237ef25a5c9f21986e6 Closes-Bug: 1647715
This commit is contained in:
parent
24b5a3b73e
commit
3ee76d4980
|
@ -1115,6 +1115,7 @@ class NeutronDbPluginV2(db_base_plugin_common.DbBasePluginCommon,
|
||||||
sorts=None, limit=None, marker=None,
|
sorts=None, limit=None, marker=None,
|
||||||
page_reverse=False):
|
page_reverse=False):
|
||||||
pager = base_obj.Pager(sorts, limit, page_reverse, marker)
|
pager = base_obj.Pager(sorts, limit, page_reverse, marker)
|
||||||
|
filters = filters or {}
|
||||||
subnetpools = subnetpool_obj.SubnetPool.get_objects(
|
subnetpools = subnetpool_obj.SubnetPool.get_objects(
|
||||||
context, _pager=pager, validate_filters=False, **filters)
|
context, _pager=pager, validate_filters=False, **filters)
|
||||||
return [
|
return [
|
||||||
|
|
|
@ -5541,6 +5541,18 @@ class TestSubnetPoolsV2(NeutronDbPluginV2TestCase):
|
||||||
self.assertEqual(1, len(admin_res['subnetpools']))
|
self.assertEqual(1, len(admin_res['subnetpools']))
|
||||||
self.assertEqual(0, len(mortal_res['subnetpools']))
|
self.assertEqual(0, len(mortal_res['subnetpools']))
|
||||||
|
|
||||||
|
def test_list_subnetpools_filters_none(self):
|
||||||
|
subnet_pool = self._test_create_subnetpool(['10.10.10.0/24'],
|
||||||
|
None,
|
||||||
|
True,
|
||||||
|
name=self._POOL_NAME,
|
||||||
|
min_prefixlen='24',
|
||||||
|
shared=True)
|
||||||
|
sp_list = self.plugin.get_subnetpools(
|
||||||
|
context.Context('', 'not-the-owner'))
|
||||||
|
self.assertEqual(1, len(sp_list))
|
||||||
|
self.assertEqual(subnet_pool['subnetpool']['id'], sp_list[0]['id'])
|
||||||
|
|
||||||
def test_delete_subnetpool(self):
|
def test_delete_subnetpool(self):
|
||||||
subnetpool = self._test_create_subnetpool(['10.10.10.0/24'],
|
subnetpool = self._test_create_subnetpool(['10.10.10.0/24'],
|
||||||
tenant_id=self._tenant_id,
|
tenant_id=self._tenant_id,
|
||||||
|
|
Loading…
Reference in New Issue