Support GBP Neutron mapping resources in List filters
Change-Id: Ica6c645a02cae848e5639dcbbeb60a8682d1083d Closes-Bug: 1469540
This commit is contained in:
@@ -170,6 +170,19 @@ class GroupPolicyMappingDbPlugin(gpdb.GroupPolicyDbPlugin):
|
||||
context.session.add(pt_db)
|
||||
return self._make_policy_target_dict(pt_db)
|
||||
|
||||
@log.log
|
||||
def get_policy_targets(self, context, filters=None, fields=None,
|
||||
sorts=None, limit=None, marker=None,
|
||||
page_reverse=False):
|
||||
marker_obj = self._get_marker_obj(context, 'policy_target', limit,
|
||||
marker)
|
||||
return self._get_collection(context, PolicyTargetMapping,
|
||||
self._make_policy_target_dict,
|
||||
filters=filters, fields=fields,
|
||||
sorts=sorts, limit=limit,
|
||||
marker_obj=marker_obj,
|
||||
page_reverse=page_reverse)
|
||||
|
||||
@log.log
|
||||
def create_policy_target_group(self, context, policy_target_group):
|
||||
ptg = policy_target_group['policy_target_group']
|
||||
@@ -240,6 +253,19 @@ class GroupPolicyMappingDbPlugin(gpdb.GroupPolicyDbPlugin):
|
||||
context.session.add(l2p_db)
|
||||
return self._make_l2_policy_dict(l2p_db)
|
||||
|
||||
@log.log
|
||||
def get_l2_policies(self, context, filters=None, fields=None,
|
||||
sorts=None, limit=None, marker=None,
|
||||
page_reverse=False):
|
||||
marker_obj = self._get_marker_obj(context, 'l2_policy', limit,
|
||||
marker)
|
||||
return self._get_collection(context, L2PolicyMapping,
|
||||
self._make_l2_policy_dict,
|
||||
filters=filters, fields=fields,
|
||||
sorts=sorts, limit=limit,
|
||||
marker_obj=marker_obj,
|
||||
page_reverse=page_reverse)
|
||||
|
||||
@log.log
|
||||
def create_l3_policy(self, context, l3_policy):
|
||||
l3p = l3_policy['l3_policy']
|
||||
@@ -321,3 +347,16 @@ class GroupPolicyMappingDbPlugin(gpdb.GroupPolicyDbPlugin):
|
||||
if 'external_routes' in es:
|
||||
self._process_segment_ers(context, es_db, es)
|
||||
return self._make_external_segment_dict(es_db)
|
||||
|
||||
@log.log
|
||||
def get_external_segments(self, context, filters=None, fields=None,
|
||||
sorts=None, limit=None, marker=None,
|
||||
page_reverse=False):
|
||||
marker_obj = self._get_marker_obj(context, 'external_segment', limit,
|
||||
marker)
|
||||
return self._get_collection(context, ExternalSegmentMapping,
|
||||
self._make_external_segment_dict,
|
||||
filters=filters, fields=fields,
|
||||
sorts=sorts, limit=limit,
|
||||
marker_obj=marker_obj,
|
||||
page_reverse=page_reverse)
|
||||
|
||||
@@ -203,3 +203,34 @@ class TestMappedGroupResourceAttrs(GroupPolicyMappingDbTestCase):
|
||||
req = self.new_delete_request('external_segments', es_id)
|
||||
res = req.get_response(self.ext_api)
|
||||
self.assertEqual(res.status_int, webob.exc.HTTPNoContent.code)
|
||||
|
||||
def test_list_policy_targets(self):
|
||||
with self.port() as port1:
|
||||
with self.port() as port2:
|
||||
ports = [port1['port']['id'], port2['port']['id']]
|
||||
pts = [self.create_policy_target(port_id=ports[0]),
|
||||
self.create_policy_target(port_id=ports[1])]
|
||||
self._test_list_resources('policy_target', [pts[0]],
|
||||
query_params='port_id=' + ports[0])
|
||||
|
||||
def test_list_l2_policies(self):
|
||||
with self.network() as network1:
|
||||
with self.network() as network2:
|
||||
networks = [network1['network']['id'],
|
||||
network2['network']['id']]
|
||||
l2_policies = [self.create_l2_policy(network_id=networks[0]),
|
||||
self.create_l2_policy(network_id=networks[1])]
|
||||
self._test_list_resources(
|
||||
'l2_policy', [l2_policies[0]],
|
||||
query_params='network_id=' + networks[0])
|
||||
|
||||
def test_list_es(self):
|
||||
with self.subnet(cidr='10.10.1.0/24') as subnet1:
|
||||
with self.subnet(cidr='10.10.2.0/24') as subnet2:
|
||||
subnets = [subnet1['subnet']['id'], subnet2['subnet']['id']]
|
||||
external_segments = [
|
||||
self.create_external_segment(subnet_id=subnets[0]),
|
||||
self.create_external_segment(subnet_id=subnets[1])]
|
||||
self._test_list_resources(
|
||||
'external_segment', [external_segments[0]],
|
||||
query_params='subnet_id=' + subnets[0])
|
||||
|
||||
Reference in New Issue
Block a user