)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":14,"context_line":"LUN to/from storagegroup in batch periodically."},{"line_number":15,"context_line":"This function is disabled in driver by default. An option could"},{"line_number":16,"context_line":"be used to define the interval in seconds for the driver to"},{"line_number":17,"context_line":"accumulate the requests before serve them in batch."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1aaaad5fb713434c47abfd9d33932f06f8f3202b"},{"line_number":20,"context_line":"Closes-Bug: 1420086"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9a80dd14_976a27b1","line":17,"updated":"2015-03-14 09:20:51.000000000","message":"Change \"serve\" to \"service\" or \"serving\".","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"LUN to/from storagegroup in batch periodically."},{"line_number":15,"context_line":"This function is disabled in driver by default. An option could"},{"line_number":16,"context_line":"be used to define the interval in seconds for the driver to"},{"line_number":17,"context_line":"accumulate the requests before serve them in batch."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1aaaad5fb713434c47abfd9d33932f06f8f3202b"},{"line_number":20,"context_line":"Closes-Bug: 1420086"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9a80dd14_5b6527ad","line":17,"in_reply_to":"9a80dd14_976a27b1","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"}],"cinder/volume/drivers/emc/emc_cli_fc.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"93e238cf3ac8722d519f2b1ae9a7809b16f04b23","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \"\"\"EMC FC Driver for VNX using CLI."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    Feature changes:"},{"line_number":34,"context_line":"        6.0.0 - Batch processing for volume attach/detach"},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aa745d1_aa1d0abf","line":34,"updated":"2015-04-16 16:24:19.000000000","message":"did you mean to remove all the old history?","commit_id":"21c6447a0b082a30aeb51299e939284f38d98f0b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"c44790a5fd5b7006ef7c7021194645db57dc4cf1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \"\"\"EMC FC Driver for VNX using CLI."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    Feature changes:"},{"line_number":34,"context_line":"        6.0.0 - Batch processing for volume attach/detach"},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":20,"id":"3ab451fb_d90e14e5","line":34,"in_reply_to":"3ab451fb_26603735","updated":"2015-04-17 02:29:29.000000000","message":"It\u0027s very unusual to remove all the version history like this. I think it is better to keep them for tracking purpose.","commit_id":"21c6447a0b082a30aeb51299e939284f38d98f0b"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"ab7bc23f8e73889c38592a1f2b2f670946aa197b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \"\"\"EMC FC Driver for VNX using CLI."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    Feature changes:"},{"line_number":34,"context_line":"        6.0.0 - Batch processing for volume attach/detach"},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":20,"id":"3ab451fb_a6db27ed","line":34,"in_reply_to":"5aa745d1_408307cd","updated":"2015-04-17 02:10:16.000000000","message":"Hi Xing, this is an indended change. As this fix will go into the L so I changed the version to 6.0.0 which means L release. We plan to not record the version history for the old releases anymore, instead, only the version changes for the current release will be recorded.","commit_id":"21c6447a0b082a30aeb51299e939284f38d98f0b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"1580350063a63c990f9750ff0945d15943a9eb0c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \"\"\"EMC FC Driver for VNX using CLI."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    Feature changes:"},{"line_number":34,"context_line":"        6.0.0 - Batch processing for volume attach/detach"},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5aa745d1_408307cd","line":34,"in_reply_to":"5aa745d1_aa1d0abf","updated":"2015-04-16 17:02:45.000000000","message":"This looks like a rebase error to me although the heading is also changed from \"Version history\" to \"Feature changes\".  It seems to me that the version history should be preserved.","commit_id":"21c6447a0b082a30aeb51299e939284f38d98f0b"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"ab7bc23f8e73889c38592a1f2b2f670946aa197b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \"\"\"EMC FC Driver for VNX using CLI."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    Feature changes:"},{"line_number":34,"context_line":"        6.0.0 - Batch processing for volume attach/detach"},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":20,"id":"3ab451fb_26603735","line":34,"in_reply_to":"5aa745d1_aa1d0abf","updated":"2015-04-17 02:10:16.000000000","message":"Yes, this is an indended change. As this fix will go into the L so I changed the version to 6.0.0 which means L release. We plan to not record the version history for the old releases anymore, instead, only the version changes for the current release will be recorded.","commit_id":"21c6447a0b082a30aeb51299e939284f38d98f0b"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                \u0027By default, the value is False.\u0027),"},{"line_number":115,"context_line":"    cfg.IntOpt(\u0027attach_detach_batch_interval\u0027,"},{"line_number":116,"context_line":"               default\u003d-1,"},{"line_number":117,"context_line":"               help\u003d\u0027Interval by seconds for batch processing of volume \u0027"},{"line_number":118,"context_line":"               \u0027attaching and detaching. Setting it to -1 will disable\u0027"},{"line_number":119,"context_line":"               \u0027the batch processing. By default, the value is -1\u0027),"},{"line_number":120,"context_line":"    cfg.BoolOpt(\u0027force_delete_lun_in_storagegroup\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_78905b43","line":117,"updated":"2015-02-11 22:12:05.000000000","message":"Suggest \u0027Interval in seconds\u0027 here.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                \u0027By default, the value is False.\u0027),"},{"line_number":115,"context_line":"    cfg.IntOpt(\u0027attach_detach_batch_interval\u0027,"},{"line_number":116,"context_line":"               default\u003d-1,"},{"line_number":117,"context_line":"               help\u003d\u0027Interval by seconds for batch processing of volume \u0027"},{"line_number":118,"context_line":"               \u0027attaching and detaching. Setting it to -1 will disable\u0027"},{"line_number":119,"context_line":"               \u0027the batch processing. By default, the value is -1\u0027),"},{"line_number":120,"context_line":"    cfg.BoolOpt(\u0027force_delete_lun_in_storagegroup\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_f15b8151","line":117,"in_reply_to":"da86d52c_78905b43","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":116,"context_line":"               default\u003d-1,"},{"line_number":117,"context_line":"               help\u003d\u0027Interval by seconds for batch processing of volume \u0027"},{"line_number":118,"context_line":"               \u0027attaching and detaching. Setting it to -1 will disable\u0027"},{"line_number":119,"context_line":"               \u0027the batch processing. By default, the value is -1\u0027),"},{"line_number":120,"context_line":"    cfg.BoolOpt(\u0027force_delete_lun_in_storagegroup\u0027,"},{"line_number":121,"context_line":"                default\u003dFalse,"},{"line_number":122,"context_line":"                help\u003d\u0027Delete a LUN even if it is in Storage Groups.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_38aa6371","line":119,"updated":"2015-02-11 22:12:05.000000000","message":"Suggest \u0027.\u0027 to be consistent with other messages.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":116,"context_line":"               default\u003d-1,"},{"line_number":117,"context_line":"               help\u003d\u0027Interval by seconds for batch processing of volume \u0027"},{"line_number":118,"context_line":"               \u0027attaching and detaching. Setting it to -1 will disable\u0027"},{"line_number":119,"context_line":"               \u0027the batch processing. By default, the value is -1\u0027),"},{"line_number":120,"context_line":"    cfg.BoolOpt(\u0027force_delete_lun_in_storagegroup\u0027,"},{"line_number":121,"context_line":"                default\u003dFalse,"},{"line_number":122,"context_line":"                help\u003d\u0027Delete a LUN even if it is in Storage Groups.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_713791ff","line":119,"in_reply_to":"da86d52c_38aa6371","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2537,"context_line":"                auto_registration_done \u003d True"},{"line_number":2538,"context_line":"            else:"},{"line_number":2539,"context_line":"                self._client.connect_host_to_storage_group(hostname,"},{"line_number":2540,"context_line":"                                                           hostname)"},{"line_number":2541,"context_line":""},{"line_number":2542,"context_line":"            sgdata \u003d self._client.get_storage_group(hostname,"},{"line_number":2543,"context_line":"                                                    poll\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_185cbf4a","line":2540,"updated":"2015-02-11 22:12:05.000000000","message":"Why this change?","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2537,"context_line":"                auto_registration_done \u003d True"},{"line_number":2538,"context_line":"            else:"},{"line_number":2539,"context_line":"                self._client.connect_host_to_storage_group(hostname,"},{"line_number":2540,"context_line":"                                                           hostname)"},{"line_number":2541,"context_line":""},{"line_number":2542,"context_line":"            sgdata \u003d self._client.get_storage_group(hostname,"},{"line_number":2543,"context_line":"                                                    poll\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_1103b510","line":2540,"in_reply_to":"da86d52c_185cbf4a","updated":"2015-02-12 05:24:29.000000000","message":"Hmm, I didn\u0027t intent to make this change. Reverted it back. Thansk for pointing this out.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2544,"context_line":""},{"line_number":2545,"context_line":"        if self.itor_auto_reg and not auto_registration_done:"},{"line_number":2546,"context_line":"            new_registerred \u003d self.auto_register_initiator(connector,"},{"line_number":2547,"context_line":"                                                           sgdata)"},{"line_number":2548,"context_line":"            if new_registerred:"},{"line_number":2549,"context_line":"                sgdata \u003d self._client.get_storage_group(hostname,"},{"line_number":2550,"context_line":"                                                        poll\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_9837cffe","line":2547,"updated":"2015-02-11 22:12:05.000000000","message":"Same question here.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2544,"context_line":""},{"line_number":2545,"context_line":"        if self.itor_auto_reg and not auto_registration_done:"},{"line_number":2546,"context_line":"            new_registerred \u003d self.auto_register_initiator(connector,"},{"line_number":2547,"context_line":"                                                           sgdata)"},{"line_number":2548,"context_line":"            if new_registerred:"},{"line_number":2549,"context_line":"                sgdata \u003d self._client.get_storage_group(hostname,"},{"line_number":2550,"context_line":"                                                        poll\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_e101ee05","line":2547,"in_reply_to":"da86d52c_9837cffe","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2702,"context_line":"                                \"emc-connection-\", True)"},{"line_number":2703,"context_line":"        def inner_with_lock():"},{"line_number":2704,"context_line":"            return self.assure_host_access("},{"line_number":2705,"context_line":"                volume, connector)"},{"line_number":2706,"context_line":"        return inner_with_lock()"},{"line_number":2707,"context_line":""},{"line_number":2708,"context_line":"    @log_enter_exit"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_ec3acccb","line":2705,"updated":"2015-02-11 22:12:05.000000000","message":"Think it would be clearer to do this on one line.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2702,"context_line":"                                \"emc-connection-\", True)"},{"line_number":2703,"context_line":"        def inner_with_lock():"},{"line_number":2704,"context_line":"            return self.assure_host_access("},{"line_number":2705,"context_line":"                volume, connector)"},{"line_number":2706,"context_line":"        return inner_with_lock()"},{"line_number":2707,"context_line":""},{"line_number":2708,"context_line":"    @log_enter_exit"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_e1280e88","line":2705,"in_reply_to":"da86d52c_ec3acccb","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2721,"context_line":"        if order.status \u003d\u003d AddHluStatus.OK:"},{"line_number":2722,"context_line":"            return order.hlu, order.payload"},{"line_number":2723,"context_line":"        elif order.status \u003d\u003d AddHluStatus.NO_HLU_LEFT:"},{"line_number":2724,"context_line":"            msg \u003d (_LE(\u0027Reach limitation set by configuration \u0027"},{"line_number":2725,"context_line":"                       \u0027option max_luns_per_storage_group. \u0027"},{"line_number":2726,"context_line":"                       \u0027Operation to add %(vol)s into \u0027"},{"line_number":2727,"context_line":"                       \u0027Storage Group %(sg)s is rejected.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_cc70a8a6","line":2724,"updated":"2015-02-11 22:12:05.000000000","message":"This should be _()","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2721,"context_line":"        if order.status \u003d\u003d AddHluStatus.OK:"},{"line_number":2722,"context_line":"            return order.hlu, order.payload"},{"line_number":2723,"context_line":"        elif order.status \u003d\u003d AddHluStatus.NO_HLU_LEFT:"},{"line_number":2724,"context_line":"            msg \u003d (_LE(\u0027Reach limitation set by configuration \u0027"},{"line_number":2725,"context_line":"                       \u0027option max_luns_per_storage_group. \u0027"},{"line_number":2726,"context_line":"                       \u0027Operation to add %(vol)s into \u0027"},{"line_number":2727,"context_line":"                       \u0027Storage Group %(sg)s is rejected.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_2156a606","line":2724,"in_reply_to":"da86d52c_cc70a8a6","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2729,"context_line":"            LOG.error(msg)"},{"line_number":2730,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":2731,"context_line":"        elif order.status \u003d\u003d AddHluStatus.ABANDON:"},{"line_number":2732,"context_line":"            msg \u003d (_LE(\"Didn\u0027t add %(vol)s into %(sg)s because there is \""},{"line_number":2733,"context_line":"                       \"new request to remove %(vol)s from %(sg)s.\")"},{"line_number":2734,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2735,"context_line":"                      \u0027sg\u0027: hostname})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_8ca150fa","line":2732,"updated":"2015-02-11 22:12:05.000000000","message":"_() here as well.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2729,"context_line":"            LOG.error(msg)"},{"line_number":2730,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":2731,"context_line":"        elif order.status \u003d\u003d AddHluStatus.ABANDON:"},{"line_number":2732,"context_line":"            msg \u003d (_LE(\"Didn\u0027t add %(vol)s into %(sg)s because there is \""},{"line_number":2733,"context_line":"                       \"new request to remove %(vol)s from %(sg)s.\")"},{"line_number":2734,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2735,"context_line":"                      \u0027sg\u0027: hostname})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_4159da33","line":2732,"in_reply_to":"da86d52c_8ca150fa","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2736,"context_line":"            LOG.error(msg)"},{"line_number":2737,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":2738,"context_line":"        else:"},{"line_number":2739,"context_line":"            msg \u003d (_LE(\"Failed to add %(vol)s into %(sg)s.\")"},{"line_number":2740,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2741,"context_line":"                      \u0027sg\u0027: hostname})"},{"line_number":2742,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_0cad60e9","line":2739,"updated":"2015-02-11 22:12:05.000000000","message":"_() here as well.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2736,"context_line":"            LOG.error(msg)"},{"line_number":2737,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":2738,"context_line":"        else:"},{"line_number":2739,"context_line":"            msg \u003d (_LE(\"Failed to add %(vol)s into %(sg)s.\")"},{"line_number":2740,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2741,"context_line":"                      \u0027sg\u0027: hostname})"},{"line_number":2742,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_61433e42","line":2739,"in_reply_to":"da86d52c_0cad60e9","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2847,"context_line":"                         \u0027sgname\u0027: hostname})"},{"line_number":2848,"context_line":"            return order.payload"},{"line_number":2849,"context_line":"        elif order.status \u003d\u003d RemoveHluStatus.ABANDON:"},{"line_number":2850,"context_line":"            msg \u003d (_LE(\"Didn\u0027t remove %(vol)s from %(sg)s because there is \""},{"line_number":2851,"context_line":"                       \"new request to add %(vol)s into %(sg)s.\")"},{"line_number":2852,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2853,"context_line":"                      \u0027sg\u0027: hostname})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_0cc2c084","line":2850,"updated":"2015-02-11 22:12:05.000000000","message":"_()","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2847,"context_line":"                         \u0027sgname\u0027: hostname})"},{"line_number":2848,"context_line":"            return order.payload"},{"line_number":2849,"context_line":"        elif order.status \u003d\u003d RemoveHluStatus.ABANDON:"},{"line_number":2850,"context_line":"            msg \u003d (_LE(\"Didn\u0027t remove %(vol)s from %(sg)s because there is \""},{"line_number":2851,"context_line":"                       \"new request to add %(vol)s into %(sg)s.\")"},{"line_number":2852,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2853,"context_line":"                      \u0027sg\u0027: hostname})"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_a149b661","line":2850,"in_reply_to":"da86d52c_0cc2c084","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":2854,"context_line":"            LOG.error(msg)"},{"line_number":2855,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":2856,"context_line":"        else:"},{"line_number":2857,"context_line":"            msg \u003d (_LE(\"Failed to remove %(vol)s from %(sg)s.\")"},{"line_number":2858,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2859,"context_line":"                      \u0027sg\u0027: hostname})"},{"line_number":2860,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_ac3e1489","line":2857,"updated":"2015-02-11 22:12:05.000000000","message":"_()","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":2854,"context_line":"            LOG.error(msg)"},{"line_number":2855,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":2856,"context_line":"        else:"},{"line_number":2857,"context_line":"            msg \u003d (_LE(\"Failed to remove %(vol)s from %(sg)s.\")"},{"line_number":2858,"context_line":"                   % {\u0027vol\u0027: volume[\u0027name\u0027],"},{"line_number":2859,"context_line":"                      \u0027sg\u0027: hostname})"},{"line_number":2860,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_e1764ea3","line":2857,"in_reply_to":"da86d52c_ac3e1489","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":3282,"context_line":"                        LOG.warning(_LW(\"Storage Group %s is not found. \""},{"line_number":3283,"context_line":"                                        \"terminate_connection() is \""},{"line_number":3284,"context_line":"                                        \"unnecessary.\"),"},{"line_number":3285,"context_line":"                                    connector[\u0027host\u0027])"},{"line_number":3286,"context_line":"                        for alu in remove_ordermap:"},{"line_number":3287,"context_line":"                            LOG.debug(\"LUN %s is not in the storage \""},{"line_number":3288,"context_line":"                                      \"group.\", alu)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_0ce56008","line":3285,"updated":"2015-02-11 22:12:05.000000000","message":"Is this the right data fro Storage Group?  Just want to check given connector[\u0027host\u0027]","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":3282,"context_line":"                        LOG.warning(_LW(\"Storage Group %s is not found. \""},{"line_number":3283,"context_line":"                                        \"terminate_connection() is \""},{"line_number":3284,"context_line":"                                        \"unnecessary.\"),"},{"line_number":3285,"context_line":"                                    connector[\u0027host\u0027])"},{"line_number":3286,"context_line":"                        for alu in remove_ordermap:"},{"line_number":3287,"context_line":"                            LOG.debug(\"LUN %s is not in the storage \""},{"line_number":3288,"context_line":"                                      \"group.\", alu)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_4170faa3","line":3285,"in_reply_to":"da86d52c_0ce56008","updated":"2015-02-12 05:24:29.000000000","message":"Yes, we used connector[\u0027host\u0027] as the storage group name.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":3319,"context_line":"            if order.is_add_order:"},{"line_number":3320,"context_line":"                if alu in remove_ordermap:"},{"line_number":3321,"context_line":"                    LOG.debug(\"There is different order type for alu %s, \""},{"line_number":3322,"context_line":"                              \"the orders in old type will be abandon.\","},{"line_number":3323,"context_line":"                              alu)"},{"line_number":3324,"context_line":""},{"line_number":3325,"context_line":"                    for item in remove_ordermap[alu]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_0c93a05b","line":3322,"updated":"2015-02-11 22:12:05.000000000","message":"abandoned.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":3319,"context_line":"            if order.is_add_order:"},{"line_number":3320,"context_line":"                if alu in remove_ordermap:"},{"line_number":3321,"context_line":"                    LOG.debug(\"There is different order type for alu %s, \""},{"line_number":3322,"context_line":"                              \"the orders in old type will be abandon.\","},{"line_number":3323,"context_line":"                              alu)"},{"line_number":3324,"context_line":""},{"line_number":3325,"context_line":"                    for item in remove_ordermap[alu]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_e19d6ebd","line":3322,"in_reply_to":"da86d52c_0c93a05b","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":3331,"context_line":"            else:"},{"line_number":3332,"context_line":"                if alu in add_ordermap:"},{"line_number":3333,"context_line":"                    LOG.debug(\"There is different order type for alu %s, \""},{"line_number":3334,"context_line":"                              \"the orders in old type will be abandon.\","},{"line_number":3335,"context_line":"                              alu)"},{"line_number":3336,"context_line":"                    for item in add_ordermap[alu]:"},{"line_number":3337,"context_line":"                        item.update_status(queueworker.Status.ABANDON)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_2c9ce469","line":3334,"updated":"2015-02-11 22:12:05.000000000","message":"abandoned","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":3331,"context_line":"            else:"},{"line_number":3332,"context_line":"                if alu in add_ordermap:"},{"line_number":3333,"context_line":"                    LOG.debug(\"There is different order type for alu %s, \""},{"line_number":3334,"context_line":"                              \"the orders in old type will be abandon.\","},{"line_number":3335,"context_line":"                              alu)"},{"line_number":3336,"context_line":"                    for item in add_ordermap[alu]:"},{"line_number":3337,"context_line":"                        item.update_status(queueworker.Status.ABANDON)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_3508a027","line":3334,"in_reply_to":"da86d52c_2c9ce469","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":3377,"context_line":""},{"line_number":3378,"context_line":"    def _execute_addhlu(self, alus, hlus, alu_ordermap, sgdata):"},{"line_number":3379,"context_line":"        if len(alus) \u003d\u003d 0:"},{"line_number":3380,"context_line":"            LOG.debug(\"No add order need to be handled.\")"},{"line_number":3381,"context_line":"            return"},{"line_number":3382,"context_line":""},{"line_number":3383,"context_line":"        # If special handling when SG is empty is required,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_0c7ac023","line":3380,"updated":"2015-02-11 22:12:05.000000000","message":"need -\u003e needs","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":3377,"context_line":""},{"line_number":3378,"context_line":"    def _execute_addhlu(self, alus, hlus, alu_ordermap, sgdata):"},{"line_number":3379,"context_line":"        if len(alus) \u003d\u003d 0:"},{"line_number":3380,"context_line":"            LOG.debug(\"No add order need to be handled.\")"},{"line_number":3381,"context_line":"            return"},{"line_number":3382,"context_line":""},{"line_number":3383,"context_line":"        # If special handling when SG is empty is required,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_61b17e46","line":3380,"in_reply_to":"da86d52c_0c7ac023","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":3480,"context_line":""},{"line_number":3481,"context_line":"        When storage group becomes to be empty, this method will removes"},{"line_number":3482,"context_line":"        storage group if auto remove storage group is enalbed, and builds"},{"line_number":3483,"context_line":"        zone mapping information if FC auto zoning is enalbed. The zone"},{"line_number":3484,"context_line":"        mapping information will be stored in order.payload."},{"line_number":3485,"context_line":"        \"\"\""},{"line_number":3486,"context_line":"        host \u003d connector[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_acfb7479","line":3483,"updated":"2015-02-11 22:12:05.000000000","message":"typo enalbed -\u003e \u0027enabled\u0027","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":3480,"context_line":""},{"line_number":3481,"context_line":"        When storage group becomes to be empty, this method will removes"},{"line_number":3482,"context_line":"        storage group if auto remove storage group is enalbed, and builds"},{"line_number":3483,"context_line":"        zone mapping information if FC auto zoning is enalbed. The zone"},{"line_number":3484,"context_line":"        mapping information will be stored in order.payload."},{"line_number":3485,"context_line":"        \"\"\""},{"line_number":3486,"context_line":"        host \u003d connector[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_c1b22a48","line":3483,"in_reply_to":"da86d52c_acfb7479","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":3498,"context_line":"                    if order:"},{"line_number":3499,"context_line":"                        order.update_status(RemoveHluStatus.OK)"},{"line_number":3500,"context_line":"                else:"},{"line_number":3501,"context_line":"                    LOG.warning(_LW(\u0027Error happens on querying Storage group \u0027"},{"line_number":3502,"context_line":"                                    \u0027%(sg)s after removing LUN %(alu)s from \u0027"},{"line_number":3503,"context_line":"                                    \u0027it. Please check the status of the \u0027"},{"line_number":3504,"context_line":"                                    \u0027Storage group on VNX.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_ac32945b","line":3501,"updated":"2015-02-11 22:12:05.000000000","message":"typo happens -\u003e happened","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":3498,"context_line":"                    if order:"},{"line_number":3499,"context_line":"                        order.update_status(RemoveHluStatus.OK)"},{"line_number":3500,"context_line":"                else:"},{"line_number":3501,"context_line":"                    LOG.warning(_LW(\u0027Error happens on querying Storage group \u0027"},{"line_number":3502,"context_line":"                                    \u0027%(sg)s after removing LUN %(alu)s from \u0027"},{"line_number":3503,"context_line":"                                    \u0027it. Please check the status of the \u0027"},{"line_number":3504,"context_line":"                                    \u0027Storage group on VNX.\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_417e3a6b","line":3501,"in_reply_to":"da86d52c_ac32945b","updated":"2015-02-12 05:24:29.000000000","message":"Done","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    cfg.IntOpt(\u0027attach_detach_batch_interval\u0027,"},{"line_number":118,"context_line":"               default\u003d-1,"},{"line_number":119,"context_line":"               help\u003d\u0027Interval in seconds for batch processing of volume \u0027"},{"line_number":120,"context_line":"               \u0027attaching and detaching. Setting it to -1 will disable\u0027"},{"line_number":121,"context_line":"               \u0027the batch processing. By default, the value is -1.\u0027),"},{"line_number":122,"context_line":"    cfg.BoolOpt(\u0027force_delete_lun_in_storagegroup\u0027,"},{"line_number":123,"context_line":"                default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_d7b73f38","line":120,"updated":"2015-03-14 09:20:51.000000000","message":"Need space after \"disable\".","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    cfg.IntOpt(\u0027attach_detach_batch_interval\u0027,"},{"line_number":118,"context_line":"               default\u003d-1,"},{"line_number":119,"context_line":"               help\u003d\u0027Interval in seconds for batch processing of volume \u0027"},{"line_number":120,"context_line":"               \u0027attaching and detaching. Setting it to -1 will disable\u0027"},{"line_number":121,"context_line":"               \u0027the batch processing. By default, the value is -1.\u0027),"},{"line_number":122,"context_line":"    cfg.BoolOpt(\u0027force_delete_lun_in_storagegroup\u0027,"},{"line_number":123,"context_line":"                default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_3bef93ea","line":120,"in_reply_to":"9a80dd14_d7b73f38","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":2865,"context_line":"        order \u003d Order(alu, True)"},{"line_number":2866,"context_line":"        worker \u003d self.get_batch_worker(connector)"},{"line_number":2867,"context_line":"        worker.submit(order)"},{"line_number":2868,"context_line":"        while (order.status \u003d\u003d AddHluStatus.NEW):"},{"line_number":2869,"context_line":"            LOG.debug(\"Add HLU order for volume %s is in \""},{"line_number":2870,"context_line":"                      \"waiting status.\" % volume[\u0027name\u0027])"},{"line_number":2871,"context_line":"            eventlet.sleep(BATCH_CHECK_INTERVAL)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_f789a36f","line":2868,"updated":"2015-03-14 09:20:51.000000000","message":"() not needed, but also harmless.","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":2865,"context_line":"        order \u003d Order(alu, True)"},{"line_number":2866,"context_line":"        worker \u003d self.get_batch_worker(connector)"},{"line_number":2867,"context_line":"        worker.submit(order)"},{"line_number":2868,"context_line":"        while (order.status \u003d\u003d AddHluStatus.NEW):"},{"line_number":2869,"context_line":"            LOG.debug(\"Add HLU order for volume %s is in \""},{"line_number":2870,"context_line":"                      \"waiting status.\" % volume[\u0027name\u0027])"},{"line_number":2871,"context_line":"            eventlet.sleep(BATCH_CHECK_INTERVAL)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_9bbf9fcf","line":2868,"in_reply_to":"9a80dd14_f789a36f","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":2867,"context_line":"        worker.submit(order)"},{"line_number":2868,"context_line":"        while (order.status \u003d\u003d AddHluStatus.NEW):"},{"line_number":2869,"context_line":"            LOG.debug(\"Add HLU order for volume %s is in \""},{"line_number":2870,"context_line":"                      \"waiting status.\" % volume[\u0027name\u0027])"},{"line_number":2871,"context_line":"            eventlet.sleep(BATCH_CHECK_INTERVAL)"},{"line_number":2872,"context_line":"        LOG.debug(\"An add HLU order for %s is processed.\","},{"line_number":2873,"context_line":"                  volume[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_37efbb1f","line":2870,"updated":"2015-03-14 09:20:51.000000000","message":"Please change % to ,","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":2867,"context_line":"        worker.submit(order)"},{"line_number":2868,"context_line":"        while (order.status \u003d\u003d AddHluStatus.NEW):"},{"line_number":2869,"context_line":"            LOG.debug(\"Add HLU order for volume %s is in \""},{"line_number":2870,"context_line":"                      \"waiting status.\" % volume[\u0027name\u0027])"},{"line_number":2871,"context_line":"            eventlet.sleep(BATCH_CHECK_INTERVAL)"},{"line_number":2872,"context_line":"        LOG.debug(\"An add HLU order for %s is processed.\","},{"line_number":2873,"context_line":"                  volume[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_bbb2a303","line":2870,"in_reply_to":"9a80dd14_37efbb1f","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":2987,"context_line":"        worker.submit(order)"},{"line_number":2988,"context_line":"        while (order.status \u003d\u003d RemoveHluStatus.NEW):"},{"line_number":2989,"context_line":"            LOG.debug(\"Remove HLU order for volume %s is in \""},{"line_number":2990,"context_line":"                      \"waiting status.\" % volume[\u0027name\u0027])"},{"line_number":2991,"context_line":"            eventlet.sleep(BATCH_CHECK_INTERVAL)"},{"line_number":2992,"context_line":"        LOG.debug(\"Remove HLU order for %s is processed.\","},{"line_number":2993,"context_line":"                  volume[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_97df8768","line":2990,"updated":"2015-03-14 09:20:51.000000000","message":"% \u003d\u003e ,","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":2987,"context_line":"        worker.submit(order)"},{"line_number":2988,"context_line":"        while (order.status \u003d\u003d RemoveHluStatus.NEW):"},{"line_number":2989,"context_line":"            LOG.debug(\"Remove HLU order for volume %s is in \""},{"line_number":2990,"context_line":"                      \"waiting status.\" % volume[\u0027name\u0027])"},{"line_number":2991,"context_line":"            eventlet.sleep(BATCH_CHECK_INTERVAL)"},{"line_number":2992,"context_line":"        LOG.debug(\"Remove HLU order for %s is processed.\","},{"line_number":2993,"context_line":"                  volume[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_fbcfbb7c","line":2990,"in_reply_to":"9a80dd14_97df8768","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":2996,"context_line":"        elif (order.status \u003d\u003d RemoveHluStatus.HLU_NOT_IN_SG):"},{"line_number":2997,"context_line":"            LOG.debug(\"Volume %(volname)s is not in storagegroup\""},{"line_number":2998,"context_line":"                      \" %(sgname)s.\""},{"line_number":2999,"context_line":"                      % {\u0027volname\u0027: volume[\u0027name\u0027],"},{"line_number":3000,"context_line":"                         \u0027sgname\u0027: hostname})"},{"line_number":3001,"context_line":"            return order.payload"},{"line_number":3002,"context_line":"        elif order.status \u003d\u003d RemoveHluStatus.ABANDON:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_d7e57f38","line":2999,"updated":"2015-03-14 09:20:51.000000000","message":"% \u003d\u003e ,","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":2996,"context_line":"        elif (order.status \u003d\u003d RemoveHluStatus.HLU_NOT_IN_SG):"},{"line_number":2997,"context_line":"            LOG.debug(\"Volume %(volname)s is not in storagegroup\""},{"line_number":2998,"context_line":"                      \" %(sgname)s.\""},{"line_number":2999,"context_line":"                      % {\u0027volname\u0027: volume[\u0027name\u0027],"},{"line_number":3000,"context_line":"                         \u0027sgname\u0027: hostname})"},{"line_number":3001,"context_line":"            return order.payload"},{"line_number":3002,"context_line":"        elif order.status \u003d\u003d RemoveHluStatus.ABANDON:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_3bc6b368","line":2999,"in_reply_to":"9a80dd14_d7e57f38","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":3380,"context_line":"        try:"},{"line_number":3381,"context_line":"            self._execute(orders)"},{"line_number":3382,"context_line":"        except Exception as ex:"},{"line_number":3383,"context_line":"            msg \u003d _LE(\"Attach/Detach Volume in batch error. %s\") % ex"},{"line_number":3384,"context_line":"            LOG.error(msg)"},{"line_number":3385,"context_line":"            for order in orders:"},{"line_number":3386,"context_line":"                if not order.processed:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_37d6db4f","line":3383,"updated":"2015-03-14 09:20:51.000000000","message":"Use six.text_type(ex) unless you can just pass the exception as an argument to LOG.error(). That would require changing the msg argument to order.update_status() though.","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":3380,"context_line":"        try:"},{"line_number":3381,"context_line":"            self._execute(orders)"},{"line_number":3382,"context_line":"        except Exception as ex:"},{"line_number":3383,"context_line":"            msg \u003d _LE(\"Attach/Detach Volume in batch error. %s\") % ex"},{"line_number":3384,"context_line":"            LOG.error(msg)"},{"line_number":3385,"context_line":"            for order in orders:"},{"line_number":3386,"context_line":"                if not order.processed:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_5bc1a74c","line":3383,"in_reply_to":"9a80dd14_37d6db4f","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":3508,"context_line":"        self._execute_addhlu(addalus, addhlus, add_ordermap, sgdata)"},{"line_number":3509,"context_line":""},{"line_number":3510,"context_line":"    def _execute_addhlu(self, alus, hlus, alu_ordermap, sgdata):"},{"line_number":3511,"context_line":"        if len(alus) \u003d\u003d 0:"},{"line_number":3512,"context_line":"            LOG.debug(\"No add order needs to be handled.\")"},{"line_number":3513,"context_line":"            return"},{"line_number":3514,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_173ab798","line":3511,"updated":"2015-03-14 09:20:51.000000000","message":"Could be just:\n\nif alus:","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":3508,"context_line":"        self._execute_addhlu(addalus, addhlus, add_ordermap, sgdata)"},{"line_number":3509,"context_line":""},{"line_number":3510,"context_line":"    def _execute_addhlu(self, alus, hlus, alu_ordermap, sgdata):"},{"line_number":3511,"context_line":"        if len(alus) \u003d\u003d 0:"},{"line_number":3512,"context_line":"            LOG.debug(\"No add order needs to be handled.\")"},{"line_number":3513,"context_line":"            return"},{"line_number":3514,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_7ba3cbb1","line":3511,"in_reply_to":"9a80dd14_173ab798","updated":"2015-03-16 03:37:45.000000000","message":"changed it to:  if not alus:","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":3625,"context_line":"                storage_group \u003d self.cli._client.get_storage_group(host)"},{"line_number":3626,"context_line":"            except exception.EMCVnxCLICmdError as ex:"},{"line_number":3627,"context_line":"                if ex.kwargs[\"rc\"] \u003d\u003d 83:"},{"line_number":3628,"context_line":"                    LOG.debug(\"Storage Group %s is not found. \","},{"line_number":3629,"context_line":"                              host)"},{"line_number":3630,"context_line":"                    if order:"},{"line_number":3631,"context_line":"                        order.update_status(RemoveHluStatus.OK)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_d753bfdf","line":3628,"updated":"2015-03-14 09:20:51.000000000","message":"Extra space at end of string.","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":3625,"context_line":"                storage_group \u003d self.cli._client.get_storage_group(host)"},{"line_number":3626,"context_line":"            except exception.EMCVnxCLICmdError as ex:"},{"line_number":3627,"context_line":"                if ex.kwargs[\"rc\"] \u003d\u003d 83:"},{"line_number":3628,"context_line":"                    LOG.debug(\"Storage Group %s is not found. \","},{"line_number":3629,"context_line":"                              host)"},{"line_number":3630,"context_line":"                    if order:"},{"line_number":3631,"context_line":"                        order.update_status(RemoveHluStatus.OK)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_9ba6bfbf","line":3628,"in_reply_to":"9a80dd14_d753bfdf","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def add_hlus_to_storage_group(self, hlulist, alulist, sg_name):"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"        hlusstr \u003d \",\".join(map(lambda a: str(a), hlulist))"},{"line_number":1039,"context_line":"        alusstr \u003d \",\".join(map(lambda a: str(a), alulist))"},{"line_number":1040,"context_line":"        command_add_hlu \u003d (\u0027storagegroup\u0027, \u0027-addhlu\u0027,"},{"line_number":1041,"context_line":"                           \u0027-gname\u0027, sg_name,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_c155aafa","line":1038,"updated":"2015-03-16 05:39:03.000000000","message":"Should use six.text_type instead of str.","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":1035,"context_line":""},{"line_number":1036,"context_line":"    def add_hlus_to_storage_group(self, hlulist, alulist, sg_name):"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"        hlusstr \u003d \",\".join(map(lambda a: str(a), hlulist))"},{"line_number":1039,"context_line":"        alusstr \u003d \",\".join(map(lambda a: str(a), alulist))"},{"line_number":1040,"context_line":"        command_add_hlu \u003d (\u0027storagegroup\u0027, \u0027-addhlu\u0027,"},{"line_number":1041,"context_line":"                           \u0027-gname\u0027, sg_name,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_41ab7a74","line":1038,"in_reply_to":"9a80dd14_c155aafa","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"    def add_hlus_to_storage_group(self, hlulist, alulist, sg_name):"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"        hlusstr \u003d \",\".join(map(lambda a: str(a), hlulist))"},{"line_number":1039,"context_line":"        alusstr \u003d \",\".join(map(lambda a: str(a), alulist))"},{"line_number":1040,"context_line":"        command_add_hlu \u003d (\u0027storagegroup\u0027, \u0027-addhlu\u0027,"},{"line_number":1041,"context_line":"                           \u0027-gname\u0027, sg_name,"},{"line_number":1042,"context_line":"                           \u0027-hlus\u0027, hlusstr, \u0027-alus\u0027, alusstr,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_01434242","line":1039,"updated":"2015-03-16 05:39:03.000000000","message":"Same","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"    def add_hlus_to_storage_group(self, hlulist, alulist, sg_name):"},{"line_number":1037,"context_line":""},{"line_number":1038,"context_line":"        hlusstr \u003d \",\".join(map(lambda a: str(a), hlulist))"},{"line_number":1039,"context_line":"        alusstr \u003d \",\".join(map(lambda a: str(a), alulist))"},{"line_number":1040,"context_line":"        command_add_hlu \u003d (\u0027storagegroup\u0027, \u0027-addhlu\u0027,"},{"line_number":1041,"context_line":"                           \u0027-gname\u0027, sg_name,"},{"line_number":1042,"context_line":"                           \u0027-hlus\u0027, hlusstr, \u0027-alus\u0027, alusstr,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_81b812c9","line":1039,"in_reply_to":"9a80dd14_01434242","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":"    def remove_hlus_from_storage_group(self, hlus, sg_name):"},{"line_number":1083,"context_line":""},{"line_number":1084,"context_line":"        hlusstr \u003d \",\".join(map(lambda a: str(a), hlus))"},{"line_number":1085,"context_line":"        command_remove_hlu \u003d (\u0027storagegroup\u0027, \u0027-removehlu\u0027,"},{"line_number":1086,"context_line":"                              \u0027-gname\u0027, sg_name,"},{"line_number":1087,"context_line":"                              \u0027-hlus\u0027, hlusstr, \u0027-verboseStatus\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_4149ba5e","line":1084,"updated":"2015-03-16 05:39:03.000000000","message":"Same","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":1081,"context_line":""},{"line_number":1082,"context_line":"    def remove_hlus_from_storage_group(self, hlus, sg_name):"},{"line_number":1083,"context_line":""},{"line_number":1084,"context_line":"        hlusstr \u003d \",\".join(map(lambda a: str(a), hlus))"},{"line_number":1085,"context_line":"        command_remove_hlu \u003d (\u0027storagegroup\u0027, \u0027-removehlu\u0027,"},{"line_number":1086,"context_line":"                              \u0027-gname\u0027, sg_name,"},{"line_number":1087,"context_line":"                              \u0027-hlus\u0027, hlusstr, \u0027-verboseStatus\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_21c76646","line":1084,"in_reply_to":"9a80dd14_4149ba5e","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":2969,"context_line":"                            hostname, hostname)"},{"line_number":2970,"context_line":"                    except Exception:"},{"line_number":2971,"context_line":"                        LOG.warning(_LW(\"Fail to connect host %(host)s \""},{"line_number":2972,"context_line":"                                        \"back to storage group %(sg)s\"),"},{"line_number":2973,"context_line":"                                    {\u0027host\u0027: hostname, \u0027sg\u0027: hostname})"},{"line_number":2974,"context_line":"            return fc_initiator_target_map"},{"line_number":2975,"context_line":"        return inner_with_lock()"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_a1a0b6f4","line":2972,"updated":"2015-03-16 05:39:03.000000000","message":"Please add the period back.","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":2969,"context_line":"                            hostname, hostname)"},{"line_number":2970,"context_line":"                    except Exception:"},{"line_number":2971,"context_line":"                        LOG.warning(_LW(\"Fail to connect host %(host)s \""},{"line_number":2972,"context_line":"                                        \"back to storage group %(sg)s\"),"},{"line_number":2973,"context_line":"                                    {\u0027host\u0027: hostname, \u0027sg\u0027: hostname})"},{"line_number":2974,"context_line":"            return fc_initiator_target_map"},{"line_number":2975,"context_line":"        return inner_with_lock()"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_01d34204","line":2972,"in_reply_to":"9a80dd14_a1a0b6f4","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":2978,"context_line":"    def _do_terminate_connection_in_batch(self, volume, connector):"},{"line_number":2979,"context_line":"        \"\"\"Disallow connection from connector in batch."},{"line_number":2980,"context_line":""},{"line_number":2981,"context_line":"        Return the initiator target map if the fc zone need to be removed"},{"line_number":2982,"context_line":"        \"\"\""},{"line_number":2983,"context_line":"        hostname \u003d connector[\u0027host\u0027]"},{"line_number":2984,"context_line":"        alu \u003d self.get_lun_id(volume)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_812e5241","line":2981,"updated":"2015-03-16 05:39:03.000000000","message":"Period","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":2978,"context_line":"    def _do_terminate_connection_in_batch(self, volume, connector):"},{"line_number":2979,"context_line":"        \"\"\"Disallow connection from connector in batch."},{"line_number":2980,"context_line":""},{"line_number":2981,"context_line":"        Return the initiator target map if the fc zone need to be removed"},{"line_number":2982,"context_line":"        \"\"\""},{"line_number":2983,"context_line":"        hostname \u003d connector[\u0027host\u0027]"},{"line_number":2984,"context_line":"        alu \u003d self.get_lun_id(volume)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_61d4fee8","line":2981,"in_reply_to":"9a80dd14_812e5241","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3381,"context_line":"            self._execute(orders)"},{"line_number":3382,"context_line":"        except Exception as ex:"},{"line_number":3383,"context_line":"            msg \u003d (_LE(\"Attach/Detach Volume in batch error. %s\")"},{"line_number":3384,"context_line":"                   % six.text_type(ex))"},{"line_number":3385,"context_line":"            LOG.error(msg)"},{"line_number":3386,"context_line":"            for order in orders:"},{"line_number":3387,"context_line":"                if not order.processed:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_e17d4e6e","line":3384,"updated":"2015-03-16 05:39:03.000000000","message":"This msg is not part of the exception, so it should be \",\" rather than \"%\" here.","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3381,"context_line":"            self._execute(orders)"},{"line_number":3382,"context_line":"        except Exception as ex:"},{"line_number":3383,"context_line":"            msg \u003d (_LE(\"Attach/Detach Volume in batch error. %s\")"},{"line_number":3384,"context_line":"                   % six.text_type(ex))"},{"line_number":3385,"context_line":"            LOG.error(msg)"},{"line_number":3386,"context_line":"            for order in orders:"},{"line_number":3387,"context_line":"                if not order.processed:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_213cc62e","line":3384,"in_reply_to":"9a80dd14_e17d4e6e","updated":"2015-03-16 08:43:43.000000000","message":"Hi Xing, \n This msg will be used to update the order.msg(line 3389) so I have to use the %.","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3404,"context_line":"            sgdata \u003d self.cli._prepare_storage_group(connector)"},{"line_number":3405,"context_line":"        else:"},{"line_number":3406,"context_line":"            # If there there is no add order, then we do not need to ensure the"},{"line_number":3407,"context_line":"            # existance of SG"},{"line_number":3408,"context_line":"            self.has_add_order \u003d False"},{"line_number":3409,"context_line":"            try:"},{"line_number":3410,"context_line":"                sgdata \u003d self.cli._client.get_storage_group(connector[\u0027host\u0027])"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_61131e01","line":3407,"updated":"2015-03-16 05:39:03.000000000","message":"existence","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3404,"context_line":"            sgdata \u003d self.cli._prepare_storage_group(connector)"},{"line_number":3405,"context_line":"        else:"},{"line_number":3406,"context_line":"            # If there there is no add order, then we do not need to ensure the"},{"line_number":3407,"context_line":"            # existance of SG"},{"line_number":3408,"context_line":"            self.has_add_order \u003d False"},{"line_number":3409,"context_line":"            try:"},{"line_number":3410,"context_line":"                sgdata \u003d self.cli._client.get_storage_group(connector[\u0027host\u0027])"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_811492a0","line":3407,"in_reply_to":"9a80dd14_61131e01","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3530,"context_line":"            map_item \u003d alu_ordermap.pop(alu)"},{"line_number":3531,"context_line":"            for order in map_item[\u0027orders\u0027]:"},{"line_number":3532,"context_line":"                if order.tried + 1 \u003e\u003d self.cli.max_retries:"},{"line_number":3533,"context_line":"                    # Excced Max Retry, mark status to Failure"},{"line_number":3534,"context_line":"                    order.update_status(AddHluStatus.FAILURE)"},{"line_number":3535,"context_line":"                else:"},{"line_number":3536,"context_line":"                    order.tried \u003d order.tried + 1"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_81ebb211","line":3533,"updated":"2015-03-16 05:39:03.000000000","message":"Exceed","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3530,"context_line":"            map_item \u003d alu_ordermap.pop(alu)"},{"line_number":3531,"context_line":"            for order in map_item[\u0027orders\u0027]:"},{"line_number":3532,"context_line":"                if order.tried + 1 \u003e\u003d self.cli.max_retries:"},{"line_number":3533,"context_line":"                    # Excced Max Retry, mark status to Failure"},{"line_number":3534,"context_line":"                    order.update_status(AddHluStatus.FAILURE)"},{"line_number":3535,"context_line":"                else:"},{"line_number":3536,"context_line":"                    order.tried \u003d order.tried + 1"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_a117d6a1","line":3533,"in_reply_to":"9a80dd14_81ebb211","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3586,"context_line":"                    # Mark status to Failure in retry"},{"line_number":3587,"context_line":"                    order.update_status(RemoveHluStatus.FAILURE)"},{"line_number":3588,"context_line":"                else:"},{"line_number":3589,"context_line":"                    # Resubmit the order because we are didn\u0027t using pool"},{"line_number":3590,"context_line":"                    # in hlu removal. The LUN maybe already removed"},{"line_number":3591,"context_line":"                    order.tried \u003d order.tried + 1"},{"line_number":3592,"context_line":"                    self.submit(order)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_01dfc269","line":3589,"updated":"2015-03-16 05:39:03.000000000","message":"remove \"are\"","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3586,"context_line":"                    # Mark status to Failure in retry"},{"line_number":3587,"context_line":"                    order.update_status(RemoveHluStatus.FAILURE)"},{"line_number":3588,"context_line":"                else:"},{"line_number":3589,"context_line":"                    # Resubmit the order because we are didn\u0027t using pool"},{"line_number":3590,"context_line":"                    # in hlu removal. The LUN maybe already removed"},{"line_number":3591,"context_line":"                    order.tried \u003d order.tried + 1"},{"line_number":3592,"context_line":"                    self.submit(order)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_2123e605","line":3589,"in_reply_to":"9a80dd14_01dfc269","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3611,"context_line":"    def _process_when_sg_is_empty(self, sgdata, connector, order\u003dNone):"},{"line_number":3612,"context_line":"        \"\"\"Removes Storage group and builds zone mapping when necessary."},{"line_number":3613,"context_line":""},{"line_number":3614,"context_line":"        When storage group becomes to be empty, this method will removes"},{"line_number":3615,"context_line":"        storage group if auto remove storage group is enabled, and builds"},{"line_number":3616,"context_line":"        zone mapping information if FC auto zoning is enalbed. The zone"},{"line_number":3617,"context_line":"        mapping information will be stored in order.payload."}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_e1cb8ea1","line":3614,"updated":"2015-03-16 05:39:03.000000000","message":"becomes empty\n\nwill removes -\u003e will remove","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3611,"context_line":"    def _process_when_sg_is_empty(self, sgdata, connector, order\u003dNone):"},{"line_number":3612,"context_line":"        \"\"\"Removes Storage group and builds zone mapping when necessary."},{"line_number":3613,"context_line":""},{"line_number":3614,"context_line":"        When storage group becomes to be empty, this method will removes"},{"line_number":3615,"context_line":"        storage group if auto remove storage group is enabled, and builds"},{"line_number":3616,"context_line":"        zone mapping information if FC auto zoning is enalbed. The zone"},{"line_number":3617,"context_line":"        mapping information will be stored in order.payload."}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_411e1abc","line":3614,"in_reply_to":"9a80dd14_e1cb8ea1","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3676,"context_line":"        inner_with_lock()"},{"line_number":3677,"context_line":""},{"line_number":3678,"context_line":"    def submit(self, order):"},{"line_number":3679,"context_line":"        \"\"\"Adds a order into execution queue.\"\"\""},{"line_number":3680,"context_line":""},{"line_number":3681,"context_line":"        order.prepare_submit()"},{"line_number":3682,"context_line":"        super(BatchAttachDetachBatchWorker, self).submit(order)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_a1bfd6ce","line":3679,"updated":"2015-03-16 05:39:03.000000000","message":"an order","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3676,"context_line":"        inner_with_lock()"},{"line_number":3677,"context_line":""},{"line_number":3678,"context_line":"    def submit(self, order):"},{"line_number":3679,"context_line":"        \"\"\"Adds a order into execution queue.\"\"\""},{"line_number":3680,"context_line":""},{"line_number":3681,"context_line":"        order.prepare_submit()"},{"line_number":3682,"context_line":"        super(BatchAttachDetachBatchWorker, self).submit(order)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_a1cc3636","line":3679,"in_reply_to":"9a80dd14_a1bfd6ce","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3706,"context_line":"    TYPE_REMOVE \u003d 1"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"    def __init__(self, alu, is_add):"},{"line_number":3709,"context_line":"        \"\"\"Generates a Batch Order, either Add order Remove order.\"\"\""},{"line_number":3710,"context_line":""},{"line_number":3711,"context_line":"        self.alu \u003d alu"},{"line_number":3712,"context_line":"        self.type \u003d Order.TYPE_ADD if is_add else Order.TYPE_REMOVE"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_614ebe39","line":3709,"updated":"2015-03-16 05:39:03.000000000","message":"Add \"or\" between \"Add order\" and \"Remove order\".","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3706,"context_line":"    TYPE_REMOVE \u003d 1"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"    def __init__(self, alu, is_add):"},{"line_number":3709,"context_line":"        \"\"\"Generates a Batch Order, either Add order Remove order.\"\"\""},{"line_number":3710,"context_line":""},{"line_number":3711,"context_line":"        self.alu \u003d alu"},{"line_number":3712,"context_line":"        self.type \u003d Order.TYPE_ADD if is_add else Order.TYPE_REMOVE"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_61debedb","line":3709,"in_reply_to":"9a80dd14_614ebe39","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"673d41abfdbd91a015c41675720b545ffd083e93","unresolved":false,"context_lines":[{"line_number":3724,"context_line":"        self.msg \u003d msg"},{"line_number":3725,"context_line":"        self.payload \u003d payload"},{"line_number":3726,"context_line":"        self.hlu \u003d hlu"},{"line_number":3727,"context_line":"        # Note: self.status should be the last member variable to be udpated."},{"line_number":3728,"context_line":"        self.status \u003d newstatus"},{"line_number":3729,"context_line":""},{"line_number":3730,"context_line":"    def prepare_submit(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_a16356af","line":3727,"updated":"2015-03-16 05:39:03.000000000","message":"updated","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"949351b38bde4559283c34f0ec4d1e21b987b1e8","unresolved":false,"context_lines":[{"line_number":3724,"context_line":"        self.msg \u003d msg"},{"line_number":3725,"context_line":"        self.payload \u003d payload"},{"line_number":3726,"context_line":"        self.hlu \u003d hlu"},{"line_number":3727,"context_line":"        # Note: self.status should be the last member variable to be udpated."},{"line_number":3728,"context_line":"        self.status \u003d newstatus"},{"line_number":3729,"context_line":""},{"line_number":3730,"context_line":"    def prepare_submit(self):"}],"source_content_type":"text/x-python","patch_set":15,"id":"9a80dd14_a1f35671","line":3727,"in_reply_to":"9a80dd14_a16356af","updated":"2015-03-16 08:43:43.000000000","message":"Done","commit_id":"999be048b429088f01bb4d14e6a2efbdbb7204d0"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"78df3c50b8dee98fd2c79eeddb4148a56614c2a1","unresolved":false,"context_lines":[{"line_number":1069,"context_line":"        searchout \u003d re.search(added_alus_pattern, out)"},{"line_number":1070,"context_line":"        if searchout is not None:"},{"line_number":1071,"context_line":"            added_alus_str \u003d searchout.group(1).strip()"},{"line_number":1072,"context_line":"            if len(added_alus_str) !\u003d 0:"},{"line_number":1073,"context_line":"                added_alus \u003d map(lambda item: int(item),"},{"line_number":1074,"context_line":"                                 added_alus_str.split(\",\"))"},{"line_number":1075,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":18,"id":"da9b358b_854f826a","line":1072,"updated":"2015-04-01 12:26:43.000000000","message":"Could be simplified to:\n\nif added_alus_str:","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"0082dd345706011f503eb82f8dac4c808d3c6ac4","unresolved":false,"context_lines":[{"line_number":1069,"context_line":"        searchout \u003d re.search(added_alus_pattern, out)"},{"line_number":1070,"context_line":"        if searchout is not None:"},{"line_number":1071,"context_line":"            added_alus_str \u003d searchout.group(1).strip()"},{"line_number":1072,"context_line":"            if len(added_alus_str) !\u003d 0:"},{"line_number":1073,"context_line":"                added_alus \u003d map(lambda item: int(item),"},{"line_number":1074,"context_line":"                                 added_alus_str.split(\",\"))"},{"line_number":1075,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_90c5eb5c","line":1072,"in_reply_to":"da9b358b_854f826a","updated":"2015-04-07 10:15:19.000000000","message":"Done","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"78df3c50b8dee98fd2c79eeddb4148a56614c2a1","unresolved":false,"context_lines":[{"line_number":1114,"context_line":"        searchout \u003d re.search(removed_alus_pattern, out)"},{"line_number":1115,"context_line":"        if searchout is not None:"},{"line_number":1116,"context_line":"            removed_alus_str \u003d searchout.group(1).strip()"},{"line_number":1117,"context_line":"            if len(removed_alus_str) !\u003d 0:"},{"line_number":1118,"context_line":"                removed_hlus \u003d map(lambda item: int(item),"},{"line_number":1119,"context_line":"                                   removed_alus_str.split(\",\"))"},{"line_number":1120,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":18,"id":"da9b358b_056b72b8","line":1117,"updated":"2015-04-01 12:26:43.000000000","message":"Could be simplified to:\n\nif removed_alus_str:","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"0082dd345706011f503eb82f8dac4c808d3c6ac4","unresolved":false,"context_lines":[{"line_number":1114,"context_line":"        searchout \u003d re.search(removed_alus_pattern, out)"},{"line_number":1115,"context_line":"        if searchout is not None:"},{"line_number":1116,"context_line":"            removed_alus_str \u003d searchout.group(1).strip()"},{"line_number":1117,"context_line":"            if len(removed_alus_str) !\u003d 0:"},{"line_number":1118,"context_line":"                removed_hlus \u003d map(lambda item: int(item),"},{"line_number":1119,"context_line":"                                   removed_alus_str.split(\",\"))"},{"line_number":1120,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_70a147a9","line":1117,"in_reply_to":"da9b358b_056b72b8","updated":"2015-04-07 10:15:19.000000000","message":"Done","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"78df3c50b8dee98fd2c79eeddb4148a56614c2a1","unresolved":false,"context_lines":[{"line_number":3109,"context_line":""},{"line_number":3110,"context_line":"    def get_initiator_target_map(self, connector, poll\u003dTrue, sgdata\u003dNone):"},{"line_number":3111,"context_line":"        if not self.zonemanager_lookup_service:"},{"line_number":3112,"context_line":"            # if fc auto zoning is not enalbed"},{"line_number":3113,"context_line":"            return [], {}"},{"line_number":3114,"context_line":"        else:"},{"line_number":3115,"context_line":"            target_wwns \u003d []"}],"source_content_type":"text/x-python","patch_set":18,"id":"da9b358b_65d7de4b","line":3112,"updated":"2015-04-01 12:26:43.000000000","message":"/enalbed/enabled/","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"0082dd345706011f503eb82f8dac4c808d3c6ac4","unresolved":false,"context_lines":[{"line_number":3109,"context_line":""},{"line_number":3110,"context_line":"    def get_initiator_target_map(self, connector, poll\u003dTrue, sgdata\u003dNone):"},{"line_number":3111,"context_line":"        if not self.zonemanager_lookup_service:"},{"line_number":3112,"context_line":"            # if fc auto zoning is not enalbed"},{"line_number":3113,"context_line":"            return [], {}"},{"line_number":3114,"context_line":"        else:"},{"line_number":3115,"context_line":"            target_wwns \u003d []"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_300cdf93","line":3112,"in_reply_to":"da9b358b_65d7de4b","updated":"2015-04-07 10:15:19.000000000","message":"Done","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"78df3c50b8dee98fd2c79eeddb4148a56614c2a1","unresolved":false,"context_lines":[{"line_number":3441,"context_line":"                            for order in orders:"},{"line_number":3442,"context_line":"                                order.update_status("},{"line_number":3443,"context_line":"                                    RemoveHluStatus.HLU_NOT_IN_SG,"},{"line_number":3444,"context_line":"                                    msg\u003d\u0027Storage Group is not found\u0027)"},{"line_number":3445,"context_line":"        if add_ordermap:"},{"line_number":3446,"context_line":"            self._process_add_orders(add_ordermap, sgdata)"},{"line_number":3447,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"da9b358b_255b16f8","line":3444,"updated":"2015-04-01 12:26:43.000000000","message":"Does this need localization markers? A localized string is passed in on line 3417.","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"35b975e796344a71ec6a9fc0cf9609016c7b81bc","unresolved":false,"context_lines":[{"line_number":3441,"context_line":"                            for order in orders:"},{"line_number":3442,"context_line":"                                order.update_status("},{"line_number":3443,"context_line":"                                    RemoveHluStatus.HLU_NOT_IN_SG,"},{"line_number":3444,"context_line":"                                    msg\u003d\u0027Storage Group is not found\u0027)"},{"line_number":3445,"context_line":"        if add_ordermap:"},{"line_number":3446,"context_line":"            self._process_add_orders(add_ordermap, sgdata)"},{"line_number":3447,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_900b308e","line":3444,"in_reply_to":"9aa53dc9_532bed82","updated":"2015-04-09 13:36:46.000000000","message":"Should the other instances of translated strings passed in to update_status be changed then? Seems odd some strings will be translated and others won\u0027t.","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"4da2c3e832764611f89109ef2cb8abc3bf1272f0","unresolved":false,"context_lines":[{"line_number":3441,"context_line":"                            for order in orders:"},{"line_number":3442,"context_line":"                                order.update_status("},{"line_number":3443,"context_line":"                                    RemoveHluStatus.HLU_NOT_IN_SG,"},{"line_number":3444,"context_line":"                                    msg\u003d\u0027Storage Group is not found\u0027)"},{"line_number":3445,"context_line":"        if add_ordermap:"},{"line_number":3446,"context_line":"            self._process_add_orders(add_ordermap, sgdata)"},{"line_number":3447,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_432dcda6","line":3444,"in_reply_to":"9aa53dc9_900b308e","updated":"2015-04-10 01:39:16.000000000","message":"You are right. Previously, some message is not logged/used later. So I didn\u0027t add the translate marker to some of them. Now I removed those useless messages. Then all the ramaining ones should have the translate marker.  In the latest patch, the message will be translated as level _LE() and be logged as Error later.\n\nThanks.","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"0082dd345706011f503eb82f8dac4c808d3c6ac4","unresolved":false,"context_lines":[{"line_number":3441,"context_line":"                            for order in orders:"},{"line_number":3442,"context_line":"                                order.update_status("},{"line_number":3443,"context_line":"                                    RemoveHluStatus.HLU_NOT_IN_SG,"},{"line_number":3444,"context_line":"                                    msg\u003d\u0027Storage Group is not found\u0027)"},{"line_number":3445,"context_line":"        if add_ordermap:"},{"line_number":3446,"context_line":"            self._process_add_orders(add_ordermap, sgdata)"},{"line_number":3447,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_532bed82","line":3444,"in_reply_to":"da9b358b_255b16f8","updated":"2015-04-07 10:15:19.000000000","message":"This msg will not be logged, instead the log message will be built against to the \u0027Status\u0027. I am going to remove it.","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"76df4ff7cdcd0713e0186f7a666120540cbcc362","unresolved":false,"context_lines":[{"line_number":1778,"context_line":""},{"line_number":1779,"context_line":"        self.attach_detach_batch_interval \u003d ("},{"line_number":1780,"context_line":"            self.configuration.attach_detach_batch_interval)"},{"line_number":1781,"context_line":"        if self.attach_detach_batch_interval \u003c 0:"},{"line_number":1782,"context_line":"            self.do_initialize_connection \u003d self._do_initialize_connection"},{"line_number":1783,"context_line":"            self.do_terminate_connection \u003d self._do_terminate_connection"},{"line_number":1784,"context_line":"            self.hlu_cache \u003d {}"}],"source_content_type":"text/x-python","patch_set":22,"id":"bab921fb_8358effb","line":1781,"updated":"2015-04-23 19:31:22.000000000","message":"Need to check if it is 0. Zero interval doesn\u0027t looks like a valid value","commit_id":"3d4bc9ddbc12258093a0e4e7936938b0f8ca3136"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"76df4ff7cdcd0713e0186f7a666120540cbcc362","unresolved":false,"context_lines":[{"line_number":3468,"context_line":"    def execute(self, orders):"},{"line_number":3469,"context_line":"        try:"},{"line_number":3470,"context_line":"            self._execute(orders)"},{"line_number":3471,"context_line":"        except Exception as ex:"},{"line_number":3472,"context_line":"            msg \u003d (_LE(\"Attach/Detach Volume in batch error. %s\")"},{"line_number":3473,"context_line":"                   % six.text_type(ex))"},{"line_number":3474,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":22,"id":"bab921fb_231ec30c","line":3471,"updated":"2015-04-23 19:31:22.000000000","message":"Can we handle more specific exception here?","commit_id":"3d4bc9ddbc12258093a0e4e7936938b0f8ca3136"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"76df4ff7cdcd0713e0186f7a666120540cbcc362","unresolved":false,"context_lines":[{"line_number":3471,"context_line":"        except Exception as ex:"},{"line_number":3472,"context_line":"            msg \u003d (_LE(\"Attach/Detach Volume in batch error. %s\")"},{"line_number":3473,"context_line":"                   % six.text_type(ex))"},{"line_number":3474,"context_line":"            LOG.error(msg)"},{"line_number":3475,"context_line":"            for order in orders:"},{"line_number":3476,"context_line":"                if not order.processed:"},{"line_number":3477,"context_line":"                    order.update_status(queueworker.Status.FAILURE,"}],"source_content_type":"text/x-python","patch_set":22,"id":"bab921fb_c3d38737","line":3474,"updated":"2015-04-23 19:31:22.000000000","message":"Should be:\nLog.exception(LE(\"Attach/Detach Volume in batch error.\")","commit_id":"3d4bc9ddbc12258093a0e4e7936938b0f8ca3136"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"76df4ff7cdcd0713e0186f7a666120540cbcc362","unresolved":false,"context_lines":[{"line_number":3476,"context_line":"                if not order.processed:"},{"line_number":3477,"context_line":"                    order.update_status(queueworker.Status.FAILURE,"},{"line_number":3478,"context_line":"                                        msg\u003dmsg)"},{"line_number":3479,"context_line":"            return"},{"line_number":3480,"context_line":""},{"line_number":3481,"context_line":"    @log_enter_exit"},{"line_number":3482,"context_line":"    def _execute(self, orders):"}],"source_content_type":"text/x-python","patch_set":22,"id":"bab921fb_63e27b05","line":3479,"updated":"2015-04-23 19:31:22.000000000","message":"return statement is not needed here","commit_id":"3d4bc9ddbc12258093a0e4e7936938b0f8ca3136"}],"cinder/volume/drivers/emc/queueworker.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"75bd560730f7d111be103a056efccc1c77e29f37","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                if len(orders) \u003e 0:"},{"line_number":61,"context_line":"                    self.execute(orders)"},{"line_number":62,"context_line":"            except Exception as ex:"},{"line_number":63,"context_line":"                LOG.debug(\"Execute exception %s\" % ex)"},{"line_number":64,"context_line":"            finally:"},{"line_number":65,"context_line":"                end \u003d time.time()"},{"line_number":66,"context_line":"                delay \u003d end - start - self.sleep_interval"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_cc3d08df","line":63,"updated":"2015-02-11 22:12:05.000000000","message":"Do you really want to catch all exceptions and just do a debug.  Seems like you should at least do a LOG.warning here.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"808b60faea0b24b4a2978dda322ae8bef7a325c8","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                if len(orders) \u003e 0:"},{"line_number":61,"context_line":"                    self.execute(orders)"},{"line_number":62,"context_line":"            except Exception as ex:"},{"line_number":63,"context_line":"                LOG.debug(\"Execute exception %s\" % ex)"},{"line_number":64,"context_line":"            finally:"},{"line_number":65,"context_line":"                end \u003d time.time()"},{"line_number":66,"context_line":"                delay \u003d end - start - self.sleep_interval"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_21f22606","line":63,"in_reply_to":"da86d52c_cc3d08df","updated":"2015-02-12 05:24:29.000000000","message":"Yes, good catch! I will change it.","commit_id":"1837bcb5f89a0d058758fa2630ca0c72d8804f10"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            start \u003d time.time()"},{"line_number":59,"context_line":"            try:"},{"line_number":60,"context_line":"                orders \u003d self.get_pending_orders()"},{"line_number":61,"context_line":"                if len(orders) \u003e 0:"},{"line_number":62,"context_line":"                    self.execute(orders)"},{"line_number":63,"context_line":"            except Exception as ex:"},{"line_number":64,"context_line":"                LOG.warning(_LW(\"Execute exception %s.\") % ex)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_9774e768","line":61,"updated":"2015-03-14 09:20:51.000000000","message":"Could be just \"if orders:\"","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"            start \u003d time.time()"},{"line_number":59,"context_line":"            try:"},{"line_number":60,"context_line":"                orders \u003d self.get_pending_orders()"},{"line_number":61,"context_line":"                if len(orders) \u003e 0:"},{"line_number":62,"context_line":"                    self.execute(orders)"},{"line_number":63,"context_line":"            except Exception as ex:"},{"line_number":64,"context_line":"                LOG.warning(_LW(\"Execute exception %s.\") % ex)"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_dbacb7a1","line":61,"in_reply_to":"9a80dd14_9774e768","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6e666d8fcdb2c5a716ab88384b66e28bde5a2318","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                if len(orders) \u003e 0:"},{"line_number":62,"context_line":"                    self.execute(orders)"},{"line_number":63,"context_line":"            except Exception as ex:"},{"line_number":64,"context_line":"                LOG.warning(_LW(\"Execute exception %s.\") % ex)"},{"line_number":65,"context_line":"            finally:"},{"line_number":66,"context_line":"                end \u003d time.time()"},{"line_number":67,"context_line":"                delay \u003d end - start - self.sleep_interval"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_b76f2b91","line":64,"updated":"2015-03-14 09:20:51.000000000","message":"% \u003d\u003e ,","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"a188f468537d0d0ea0616996a4d3734671f4c13e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                if len(orders) \u003e 0:"},{"line_number":62,"context_line":"                    self.execute(orders)"},{"line_number":63,"context_line":"            except Exception as ex:"},{"line_number":64,"context_line":"                LOG.warning(_LW(\"Execute exception %s.\") % ex)"},{"line_number":65,"context_line":"            finally:"},{"line_number":66,"context_line":"                end \u003d time.time()"},{"line_number":67,"context_line":"                delay \u003d end - start - self.sleep_interval"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_fb96db4a","line":64,"in_reply_to":"9a80dd14_b76f2b91","updated":"2015-03-16 03:37:45.000000000","message":"Done","commit_id":"eb51cc76a28483ba05452d76bd33f38cc73dec8f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"78df3c50b8dee98fd2c79eeddb4148a56614c2a1","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                    self.execute(orders)"},{"line_number":64,"context_line":"            except Exception as ex:"},{"line_number":65,"context_line":"                LOG.warning(_LW(\"Execute exception %s.\"),"},{"line_number":66,"context_line":"                            six.text_type(ex))"},{"line_number":67,"context_line":"            finally:"},{"line_number":68,"context_line":"                end \u003d time.time()"},{"line_number":69,"context_line":"                delay \u003d end - start - self.sleep_interval"}],"source_content_type":"text/x-python","patch_set":18,"id":"da9b358b_e5cd2e86","line":66,"updated":"2015-04-01 12:26:43.000000000","message":"six.text_type not needed here as it is being passed in to the logger which will take care of it.","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":9988,"name":"Tina Tang","email":"tina.tang@emc.com","username":"Tina"},"change_message_id":"0082dd345706011f503eb82f8dac4c808d3c6ac4","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                    self.execute(orders)"},{"line_number":64,"context_line":"            except Exception as ex:"},{"line_number":65,"context_line":"                LOG.warning(_LW(\"Execute exception %s.\"),"},{"line_number":66,"context_line":"                            six.text_type(ex))"},{"line_number":67,"context_line":"            finally:"},{"line_number":68,"context_line":"                end \u003d time.time()"},{"line_number":69,"context_line":"                delay \u003d end - start - self.sleep_interval"}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa53dc9_c7628dd8","line":66,"in_reply_to":"da9b358b_e5cd2e86","updated":"2015-04-07 10:15:19.000000000","message":"Done","commit_id":"b03c3a4de43e5dfed8c76f930faff063859a0a60"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"76df4ff7cdcd0713e0186f7a666120540cbcc362","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                orders \u003d self.get_pending_orders()"},{"line_number":61,"context_line":"                if orders:"},{"line_number":62,"context_line":"                    self.execute(orders)"},{"line_number":63,"context_line":"            except Exception as ex:"},{"line_number":64,"context_line":"                LOG.warning(_LW(\"Execute exception %s.\"),"},{"line_number":65,"context_line":"                            ex)"},{"line_number":66,"context_line":"            finally:"}],"source_content_type":"text/x-python","patch_set":22,"id":"bab921fb_c3b6e7db","line":63,"updated":"2015-04-23 19:31:22.000000000","message":"Could we handle more specific exception here?","commit_id":"3d4bc9ddbc12258093a0e4e7936938b0f8ca3136"}]}
