)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"3cab318182f8b4790bb633f573b22ad89d3c9143","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Brocade driver add_zone optimization"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Check whether the new zone we want to add/create"},{"line_number":10,"context_line":"have the same zone name and members to the existing"},{"line_number":11,"context_line":"zone on the switch. If they are same, no need to"},{"line_number":12,"context_line":"delete and re-add it. This is significant if we"},{"line_number":13,"context_line":"create volume from image or upload volume to image"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a2ca52d_975b9f54","line":10,"updated":"2015-10-13 13:07:11.000000000","message":"have -\u003e has","commit_id":"b0178625f68793fd241c713a9ddec56e97ede760"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"89e59a077a6ca55f8577baaae0bcbe0eb88b03a3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Brocade driver add_zone optimization"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Check whether the new zone we want to add/create"},{"line_number":10,"context_line":"have the same zone name and members to the existing"},{"line_number":11,"context_line":"zone on the switch. If they are same, no need to"},{"line_number":12,"context_line":"delete and re-add it. This is significant if we"},{"line_number":13,"context_line":"create volume from image or upload volume to image"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a2ca52d_45ed318a","line":10,"in_reply_to":"5a2ca52d_975b9f54","updated":"2015-10-14 01:57:35.000000000","message":"Done","commit_id":"b0178625f68793fd241c713a9ddec56e97ede760"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"19800a5b9db5e817e8af97f030870f4e6b77584b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Brocade driver add_zone optimization"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Check whether the new zone we want to add/create"},{"line_number":10,"context_line":"has the same zone name and members to the existing"},{"line_number":11,"context_line":"zone on the switch. If they are same, no need to"},{"line_number":12,"context_line":"delete and re-add it. This is significant if we"},{"line_number":13,"context_line":"create volume from image or upload volume to image"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a29b11f_8dc92baf","line":10,"updated":"2015-10-26 14:20:32.000000000","message":"the same .. with..","commit_id":"5b9656048390894a1b6ac7e59217650772918d62"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"0d28a6e07dcee94666bfcd8b6b3484ce821b3779","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Brocade driver add_zone optimization"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Check whether the new zone we want to add/create"},{"line_number":10,"context_line":"has the same zone name and members to the existing"},{"line_number":11,"context_line":"zone on the switch. If they are same, no need to"},{"line_number":12,"context_line":"delete and re-add it. This is significant if we"},{"line_number":13,"context_line":"create volume from image or upload volume to image"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a29b11f_a52af3e5","line":10,"in_reply_to":"3a29b11f_8dc92baf","updated":"2015-10-27 01:12:23.000000000","message":"Done","commit_id":"5b9656048390894a1b6ac7e59217650772918d62"}],"cinder/tests/unit/zonemanager/test_brcd_fc_zone_client_cli.py":[{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"88bf1475c573e8e2f27fe5bba3ae163b61557084","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            self.add_zones(new_zone_memb_same, True, active_zoneset)"},{"line_number":125,"context_line":"            self.assertEqual(0, mock_apply_change.call_count)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        with mock.patch.object(client_cli.BrcdFCZoneClientCLI,"},{"line_number":128,"context_line":"                               \u0027apply_zone_change\u0027) as mock_apply_change:"},{"line_number":129,"context_line":"            self.add_zones(new_zone_memb_not_same, True, active_zoneset)"},{"line_number":130,"context_line":"            self.assertEqual(2, mock_apply_change.call_count)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_f613d55a","line":127,"updated":"2015-10-14 02:24:20.000000000","message":"Might want to split this into its own test case","commit_id":"28793e71ff50f555df5d449549b324364fc4aa5e"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"5500d5479f82a3ddf2d2a2dcf4745e7e0d9bf667","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            self.add_zones(new_zone_memb_same, True, active_zoneset)"},{"line_number":125,"context_line":"            self.assertEqual(0, mock_apply_change.call_count)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        with mock.patch.object(client_cli.BrcdFCZoneClientCLI,"},{"line_number":128,"context_line":"                               \u0027apply_zone_change\u0027) as mock_apply_change:"},{"line_number":129,"context_line":"            self.add_zones(new_zone_memb_not_same, True, active_zoneset)"},{"line_number":130,"context_line":"            self.assertEqual(2, mock_apply_change.call_count)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_87bfc9cf","line":127,"in_reply_to":"5a2ca52d_f613d55a","updated":"2015-10-14 04:54:48.000000000","message":"Done","commit_id":"28793e71ff50f555df5d449549b324364fc4aa5e"}],"cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py":[{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"2975d8a7422e952876aeb0dda4938b92688a986c","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def _is_zone_same(self, zone1, zone2):"},{"line_number":118,"context_line":"        zone_members1 \u003d \u0027;\u0027.join(str(member) for member in zone1)"},{"line_number":119,"context_line":"        zone_members2 \u003d \u0027;\u0027.join(str(member) for member in zone1)"},{"line_number":120,"context_line":"        if zone_members1 \u003d\u003d zone_members2:"},{"line_number":121,"context_line":"            return True"},{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_69962d96","line":120,"updated":"2015-10-13 10:41:39.000000000","message":"It can be a bit simplified: return zone_members1 \u003d\u003d zone_members2","commit_id":"b0178625f68793fd241c713a9ddec56e97ede760"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"89e59a077a6ca55f8577baaae0bcbe0eb88b03a3","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def _is_zone_same(self, zone1, zone2):"},{"line_number":118,"context_line":"        zone_members1 \u003d \u0027;\u0027.join(str(member) for member in zone1)"},{"line_number":119,"context_line":"        zone_members2 \u003d \u0027;\u0027.join(str(member) for member in zone1)"},{"line_number":120,"context_line":"        if zone_members1 \u003d\u003d zone_members2:"},{"line_number":121,"context_line":"            return True"},{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_85c109e7","line":120,"in_reply_to":"5a2ca52d_69962d96","updated":"2015-10-14 01:57:35.000000000","message":"Done","commit_id":"b0178625f68793fd241c713a9ddec56e97ede760"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"555ea9c27f9d9248e12fc8a3187cfd50d0e43dee","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            return True"},{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            return False"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def add_zones(self, zones, activate, active_zone_set\u003dNone):"},{"line_number":126,"context_line":"        \"\"\"Add zone configuration."},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_77a3639f","line":124,"updated":"2015-10-13 13:03:14.000000000","message":"I think these new branches will need new unit tests to address them.","commit_id":"b0178625f68793fd241c713a9ddec56e97ede760"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"89e59a077a6ca55f8577baaae0bcbe0eb88b03a3","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            return True"},{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            return False"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def add_zones(self, zones, activate, active_zone_set\u003dNone):"},{"line_number":126,"context_line":"        \"\"\"Add zone configuration."},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a2ca52d_e5b0fd8d","line":124,"in_reply_to":"5a2ca52d_77a3639f","updated":"2015-10-14 01:57:35.000000000","message":"Done","commit_id":"b0178625f68793fd241c713a9ddec56e97ede760"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"88bf1475c573e8e2f27fe5bba3ae163b61557084","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def _is_zone_same(self, zone1, zone2):"},{"line_number":118,"context_line":"        zone_members1 \u003d \u0027;\u0027.join(str(member) for member in zone1)"},{"line_number":119,"context_line":"        zone_members2 \u003d \u0027;\u0027.join(str(member) for member in zone2)"},{"line_number":120,"context_line":"        return zone_members1 \u003d\u003d zone_members2"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def add_zones(self, zones, activate, active_zone_set\u003dNone):"},{"line_number":123,"context_line":"        \"\"\"Add zone configuration."}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_bba7864e","line":120,"updated":"2015-10-14 02:24:20.000000000","message":"Shouldn\u0027t this check if the zones have the same members regardless of order? So like a zone with [\u0027A\u0027, \u0027B\u0027] as members is equivalent to a zone with [\u0027B\u0027, \u0027A\u0027], the easiest way is probably just to do something like: set(zone1) \u003d\u003d set(zone2)","commit_id":"28793e71ff50f555df5d449549b324364fc4aa5e"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"5500d5479f82a3ddf2d2a2dcf4745e7e0d9bf667","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def _is_zone_same(self, zone1, zone2):"},{"line_number":118,"context_line":"        zone_members1 \u003d \u0027;\u0027.join(str(member) for member in zone1)"},{"line_number":119,"context_line":"        zone_members2 \u003d \u0027;\u0027.join(str(member) for member in zone2)"},{"line_number":120,"context_line":"        return zone_members1 \u003d\u003d zone_members2"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def add_zones(self, zones, activate, active_zone_set\u003dNone):"},{"line_number":123,"context_line":"        \"\"\"Add zone configuration."}],"source_content_type":"text/x-python","patch_set":2,"id":"5a2ca52d_c7ee21ec","line":120,"in_reply_to":"5a2ca52d_bba7864e","updated":"2015-10-14 04:54:48.000000000","message":"Done","commit_id":"28793e71ff50f555df5d449549b324364fc4aa5e"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"19800a5b9db5e817e8af97f030870f4e6b77584b","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        LOG.debug(\"zone list: %s\", zone_list)"},{"line_number":142,"context_line":"        for zone in zones.keys():"},{"line_number":143,"context_line":"            # if zone exists, its an update. Delete \u0026 insert"},{"line_number":144,"context_line":"            # TODO(skolathur): This can be optimized to an update call later"},{"line_number":145,"context_line":"            if (zone in zone_list):"},{"line_number":146,"context_line":"                if set(zones[zone]) \u003d\u003d set(zone_list[zone]):"},{"line_number":147,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_ea1c4579","line":144,"updated":"2015-10-26 14:20:32.000000000","message":"I think this \"TODO\" can be removed or changed because you have done the optimization.","commit_id":"5b9656048390894a1b6ac7e59217650772918d62"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"0d28a6e07dcee94666bfcd8b6b3484ce821b3779","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        LOG.debug(\"zone list: %s\", zone_list)"},{"line_number":142,"context_line":"        for zone in zones.keys():"},{"line_number":143,"context_line":"            # if zone exists, its an update. Delete \u0026 insert"},{"line_number":144,"context_line":"            # TODO(skolathur): This can be optimized to an update call later"},{"line_number":145,"context_line":"            if (zone in zone_list):"},{"line_number":146,"context_line":"                if set(zones[zone]) \u003d\u003d set(zone_list[zone]):"},{"line_number":147,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_6534db49","line":144,"in_reply_to":"3a29b11f_ea1c4579","updated":"2015-10-27 01:12:23.000000000","message":"Done","commit_id":"5b9656048390894a1b6ac7e59217650772918d62"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6c30196a1543d3e411d411a329fe606c58be7bb2","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            # If zone exists, its an update. Delete \u0026 insert"},{"line_number":144,"context_line":"            # TODO(skolathur): This still need to be optimized"},{"line_number":145,"context_line":"            # to an update call later. Now we just handled the"},{"line_number":146,"context_line":"            # same zone name with same zone members."},{"line_number":147,"context_line":"            if (zone in zone_list):"},{"line_number":148,"context_line":"                if set(zones[zone]) \u003d\u003d set(zone_list[zone]):"},{"line_number":149,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa80f949_0b413538","line":146,"updated":"2015-11-06 00:06:57.000000000","message":"I\u0027d update the comment as follows.\n\n\"If we are trying to add a zone that already exists on the switch with the same exact members, there is no reason to delete it and re-add it.\"","commit_id":"471bd7924a49d8de840ba378082a5b4e06cf2d34"}]}
