)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4e13a8f908de596412700816786b68999d8c2d5c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enhance VNX Cinder volume creation logic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When limited disks are missing and Storage Pool is not Offline,"},{"line_number":10,"context_line":"the VNX LUN created on that Storage Pool won\u0027t be in Ready State"},{"line_number":11,"context_line":"but the LUN is still OK for IO access."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a6ced46_26b41434","line":9,"updated":"2015-03-26 03:36:49.000000000","message":"What does \"limited disks are missing\" mean?  Do you mean there are not enough disks to create the LUN?  Will it become non-missing if you wait long enough and disks will start to show up?  Please clarify.","commit_id":"8cf40b54d196acd3103a9efb6b21c72f44908a1b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"b4a2131e02f873bbf8770d4249f94dd19915c8c9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Enhance VNX Cinder volume creation logic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When limited disks are missing and Storage Pool is not Offline,"},{"line_number":10,"context_line":"the VNX LUN created on that Storage Pool won\u0027t be in Ready State"},{"line_number":11,"context_line":"but the LUN is still OK for IO access."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a6ced46_cc96ff4b","line":9,"in_reply_to":"1a6ced46_26b41434","updated":"2015-03-26 05:55:53.000000000","message":"NO, sysadmin still can create new LUN in Pool with missing Disk.  \n\"limited disks are missing\" means sometimes, sysadmin needs to remove broken disks and replace with some new disks. Before sysadmin replaces the disks and disks are fully rebuild , the Pool would be \"Faulted\" state, and all LUNs created on this Pool would be in \"Faulted\" state as well. our currently logic will wait LUN to get \"Ready\" till time out.\nSo, this new change will allow Cinder to create volume during this disk replacement, thus achieving higher availability for Cinder","commit_id":"8cf40b54d196acd3103a9efb6b21c72f44908a1b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4e13a8f908de596412700816786b68999d8c2d5c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Current implementation of create_volume in VNX Cinder Driver will"},{"line_number":14,"context_line":"wait until the VNX LUN gets into Ready State or timeout."},{"line_number":15,"context_line":"Thus the new volume in the back end corresponding to the pool will"},{"line_number":16,"context_line":"stuck at creating state for a long time before disks are replaced."},{"line_number":17,"context_line":"This reduces the high availability of the back end."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a6ced46_a6f644f7","line":15,"updated":"2015-03-26 03:36:49.000000000","message":"will be stuck","commit_id":"8cf40b54d196acd3103a9efb6b21c72f44908a1b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"b4a2131e02f873bbf8770d4249f94dd19915c8c9","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Current implementation of create_volume in VNX Cinder Driver will"},{"line_number":14,"context_line":"wait until the VNX LUN gets into Ready State or timeout."},{"line_number":15,"context_line":"Thus the new volume in the back end corresponding to the pool will"},{"line_number":16,"context_line":"stuck at creating state for a long time before disks are replaced."},{"line_number":17,"context_line":"This reduces the high availability of the back end."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a6ced46_2c9a336e","line":15,"in_reply_to":"1a6ced46_a6f644f7","updated":"2015-03-26 05:55:53.000000000","message":"Done","commit_id":"8cf40b54d196acd3103a9efb6b21c72f44908a1b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"09c0271e2ad0b81f3952019239a9fc6c4510b62c","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When limited disks are missing and Storage Pool is not Offline,"},{"line_number":10,"context_line":"the VNX LUN created on that Storage Pool won\u0027t be in Ready State"},{"line_number":11,"context_line":"but the LUN is still OK for IO access."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Current implementation of create_volume in VNX Cinder Driver will"},{"line_number":14,"context_line":"wait until the VNX LUN gets into Ready State or timeout."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa963961_a16c1f9d","line":11,"updated":"2015-03-27 04:01:37.000000000","message":"I found \"limited disks are missing\" very confusing.  How about reword this with the explanation you provided in your reply in the previous patch?\n\nSometimes sysadmin needs to remove broken disks and replace them with some new disks. Before the disks are replaced and fully rebuilt, the pool would be in \"Faulted\" state, and all LUNs created in this pool would be in \"Faulted\" state as well.  A LUN in this \"Faulted\" state is still OK for IO access.","commit_id":"9fb07876b60326fd78f11bef7495fd2c031e4fbf"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"8b7c42d9d0b47f637e1e72793c0a09855902cd97","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When limited disks are missing and Storage Pool is not Offline,"},{"line_number":10,"context_line":"the VNX LUN created on that Storage Pool won\u0027t be in Ready State"},{"line_number":11,"context_line":"but the LUN is still OK for IO access."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Current implementation of create_volume in VNX Cinder Driver will"},{"line_number":14,"context_line":"wait until the VNX LUN gets into Ready State or timeout."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa963961_5ce9bc19","line":11,"in_reply_to":"fa963961_a16c1f9d","updated":"2015-03-27 05:21:34.000000000","message":"Done","commit_id":"9fb07876b60326fd78f11bef7495fd2c031e4fbf"}],"cinder/volume/drivers/emc/emc_vnx_cli.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"4e13a8f908de596412700816786b68999d8c2d5c","unresolved":false,"context_lines":[{"line_number":417,"context_line":"            lun_state \u003d lun_data[self.LUN_STATE.key]"},{"line_number":418,"context_line":"            if lun_state \u003d\u003d \u0027Initializing\u0027:"},{"line_number":419,"context_line":"                return False"},{"line_number":420,"context_line":"            elif lun_state in [\u0027Ready\u0027, \u0027Faulted\u0027]:"},{"line_number":421,"context_line":"                return lun_data[self.LUN_OPERATION.key] \u003d\u003d \u0027None\u0027"},{"line_number":422,"context_line":"            # Raise exception if lun state is Offline, Invalid, Destroying"},{"line_number":423,"context_line":"            # or other unexpected states"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6ced46_a671e4a9","line":420,"updated":"2015-03-26 03:36:49.000000000","message":"If lun_state is Faulted, this could still return True? What does this mean? Can you add some comments here?","commit_id":"8cf40b54d196acd3103a9efb6b21c72f44908a1b"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"b4a2131e02f873bbf8770d4249f94dd19915c8c9","unresolved":false,"context_lines":[{"line_number":417,"context_line":"            lun_state \u003d lun_data[self.LUN_STATE.key]"},{"line_number":418,"context_line":"            if lun_state \u003d\u003d \u0027Initializing\u0027:"},{"line_number":419,"context_line":"                return False"},{"line_number":420,"context_line":"            elif lun_state in [\u0027Ready\u0027, \u0027Faulted\u0027]:"},{"line_number":421,"context_line":"                return lun_data[self.LUN_OPERATION.key] \u003d\u003d \u0027None\u0027"},{"line_number":422,"context_line":"            # Raise exception if lun state is Offline, Invalid, Destroying"},{"line_number":423,"context_line":"            # or other unexpected states"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6ced46_4cb84fc8","line":420,"in_reply_to":"1a6ced46_a671e4a9","updated":"2015-03-26 05:55:53.000000000","message":"Done","commit_id":"8cf40b54d196acd3103a9efb6b21c72f44908a1b"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"09c0271e2ad0b81f3952019239a9fc6c4510b62c","unresolved":false,"context_lines":[{"line_number":417,"context_line":"            lun_state \u003d lun_data[self.LUN_STATE.key]"},{"line_number":418,"context_line":"            if lun_state \u003d\u003d \u0027Initializing\u0027:"},{"line_number":419,"context_line":"                return False"},{"line_number":420,"context_line":"            # Lun in Ready or Faluted state is eligible for IO access,"},{"line_number":421,"context_line":"            # so if no lun operation, return success."},{"line_number":422,"context_line":"            elif lun_state in [\u0027Ready\u0027, \u0027Faulted\u0027]:"},{"line_number":423,"context_line":"                return lun_data[self.LUN_OPERATION.key] \u003d\u003d \u0027None\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_e6891dcc","line":420,"updated":"2015-03-27 04:01:37.000000000","message":"typo: Faluted-\u003eFaulted","commit_id":"9fb07876b60326fd78f11bef7495fd2c031e4fbf"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"8b7c42d9d0b47f637e1e72793c0a09855902cd97","unresolved":false,"context_lines":[{"line_number":417,"context_line":"            lun_state \u003d lun_data[self.LUN_STATE.key]"},{"line_number":418,"context_line":"            if lun_state \u003d\u003d \u0027Initializing\u0027:"},{"line_number":419,"context_line":"                return False"},{"line_number":420,"context_line":"            # Lun in Ready or Faluted state is eligible for IO access,"},{"line_number":421,"context_line":"            # so if no lun operation, return success."},{"line_number":422,"context_line":"            elif lun_state in [\u0027Ready\u0027, \u0027Faulted\u0027]:"},{"line_number":423,"context_line":"                return lun_data[self.LUN_OPERATION.key] \u003d\u003d \u0027None\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa963961_bcda0877","line":420,"in_reply_to":"fa963961_e6891dcc","updated":"2015-03-27 05:21:34.000000000","message":"Done","commit_id":"9fb07876b60326fd78f11bef7495fd2c031e4fbf"}]}
