)]}'
{"neutron/tests/fullstack/test_segmentation_id.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a202ed3eee7a71915cc57c051014709406d13cf3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        seg_id \u003d 100"},{"line_number":37,"context_line":"        network \u003d self.safe_client.create_network("},{"line_number":38,"context_line":"            self.tenant_id, network_type\u003d\"vlan\", segmentation_id\u003dseg_id,"},{"line_number":39,"context_line":"            physical_network\u003dconfig.PHYSICAL_NETWORK_NAME)"},{"line_number":40,"context_line":"        self.assertEqual(seg_id, network[\u0027provider:segmentation_id\u0027])"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        # Ensure that segmentation_id is really set properly in DB"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_4c940138","line":39,"range":{"start_line":39,"start_character":36,"end_line":39,"end_character":57},"updated":"2019-07-08 09:59:49.000000000","message":"Different networks in the same phys net with the same segmentation ID should not be allowed.\n\nIn order to avoid network clashes, IMO you should randomize the seg_id of the network, always considering:\n1) The VLAN ID should be inside the accepted interval.\n2) In L50 you are increasing the VLAN ID number.\n\nWith 4K possible vlans will me difficult to have a coincidence.","commit_id":"4a9207a304bdae8829f3ab9a7e249852e78a57f3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1dbb3775ad2f64c48f4ec27884257dc51d55f83c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        seg_id \u003d 100"},{"line_number":37,"context_line":"        network \u003d self.safe_client.create_network("},{"line_number":38,"context_line":"            self.tenant_id, network_type\u003d\"vlan\", segmentation_id\u003dseg_id,"},{"line_number":39,"context_line":"            physical_network\u003dconfig.PHYSICAL_NETWORK_NAME)"},{"line_number":40,"context_line":"        self.assertEqual(seg_id, network[\u0027provider:segmentation_id\u0027])"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        # Ensure that segmentation_id is really set properly in DB"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_b584c75f","line":39,"range":{"start_line":39,"start_character":36,"end_line":39,"end_character":57},"in_reply_to":"7faddb67_0c05a977","updated":"2019-07-09 09:00:03.000000000","message":"You are right on this, each test has its own neutron server and agents.","commit_id":"4a9207a304bdae8829f3ab9a7e249852e78a57f3"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"668a84969854b971eac8b4c0bd5971d5ff7a9075","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        seg_id \u003d 100"},{"line_number":37,"context_line":"        network \u003d self.safe_client.create_network("},{"line_number":38,"context_line":"            self.tenant_id, network_type\u003d\"vlan\", segmentation_id\u003dseg_id,"},{"line_number":39,"context_line":"            physical_network\u003dconfig.PHYSICAL_NETWORK_NAME)"},{"line_number":40,"context_line":"        self.assertEqual(seg_id, network[\u0027provider:segmentation_id\u0027])"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        # Ensure that segmentation_id is really set properly in DB"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_0c05a977","line":39,"range":{"start_line":39,"start_character":36,"end_line":39,"end_character":57},"in_reply_to":"7faddb67_4c940138","updated":"2019-07-08 10:09:19.000000000","message":"but for each test in fullstack we are spawning new neutron-server, new agents and so on. So every test is completely separated from others and there should be no problems with that.","commit_id":"4a9207a304bdae8829f3ab9a7e249852e78a57f3"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"428e0ca4511f8274fbfcd84ed9deece854da2393","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self._update_segmentation_id(network)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class TestSegmentationIdOvs(BaseTestSegmentationId,"},{"line_number":81,"context_line":"                            base.BaseFullStackTestCase):"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    l2_agent_type \u003d constants.AGENT_TYPE_OVS"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_change_segmentation_id_with_bound_ports_in_network(self):"},{"line_number":86,"context_line":"        network \u003d self._create_network()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        self.safe_client.create_subnet("},{"line_number":89,"context_line":"            self.tenant_id, network[\u0027id\u0027], \u002720.0.0.0/24\u0027)"},{"line_number":90,"context_line":"        self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027],"},{"line_number":91,"context_line":"                                     self.environment.hosts[0].hostname)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self._update_segmentation_id(network)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class TestSegmentationIdLinuxbridge(BaseTestSegmentationId,"},{"line_number":97,"context_line":"                                    base.BaseFullStackTestCase):"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    l2_agent_type \u003d constants.AGENT_TYPE_LINUXBRIDGE"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def test_change_segmentation_id_with_bound_ports_in_network(self):"},{"line_number":102,"context_line":"        network \u003d self._create_network()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        self.safe_client.create_subnet("},{"line_number":105,"context_line":"            self.tenant_id, network[\u0027id\u0027], \u002720.0.0.0/24\u0027)"},{"line_number":106,"context_line":"        self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027],"},{"line_number":107,"context_line":"                                     self.environment.hosts[0].hostname)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Linuxbridge agent don\u0027t support update of segmentation_id for network"},{"line_number":110,"context_line":"        # so this should raise an exception"},{"line_number":111,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":112,"context_line":"                          self._update_segmentation_id, network)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_0bc57a5b","line":112,"range":{"start_line":80,"start_character":0,"end_line":112,"end_character":64},"updated":"2019-07-09 11:38:27.000000000","message":"nit/opinion: Perhaps not nicer but shorter to use scenarios here and do the assertion based on the value of self.l2_agent_type.\n\n* pros: shorter code, no code duplication\n* cons: ugly conditional assertion :-)","commit_id":"4a9207a304bdae8829f3ab9a7e249852e78a57f3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ba1c1459b741275e5096a12086759a937e669f92","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self._update_segmentation_id(network)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class TestSegmentationIdOvs(BaseTestSegmentationId,"},{"line_number":81,"context_line":"                            base.BaseFullStackTestCase):"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    l2_agent_type \u003d constants.AGENT_TYPE_OVS"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_change_segmentation_id_with_bound_ports_in_network(self):"},{"line_number":86,"context_line":"        network \u003d self._create_network()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        self.safe_client.create_subnet("},{"line_number":89,"context_line":"            self.tenant_id, network[\u0027id\u0027], \u002720.0.0.0/24\u0027)"},{"line_number":90,"context_line":"        self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027],"},{"line_number":91,"context_line":"                                     self.environment.hosts[0].hostname)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self._update_segmentation_id(network)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class TestSegmentationIdLinuxbridge(BaseTestSegmentationId,"},{"line_number":97,"context_line":"                                    base.BaseFullStackTestCase):"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    l2_agent_type \u003d constants.AGENT_TYPE_LINUXBRIDGE"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def test_change_segmentation_id_with_bound_ports_in_network(self):"},{"line_number":102,"context_line":"        network \u003d self._create_network()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        self.safe_client.create_subnet("},{"line_number":105,"context_line":"            self.tenant_id, network[\u0027id\u0027], \u002720.0.0.0/24\u0027)"},{"line_number":106,"context_line":"        self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027],"},{"line_number":107,"context_line":"                                     self.environment.hosts[0].hostname)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Linuxbridge agent don\u0027t support update of segmentation_id for network"},{"line_number":110,"context_line":"        # so this should raise an exception"},{"line_number":111,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":112,"context_line":"                          self._update_segmentation_id, network)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_dd14daa2","line":112,"range":{"start_line":80,"start_character":0,"end_line":112,"end_character":64},"in_reply_to":"7faddb67_0bc57a5b","updated":"2019-07-11 15:36:10.000000000","message":"+1","commit_id":"4a9207a304bdae8829f3ab9a7e249852e78a57f3"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"157bec7ae5b29dbdfc0cb9c3ed4269f68fce8e2b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        self._update_segmentation_id(network)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class TestSegmentationIdOvs(BaseTestSegmentationId,"},{"line_number":81,"context_line":"                            base.BaseFullStackTestCase):"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    l2_agent_type \u003d constants.AGENT_TYPE_OVS"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_change_segmentation_id_with_bound_ports_in_network(self):"},{"line_number":86,"context_line":"        network \u003d self._create_network()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        self.safe_client.create_subnet("},{"line_number":89,"context_line":"            self.tenant_id, network[\u0027id\u0027], \u002720.0.0.0/24\u0027)"},{"line_number":90,"context_line":"        self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027],"},{"line_number":91,"context_line":"                                     self.environment.hosts[0].hostname)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self._update_segmentation_id(network)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class TestSegmentationIdLinuxbridge(BaseTestSegmentationId,"},{"line_number":97,"context_line":"                                    base.BaseFullStackTestCase):"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    l2_agent_type \u003d constants.AGENT_TYPE_LINUXBRIDGE"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def test_change_segmentation_id_with_bound_ports_in_network(self):"},{"line_number":102,"context_line":"        network \u003d self._create_network()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        self.safe_client.create_subnet("},{"line_number":105,"context_line":"            self.tenant_id, network[\u0027id\u0027], \u002720.0.0.0/24\u0027)"},{"line_number":106,"context_line":"        self.safe_client.create_port(self.tenant_id, network[\u0027id\u0027],"},{"line_number":107,"context_line":"                                     self.environment.hosts[0].hostname)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Linuxbridge agent don\u0027t support update of segmentation_id for network"},{"line_number":110,"context_line":"        # so this should raise an exception"},{"line_number":111,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":112,"context_line":"                          self._update_segmentation_id, network)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_c7b5e7ce","line":112,"range":{"start_line":80,"start_character":0,"end_line":112,"end_character":64},"in_reply_to":"7faddb67_0bc57a5b","updated":"2019-07-11 15:04:03.000000000","message":"You\u0027re right. It\u0027s better to use scenarios here.","commit_id":"4a9207a304bdae8829f3ab9a7e249852e78a57f3"}]}
