)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"12291d1616876791c92f2880f653e1e101e65fce","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix on local vlan assignment to be consistent and predictable"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In the existing vlan assignment, a recyled vlan will not be assigned again"},{"line_number":10,"context_line":"The resulted inconsistent vlan mapping makes health monitoring task"},{"line_number":11,"context_line":"difficult for a large deployment with thousands of ovs agents."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3ac371cc_eeb9b316","line":9,"updated":"2016-08-17 02:34:57.000000000","message":"Do you mean it will not be assigned ever again, or do you mean that it is not inserted back into the available vlans in-order.","commit_id":"1d153217dff0c4e44c007b2b1de2dd3ad8511008"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"483a23f0dfc4f3f4c68031ceeabc0b1803e3d05a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"The resulted inconsistent vlan mapping makes health monitoring task"},{"line_number":14,"context_line":"difficult for a large deployment with thousands of ovs agents."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patch fixes the issue by always returning the smallest vlan from the"},{"line_number":17,"context_line":"local vlan pool."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I7d7830e3dd023ef6dd4c9d21544f750f843373cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3ac371cc_e50b5bd4","line":16,"updated":"2016-08-17 21:29:36.000000000","message":"nit: line #(9,10, 16) is more than 72 characters","commit_id":"3c2cf4e019627ca676fd2e728d269ec1021f050e"},{"author":{"_account_id":18445,"name":"Aihua Edward Li","email":"aihuaedwardli@yahoo.com","username":"aihuaedwardli"},"change_message_id":"d8610c2080985d3f78bc9409025c0a482a3ce6f2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"The resulted inconsistent vlan mapping makes health monitoring task"},{"line_number":14,"context_line":"difficult for a large deployment with thousands of ovs agents."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This patch fixes the issue by always returning the smallest vlan from the"},{"line_number":17,"context_line":"local vlan pool."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I7d7830e3dd023ef6dd4c9d21544f750f843373cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3ac371cc_927f39df","line":16,"in_reply_to":"3ac371cc_e50b5bd4","updated":"2016-08-18 03:56:22.000000000","message":"Done","commit_id":"3c2cf4e019627ca676fd2e728d269ec1021f050e"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"97943a670422f7f32cb1515b13575a4fe786872d","unresolved":false,"context_lines":[{"line_number":644,"context_line":"                    LOG.error(_LE(\"No local VLAN available for net-id\u003d%s\"),"},{"line_number":645,"context_line":"                              net_uuid)"},{"line_number":646,"context_line":"                    return"},{"line_number":647,"context_line":"                lvid \u003d sorted(self.available_local_vlans)[0]"},{"line_number":648,"context_line":"                self.available_local_vlans.remove(lvid)"},{"line_number":649,"context_line":"            self.vlan_manager.add("},{"line_number":650,"context_line":"                net_uuid, lvid, network_type, physical_network,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_6e12e30a","line":647,"updated":"2016-08-17 02:36:50.000000000","message":"sorted(self.available_local_vlans).pop()","commit_id":"1d153217dff0c4e44c007b2b1de2dd3ad8511008"},{"author":{"_account_id":4656,"name":"Sean M. Collins","email":"sean@coreitpro.com","username":"scollins"},"change_message_id":"56e3196d7c3ee3d79cf31952e7e23cc1133b4b78","unresolved":false,"context_lines":[{"line_number":644,"context_line":"                    LOG.error(_LE(\"No local VLAN available for net-id\u003d%s\"),"},{"line_number":645,"context_line":"                              net_uuid)"},{"line_number":646,"context_line":"                    return"},{"line_number":647,"context_line":"                lvid \u003d sorted(self.available_local_vlans)[0]"},{"line_number":648,"context_line":"                self.available_local_vlans.remove(lvid)"},{"line_number":649,"context_line":"            self.vlan_manager.add("},{"line_number":650,"context_line":"                net_uuid, lvid, network_type, physical_network,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ac371cc_eefed3ac","line":647,"in_reply_to":"3ac371cc_6e12e30a","updated":"2016-08-17 02:37:38.000000000","message":"sorry, sorted returns a new iterable. Disregard","commit_id":"1d153217dff0c4e44c007b2b1de2dd3ad8511008"}],"neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/test_ovs_neutron_agent.py":[{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"483a23f0dfc4f3f4c68031ceeabc0b1803e3d05a","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            self.agent.provision_local_vlan(net_uuid, network_type,"},{"line_number":337,"context_line":"                    physical_network, segmentation_id)"},{"line_number":338,"context_line":"            lvid_2 \u003d self.agent.local_vlan_map.get(net_uuid).vlan"},{"line_number":339,"context_line":"        self.assertEqual(lvid_1, lvid_2)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def _test_port_dead(self, cur_tag\u003dNone):"},{"line_number":342,"context_line":"        port \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_f6b78fd5","line":339,"updated":"2016-08-17 21:29:36.000000000","message":"In this test case the local_vlan_pool has only one vlan. Can you please update the test case to have more than one vlan in the local_vlan_poo?l So that the use case: the smallest vlan from the local vlan pool is covered in this test case.","commit_id":"3c2cf4e019627ca676fd2e728d269ec1021f050e"},{"author":{"_account_id":22220,"name":"Anindita Das","email":"anindita.das@utexas.edu","username":"anudas"},"change_message_id":"caf61f0c5e2ee5c4b2290ea04ae6c48db6e14df5","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            self.agent.provision_local_vlan(net_uuid, network_type,"},{"line_number":337,"context_line":"                    physical_network, segmentation_id)"},{"line_number":338,"context_line":"            lvid_2 \u003d self.agent.local_vlan_map.get(net_uuid).vlan"},{"line_number":339,"context_line":"        self.assertEqual(lvid_1, lvid_2)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def _test_port_dead(self, cur_tag\u003dNone):"},{"line_number":342,"context_line":"        port \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_8129829d","line":339,"in_reply_to":"3ac371cc_72f27d9b","updated":"2016-08-18 14:56:53.000000000","message":"Thank you for the explanation","commit_id":"3c2cf4e019627ca676fd2e728d269ec1021f050e"},{"author":{"_account_id":18445,"name":"Aihua Edward Li","email":"aihuaedwardli@yahoo.com","username":"aihuaedwardli"},"change_message_id":"d8610c2080985d3f78bc9409025c0a482a3ce6f2","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            self.agent.provision_local_vlan(net_uuid, network_type,"},{"line_number":337,"context_line":"                    physical_network, segmentation_id)"},{"line_number":338,"context_line":"            lvid_2 \u003d self.agent.local_vlan_map.get(net_uuid).vlan"},{"line_number":339,"context_line":"        self.assertEqual(lvid_1, lvid_2)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def _test_port_dead(self, cur_tag\u003dNone):"},{"line_number":342,"context_line":"        port \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_72f27d9b","line":339,"in_reply_to":"3ac371cc_f6b78fd5","updated":"2016-08-18 03:56:22.000000000","message":"The local vlan pool has 409x vlans. \nWithout the fix, the result is lvid_1\u003d1, and lvid_2\u003d2, and the assert would fail. Two vlans are used.\nWith the fix, both lvid_1 and lvid_2 are assigned vlan 1 and test passes.","commit_id":"3c2cf4e019627ca676fd2e728d269ec1021f050e"}]}
