)]}'
{"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3efdb47a97a811f29305483e7fa56be4155fa664","unresolved":false,"context_lines":[{"line_number":1602,"context_line":"                self._process_port_create_security_group(context, port_dict,"},{"line_number":1603,"context_line":"                                                         sgids)"},{"line_number":1604,"context_line":"                sg_set \u003d set(port_dict[\u0027security_groups\u0027])"},{"line_number":1605,"context_line":"                port[\u0027port_obj\u0027].db_obj[\u0027security_group_ids\u0027] \u003d sg_set.copy()"},{"line_number":1606,"context_line":"                port[\u0027port_obj\u0027][\u0027security_group_ids\u0027] \u003d sg_set.copy()"},{"line_number":1607,"context_line":""},{"line_number":1608,"context_line":"            resource_extend.apply_funcs(\u0027ports\u0027, port_dict,"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_f55f7072","line":1605,"updated":"2019-08-29 13:23:13.000000000","message":"Just a random thought.  This doesn\u0027t need to be a copy.deepcopy(sg_set) does it?  But I think it\u0027s just a list of Ids which shouldn\u0027t need that.  Or maybe you\u0027ve already found the problem :)","commit_id":"8aff271af467bbdd761c7df3b80406cb0385500d"}],"neutron/tests/functional/pecan_wsgi/test_controllers.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e5ea3d467e61295a6abf93a1406bf29e671d8194","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        ports \u003d json_body[\u0027ports\u0027]"},{"line_number":531,"context_line":"        self.assertEqual(2, len(ports))"},{"line_number":532,"context_line":"        for port in ports:"},{"line_number":533,"context_line":"            self.assertEqual(1, len(ports[\u0027security_groups\u0027]))"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    def test_emulated_bulk_create(self):"},{"line_number":536,"context_line":"        self.plugin._FORCE_EMULATED_BULK \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_13966c4d","line":533,"range":{"start_line":533,"start_character":36,"end_line":533,"end_character":41},"updated":"2019-08-06 14:29:27.000000000","message":"\"port\" instead of \"ports\"?","commit_id":"48c1744f8f3e089d03a63fc955492f21a7bb680e"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"7a3e9e92bb7e5a86c73227310f0f07e1a6ed5a87","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        ports \u003d json_body[\u0027ports\u0027]"},{"line_number":531,"context_line":"        self.assertEqual(2, len(ports))"},{"line_number":532,"context_line":"        for port in ports:"},{"line_number":533,"context_line":"            self.assertEqual(1, len(ports[\u0027security_groups\u0027]))"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"    def test_emulated_bulk_create(self):"},{"line_number":536,"context_line":"        self.plugin._FORCE_EMULATED_BULK \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_b684980c","line":533,"range":{"start_line":533,"start_character":36,"end_line":533,"end_character":41},"in_reply_to":"7faddb67_13966c4d","updated":"2019-08-14 15:20:10.000000000","message":"Gah, I\u0027m daft.  Fixed.","commit_id":"48c1744f8f3e089d03a63fc955492f21a7bb680e"}],"neutron/tests/unit/extensions/test_securitygroup.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3efdb47a97a811f29305483e7fa56be4155fa664","unresolved":false,"context_lines":[{"line_number":1578,"context_line":"                                           req.get_response(self.api))"},{"line_number":1579,"context_line":"                    self.assertEqual([],"},{"line_number":1580,"context_line":"                                     res[\u0027port\u0027].get(ext_sg.SECURITYGROUPS,"},{"line_number":1581,"context_line":"                                                     []))"},{"line_number":1582,"context_line":"                    self._delete(\u0027ports\u0027, port[\u0027port\u0027][\u0027id\u0027])"},{"line_number":1583,"context_line":""},{"line_number":1584,"context_line":"    def test_update_port_remove_security_group_none(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_95d39cd3","line":1581,"updated":"2019-08-29 13:23:13.000000000","message":"So this would fail otherwise?  Related to the problem?","commit_id":"8aff271af467bbdd761c7df3b80406cb0385500d"}]}
