)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"e244db8da485bb60ac2464be14283098af0a47ff","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     yangjianfeng \u003cyjf1970231893@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-02-07 10:04:24 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix bug #1914842"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Closes-Bug: #1914842"},{"line_number":10,"context_line":"Change-Id: If19a6a9b0f2910baefba9d7ea9955b1f0ad7d252"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1341a2e5_9d42bf68","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":16},"updated":"2021-02-08 08:06:42.000000000","message":"Please briefly describe the fix in commit msg. Best practices could be found here: https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"1a397f7ad19b1abc78e3de87d00da7f6b3dc53a5"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"159caac40a25b5aee029a1c2519f2a4cbf23d64e","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make phynet paramter also is optional when network_segment_range enabled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"0bdfc286_78430619","line":9,"range":{"start_line":9,"start_character":34,"end_line":9,"end_character":37},"updated":"2021-03-16 10:08:38.000000000","message":"is not","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"159caac40a25b5aee029a1c2519f2a4cbf23d64e","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make phynet paramter also is optional when network_segment_range enabled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"b6784fe5_d8665cc7","line":9,"range":{"start_line":9,"start_character":45,"end_line":9,"end_character":46},"updated":"2021-03-16 10:08:38.000000000","message":"should be probably comma instead of dot","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"d117ee93b70ff1623ede7e75a244406bf23eed0f","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make phynet paramter also is optional when network_segment_range enabled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"b751cc93_53d34620","line":9,"range":{"start_line":9,"start_character":34,"end_line":9,"end_character":37},"in_reply_to":"0bdfc286_78430619","updated":"2021-03-19 07:18:24.000000000","message":"thx","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"d117ee93b70ff1623ede7e75a244406bf23eed0f","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make phynet paramter also is optional when network_segment_range enabled"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"0a9d34d7_168b33f9","line":9,"range":{"start_line":9,"start_character":45,"end_line":9,"end_character":46},"in_reply_to":"b6784fe5_d8665cc7","updated":"2021-03-19 07:18:24.000000000","message":"thx","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"159caac40a25b5aee029a1c2519f2a4cbf23d64e","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1914842"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"4d43f84d_7cc0b576","line":11,"range":{"start_line":11,"start_character":3,"end_line":11,"end_character":9},"updated":"2021-03-16 10:08:38.000000000","message":"should","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"159caac40a25b5aee029a1c2519f2a4cbf23d64e","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1914842"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"e9f99f79_eec7a2dd","line":11,"range":{"start_line":11,"start_character":10,"end_line":11,"end_character":31},"updated":"2021-03-16 10:08:38.000000000","message":"support to not provide","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"d117ee93b70ff1623ede7e75a244406bf23eed0f","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1914842"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"c1b690c7_e785ce0c","line":11,"range":{"start_line":11,"start_character":3,"end_line":11,"end_character":9},"in_reply_to":"4d43f84d_7cc0b576","updated":"2021-03-19 07:18:24.000000000","message":"thx","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"d117ee93b70ff1623ede7e75a244406bf23eed0f","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When network_segment_range plugin not enabled. we can create a provider"},{"line_number":10,"context_line":"network without physical_network parameter. In order to compatibility,"},{"line_number":11,"context_line":"We shoule support don\u0027t provide physical_network parameter when create"},{"line_number":12,"context_line":"provider network with network_segment_range plugin enabled."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1914842"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"d5278014_c77c6f6f","line":11,"range":{"start_line":11,"start_character":10,"end_line":11,"end_character":31},"in_reply_to":"e9f99f79_eec7a2dd","updated":"2021-03-19 07:18:24.000000000","message":"thx","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"}],"neutron/objects/network_segment_range.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"87dca807b913ab2ccd847e7e72bf87a923555139","unresolved":true,"context_lines":[{"line_number":189,"context_line":"                     cls.db_model.shared \u003d\u003d sql.expression.true()))"},{"line_number":190,"context_line":"            if network_type \u003d\u003d constants.TYPE_VLAN:"},{"line_number":191,"context_line":"                shared_ranges.filter(cls.db_model.physical_network \u003d\u003d"},{"line_number":192,"context_line":"                                     _filters.get(\u0027physical_network\u0027, \u0027*\u0027))"},{"line_number":193,"context_line":"            segment_ids \u003d set([])"},{"line_number":194,"context_line":"            for shared_range in shared_ranges.all():"},{"line_number":195,"context_line":"                segment_ids.update(set(range(shared_range.minimum,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c821ff03_69cd0913","line":192,"range":{"start_line":192,"start_character":37,"end_line":192,"end_character":74},"updated":"2021-02-10 12:24:15.000000000","message":"Instead of this, avoid this sql filter if \"physical_network\" not in _filters:\n\n  if network_type \u003d\u003d constants.TYPE_VLAN and \u0027physical_network\u0027 in _filters:\n      shared_ranges.filter(cls.db_model.physical_network \u003d\u003d\n                           _filters[\u0027physical_network\u0027])","commit_id":"08f3570c5ccdca464ccee6412c07410cdf372041"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"8430736ba83b4256df05996983041cc5a3e60860","unresolved":true,"context_lines":[{"line_number":189,"context_line":"                     cls.db_model.shared \u003d\u003d sql.expression.true()))"},{"line_number":190,"context_line":"            if network_type \u003d\u003d constants.TYPE_VLAN:"},{"line_number":191,"context_line":"                shared_ranges.filter(cls.db_model.physical_network \u003d\u003d"},{"line_number":192,"context_line":"                                     _filters.get(\u0027physical_network\u0027, \u0027*\u0027))"},{"line_number":193,"context_line":"            segment_ids \u003d set([])"},{"line_number":194,"context_line":"            for shared_range in shared_ranges.all():"},{"line_number":195,"context_line":"                segment_ids.update(set(range(shared_range.minimum,"}],"source_content_type":"text/x-python","patch_set":3,"id":"39b4402b_690df22f","line":192,"range":{"start_line":192,"start_character":37,"end_line":192,"end_character":74},"in_reply_to":"c821ff03_69cd0913","updated":"2021-03-14 03:28:10.000000000","message":"thx","commit_id":"08f3570c5ccdca464ccee6412c07410cdf372041"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"87dca807b913ab2ccd847e7e72bf87a923555139","unresolved":true,"context_lines":[{"line_number":206,"context_line":"            if network_type \u003d\u003d constants.TYPE_VLAN:"},{"line_number":207,"context_line":"                other_project_ranges \u003d other_project_ranges.filter("},{"line_number":208,"context_line":"                    cls.db_model.physical_network \u003d\u003d"},{"line_number":209,"context_line":"                    _filters.get(\u0027physical_network\u0027, \u0027*\u0027))"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"            for other_project_range in other_project_ranges.all():"},{"line_number":212,"context_line":"                _set \u003d set(range(other_project_range.minimum,"}],"source_content_type":"text/x-python","patch_set":3,"id":"25065cd2_06698686","line":209,"updated":"2021-02-10 12:24:15.000000000","message":"ditto","commit_id":"08f3570c5ccdca464ccee6412c07410cdf372041"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"8430736ba83b4256df05996983041cc5a3e60860","unresolved":true,"context_lines":[{"line_number":206,"context_line":"            if network_type \u003d\u003d constants.TYPE_VLAN:"},{"line_number":207,"context_line":"                other_project_ranges \u003d other_project_ranges.filter("},{"line_number":208,"context_line":"                    cls.db_model.physical_network \u003d\u003d"},{"line_number":209,"context_line":"                    _filters.get(\u0027physical_network\u0027, \u0027*\u0027))"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"            for other_project_range in other_project_ranges.all():"},{"line_number":212,"context_line":"                _set \u003d set(range(other_project_range.minimum,"}],"source_content_type":"text/x-python","patch_set":3,"id":"4f186a16_55947ab3","line":209,"in_reply_to":"25065cd2_06698686","updated":"2021-03-14 03:28:10.000000000","message":"thx","commit_id":"08f3570c5ccdca464ccee6412c07410cdf372041"}],"neutron/tests/unit/objects/test_network_segment_range.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"159caac40a25b5aee029a1c2519f2a4cbf23d64e","unresolved":true,"context_lines":[{"line_number":180,"context_line":"        obj.shared \u003d False"},{"line_number":181,"context_line":"        self.assertRaises(n_exc.ObjectActionError, obj.update)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def _create_vlan_environment_with_multiple_phynets("},{"line_number":184,"context_line":"            self, physical_networks, project_id):"},{"line_number":185,"context_line":"        for phynet_name, vlan_range in physical_networks.items():"},{"line_number":186,"context_line":"            self._create_network_segment_range("}],"source_content_type":"text/x-python","patch_set":4,"id":"8b64bfa7_9993a1e9","line":183,"range":{"start_line":183,"start_character":47,"end_line":183,"end_character":54},"updated":"2021-03-16 10:08:38.000000000","message":"nit: physnet IMO would be better","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"d117ee93b70ff1623ede7e75a244406bf23eed0f","unresolved":true,"context_lines":[{"line_number":180,"context_line":"        obj.shared \u003d False"},{"line_number":181,"context_line":"        self.assertRaises(n_exc.ObjectActionError, obj.update)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def _create_vlan_environment_with_multiple_phynets("},{"line_number":184,"context_line":"            self, physical_networks, project_id):"},{"line_number":185,"context_line":"        for phynet_name, vlan_range in physical_networks.items():"},{"line_number":186,"context_line":"            self._create_network_segment_range("}],"source_content_type":"text/x-python","patch_set":4,"id":"35709009_e1d9bceb","line":183,"range":{"start_line":183,"start_character":47,"end_line":183,"end_character":54},"in_reply_to":"8b64bfa7_9993a1e9","updated":"2021-03-19 07:18:24.000000000","message":"thx","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"159caac40a25b5aee029a1c2519f2a4cbf23d64e","unresolved":true,"context_lines":[{"line_number":244,"context_line":"            range_set.difference_update(prange_set)"},{"line_number":245,"context_line":"        return range_set"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _allocate_random_allocations(self, allocations, subclass, number\u003dNone):"},{"line_number":248,"context_line":"        pk_cols \u003d subclass.db_model.__table__.primary_key.columns"},{"line_number":249,"context_line":"        primary_keys \u003d [col.name for col in pk_cols]"},{"line_number":250,"context_line":"        allocated \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"84ea61af_0660939e","line":247,"range":{"start_line":247,"start_character":66,"end_line":247,"end_character":72},"updated":"2021-03-16 10:08:38.000000000","message":"maybe \"num_of_allocations\" or something like that would be better?","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"d117ee93b70ff1623ede7e75a244406bf23eed0f","unresolved":true,"context_lines":[{"line_number":244,"context_line":"            range_set.difference_update(prange_set)"},{"line_number":245,"context_line":"        return range_set"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _allocate_random_allocations(self, allocations, subclass, number\u003dNone):"},{"line_number":248,"context_line":"        pk_cols \u003d subclass.db_model.__table__.primary_key.columns"},{"line_number":249,"context_line":"        primary_keys \u003d [col.name for col in pk_cols]"},{"line_number":250,"context_line":"        allocated \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"10f9b4c6_7cb79098","line":247,"range":{"start_line":247,"start_character":66,"end_line":247,"end_character":72},"in_reply_to":"84ea61af_0660939e","updated":"2021-03-19 07:18:24.000000000","message":"thx","commit_id":"5ba8cf97c2c80455b760d8d0ef937416fe13a032"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"727e40aa7e9bf4d99953e376c88e897f04a69322","unresolved":true,"context_lines":[{"line_number":190,"context_line":"                    physical_network\u003dphynet_name,"},{"line_number":191,"context_line":"                    default\u003dTrue, shared\u003dTrue).create()"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"            for segmentation_id in range(2, 4):"},{"line_number":194,"context_line":"                self._create_allocation("},{"line_number":195,"context_line":"                    vlan_alloc_obj.VlanAllocation,"},{"line_number":196,"context_line":"                    segmentation_id\u003dsegmentation_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"916d6d55_1a79a0b4","line":193,"range":{"start_line":193,"start_character":35,"end_line":193,"end_character":46},"updated":"2021-05-13 07:08:12.000000000","message":"Why those values? Why are hidden inside the method instead of being an input parameter?\n\nWhy are you creating a particular set of allocations instead of, based on the phynets provided, creating all VLAN range allocations? This is what is done when VlanTypeDriver is started.","commit_id":"a4457190abcfc9fcff5e7646a7fdaed09ceeeddd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"727e40aa7e9bf4d99953e376c88e897f04a69322","unresolved":true,"context_lines":[{"line_number":310,"context_line":"            for alloc in allocated:"},{"line_number":311,"context_line":"                self.assertEqual(1, subclass.deallocate(self.context, **alloc))"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def test_get_segments_shared_without_physical_network_for_vlan(self):"},{"line_number":314,"context_line":"        phynet1_vlan_range \u003d [2, 3]"},{"line_number":315,"context_line":"        phynet1_vlan_size \u003d phynet1_vlan_range[1] - phynet1_vlan_range[0] + 1"},{"line_number":316,"context_line":"        phynet2_vlan_range \u003d [8, 9]"}],"source_content_type":"text/x-python","patch_set":8,"id":"8b5eab3b_f1b54a00","line":313,"updated":"2021-05-13 07:08:12.000000000","message":"This method has too much redundant code and as I commented in \"_create_vlan_environment_with_multiple_phynet\" method, this test is not accurate why the \"VlanTypeDriver\" behaviour.\n\nInstead of this, you should create several (configurable) physnet with a VLAN range set. Then, in a loop:\n- Check the current allocation number\n- Reserve an allocation and check this allocation belongs to the (physnet, vlan_range) defined.\n\nSomething like this: http://paste.openstack.org/show/805326/","commit_id":"a4457190abcfc9fcff5e7646a7fdaed09ceeeddd"}]}
