diff --git a/neutron/objects/ports.py b/neutron/objects/ports.py index 27f2b47b570..91dfaaa3810 100644 --- a/neutron/objects/ports.py +++ b/neutron/objects/ports.py @@ -263,6 +263,8 @@ class Port(base.NeutronDbObject): # field in later object iterations } + extra_filter_names = {'security_group_ids'} + fields_no_update = ['project_id', 'network_id'] synthetic_fields = [ diff --git a/neutron/tests/unit/objects/test_ports.py b/neutron/tests/unit/objects/test_ports.py index b2aaf0a29ec..caccc36a2b8 100644 --- a/neutron/tests/unit/objects/test_ports.py +++ b/neutron/tests/unit/objects/test_ports.py @@ -233,6 +233,12 @@ class PortDbObjectTestCase(obj_test_base.BaseDbObjectTestCase, obj = ports.Port.get_object(self.context, id=obj.id) self.assertEqual(groups, obj.security_group_ids) + self.assertEqual([obj], + ports.Port.get_objects( + self.context, security_group_ids=(sg1_id, ))) + self.assertEqual([obj], + ports.Port.get_objects( + self.context, security_group_ids=(sg2_id, ))) sg3_id = self._create_test_security_group_id() obj.security_group_ids = {sg3_id}