)]}'
{"cinder/volume/drivers/lvm.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2359aacb36ca1e3bd54f115886b9cdbb94b467e8","unresolved":false,"context_lines":[{"line_number":735,"context_line":"        if volume[\u0027status\u0027] not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":736,"context_line":"                                    \u0027migrating\u0027):"},{"line_number":737,"context_line":"            LOG.debug("},{"line_number":738,"context_line":"                \u0027Only available volumes can be migrated using backend \u0027"},{"line_number":739,"context_line":"                \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":740,"context_line":"            return false_ret"},{"line_number":741,"context_line":"        if \u0027location_info\u0027 not in host[\u0027capabilities\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_d165df1e","line":738,"range":{"start_line":738,"start_character":21,"end_line":738,"end_character":31},"updated":"2019-03-21 17:14:43.000000000","message":"This message is misleading as it could be available, retyping, maintenance or migrating.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":29885,"name":"Aleksei Kazaev","email":"kazaev.alex@gmail.com","username":"a.kazaev"},"change_message_id":"7e01f7ce6d529b1202c40369db2de7395d29b5b3","unresolved":false,"context_lines":[{"line_number":735,"context_line":"        if volume[\u0027status\u0027] not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":736,"context_line":"                                    \u0027migrating\u0027):"},{"line_number":737,"context_line":"            LOG.debug("},{"line_number":738,"context_line":"                \u0027Only available volumes can be migrated using backend \u0027"},{"line_number":739,"context_line":"                \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":740,"context_line":"            return false_ret"},{"line_number":741,"context_line":"        if \u0027location_info\u0027 not in host[\u0027capabilities\u0027]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_4654a621","line":738,"range":{"start_line":738,"start_character":21,"end_line":738,"end_character":31},"in_reply_to":"5fc1f717_d165df1e","updated":"2019-03-24 19:32:04.000000000","message":"I think it could be better to check previous_status. It shows real status volume had before migration or retyping. And message seems actual after that.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"}],"cinder/volume/drivers/nexenta/nfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2359aacb36ca1e3bd54f115886b9cdbb94b467e8","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if volume[\u0027status\u0027] not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":149,"context_line":"                                    \u0027migrating\u0027):"},{"line_number":150,"context_line":"            LOG.debug("},{"line_number":151,"context_line":"                \u0027Only available volumes can be migrated using backend \u0027"},{"line_number":152,"context_line":"                \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":153,"context_line":"            return false_ret"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_3176a3da","line":151,"range":{"start_line":151,"start_character":22,"end_line":151,"end_character":31},"updated":"2019-03-21 17:14:43.000000000","message":"This message is misleading as it could be available, retyping, maintenance or migrating.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":29885,"name":"Aleksei Kazaev","email":"kazaev.alex@gmail.com","username":"a.kazaev"},"change_message_id":"7e01f7ce6d529b1202c40369db2de7395d29b5b3","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        if volume[\u0027status\u0027] not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":149,"context_line":"                                    \u0027migrating\u0027):"},{"line_number":150,"context_line":"            LOG.debug("},{"line_number":151,"context_line":"                \u0027Only available volumes can be migrated using backend \u0027"},{"line_number":152,"context_line":"                \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":153,"context_line":"            return false_ret"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_e630320a","line":151,"range":{"start_line":151,"start_character":22,"end_line":151,"end_character":31},"in_reply_to":"5fc1f717_3176a3da","updated":"2019-03-24 19:32:04.000000000","message":"Done","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2359aacb36ca1e3bd54f115886b9cdbb94b467e8","unresolved":false,"context_lines":[{"line_number":1753,"context_line":""},{"line_number":1754,"context_line":"        if volume.status not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":1755,"context_line":"                                 \u0027migrating\u0027):"},{"line_number":1756,"context_line":"            LOG.debug(\u0027Only available volumes can be migrated using backend \u0027"},{"line_number":1757,"context_line":"                      \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":1758,"context_line":"            return refuse_to_migrate"},{"line_number":1759,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_f17fbba8","line":1756,"range":{"start_line":1756,"start_character":27,"end_line":1756,"end_character":37},"updated":"2019-03-21 17:14:43.000000000","message":"This message is misleading as it could be available, retyping, maintenance or migrating.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":29885,"name":"Aleksei Kazaev","email":"kazaev.alex@gmail.com","username":"a.kazaev"},"change_message_id":"7e01f7ce6d529b1202c40369db2de7395d29b5b3","unresolved":false,"context_lines":[{"line_number":1753,"context_line":""},{"line_number":1754,"context_line":"        if volume.status not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":1755,"context_line":"                                 \u0027migrating\u0027):"},{"line_number":1756,"context_line":"            LOG.debug(\u0027Only available volumes can be migrated using backend \u0027"},{"line_number":1757,"context_line":"                      \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":1758,"context_line":"            return refuse_to_migrate"},{"line_number":1759,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_06345efa","line":1756,"range":{"start_line":1756,"start_character":27,"end_line":1756,"end_character":37},"in_reply_to":"5fc1f717_f17fbba8","updated":"2019-03-24 19:32:04.000000000","message":"Done","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8ad8dee9e96e22515691d9e22dcaef476c5848f6","unresolved":false,"context_lines":[{"line_number":1768,"context_line":""},{"line_number":1769,"context_line":"        refuse_to_migrate \u003d (False, None)"},{"line_number":1770,"context_line":""},{"line_number":1771,"context_line":"        if volume.previous_status !\u003d \u0027available\u0027:"},{"line_number":1772,"context_line":"            LOG.debug(\u0027Only available volumes can be migrated using backend \u0027"},{"line_number":1773,"context_line":"                      \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":1774,"context_line":"            return refuse_to_migrate"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_b9d59b45","line":1771,"updated":"2019-04-15 14:24:31.000000000","message":"What about the check for \"maintenance\"?\n\nShouldn\u0027t this also check for volume[\u0027status\u0027] \u003d\u003d \u0027migrating\u0027?","commit_id":"2626f4170dde9e2df9b5623b79d8f179933a85b2"}],"cinder/volume/drivers/zfssa/zfssanfs.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2359aacb36ca1e3bd54f115886b9cdbb94b467e8","unresolved":false,"context_lines":[{"line_number":614,"context_line":"        if volume[\u0027status\u0027] not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":615,"context_line":"                                    \u0027migrating\u0027):"},{"line_number":616,"context_line":"            LOG.debug("},{"line_number":617,"context_line":"                \u0027Only available volumes can be migrated using backend \u0027"},{"line_number":618,"context_line":"                \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":619,"context_line":"            return default_ret"},{"line_number":620,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_d14e3f95","line":617,"range":{"start_line":617,"start_character":21,"end_line":617,"end_character":30},"updated":"2019-03-21 17:14:43.000000000","message":"This message is misleading as it could be available, retyping, maintenance or migrating.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":29885,"name":"Aleksei Kazaev","email":"kazaev.alex@gmail.com","username":"a.kazaev"},"change_message_id":"7e01f7ce6d529b1202c40369db2de7395d29b5b3","unresolved":false,"context_lines":[{"line_number":614,"context_line":"        if volume[\u0027status\u0027] not in (\u0027available\u0027, \u0027retyping\u0027, \u0027maintenance\u0027,"},{"line_number":615,"context_line":"                                    \u0027migrating\u0027):"},{"line_number":616,"context_line":"            LOG.debug("},{"line_number":617,"context_line":"                \u0027Only available volumes can be migrated using backend \u0027"},{"line_number":618,"context_line":"                \u0027assisted migration. Falling back to generic migration.\u0027)"},{"line_number":619,"context_line":"            return default_ret"},{"line_number":620,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_a63a2ae4","line":617,"range":{"start_line":617,"start_character":21,"end_line":617,"end_character":30},"in_reply_to":"5fc1f717_d14e3f95","updated":"2019-03-24 19:32:04.000000000","message":"Done","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8ad8dee9e96e22515691d9e22dcaef476c5848f6","unresolved":false,"context_lines":[{"line_number":611,"context_line":"        lcfg \u003d self.configuration"},{"line_number":612,"context_line":"        default_ret \u003d (False, None)"},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"        if volume[\u0027previous_status\u0027] !\u003d \"available\":"},{"line_number":615,"context_line":"            LOG.debug("},{"line_number":616,"context_line":"                \u0027Only available volumes can be migrated using backend \u0027"},{"line_number":617,"context_line":"                \u0027assisted migration. Falling back to generic migration.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_99d21f5c","line":614,"updated":"2019-04-15 14:24:31.000000000","message":"Shouldn\u0027t this also check for volume[\u0027status\u0027] \u003d\u003d \u0027migrating\u0027?","commit_id":"2626f4170dde9e2df9b5623b79d8f179933a85b2"}],"cinder/volume/manager.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"81cf3a73d7b83d9b819520595cf4ec3716921594","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        moved \u003d False"},{"line_number":2452,"context_line":""},{"line_number":2453,"context_line":"        status_update \u003d None"},{"line_number":2454,"context_line":"        if volume.status in (\u0027retyping\u0027, \u0027maintenance\u0027, \u0027migrating\u0027):"},{"line_number":2455,"context_line":"            status_update \u003d {\u0027status\u0027: volume.previous_status}"},{"line_number":2456,"context_line":""},{"line_number":2457,"context_line":"        volume.migration_status \u003d \u0027migrating\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_08458d70","line":2454,"updated":"2019-03-20 20:05:34.000000000","message":"This doesn\u0027t seem right to put the state back to migrating after the migrate finishes. Can you explain why?","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":29885,"name":"Aleksei Kazaev","email":"kazaev.alex@gmail.com","username":"a.kazaev"},"change_message_id":"2765c2cd5e8708145b4d3ba07e43b92c495004b5","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        moved \u003d False"},{"line_number":2452,"context_line":""},{"line_number":2453,"context_line":"        status_update \u003d None"},{"line_number":2454,"context_line":"        if volume.status in (\u0027retyping\u0027, \u0027maintenance\u0027, \u0027migrating\u0027):"},{"line_number":2455,"context_line":"            status_update \u003d {\u0027status\u0027: volume.previous_status}"},{"line_number":2456,"context_line":""},{"line_number":2457,"context_line":"        volume.migration_status \u003d \u0027migrating\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_59f27b08","line":2454,"in_reply_to":"5fc1f717_08458d70","updated":"2019-03-21 19:45:11.000000000","message":"Are you sure you\u0027re not mixing fields up (volume.status and volume.previous_status)? This code returns volume\u0027s previous state after migration or retyping. The previous state was saved as previous_status in cinder/volume/api.py. It\u0027s possible I misunderstood your question.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2359aacb36ca1e3bd54f115886b9cdbb94b467e8","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        moved \u003d False"},{"line_number":2452,"context_line":""},{"line_number":2453,"context_line":"        status_update \u003d None"},{"line_number":2454,"context_line":"        if volume.status in (\u0027retyping\u0027, \u0027maintenance\u0027, \u0027migrating\u0027):"},{"line_number":2455,"context_line":"            status_update \u003d {\u0027status\u0027: volume.previous_status}"},{"line_number":2456,"context_line":""},{"line_number":2457,"context_line":"        volume.migration_status \u003d \u0027migrating\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_312463c6","line":2454,"in_reply_to":"5fc1f717_08458d70","updated":"2019-03-21 17:14:43.000000000","message":"Isn\u0027t this setting it back to the previous status once migration has finished?  Maybe I am reading it wrong.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"fdcb2a1a115d67055c3dacf399526e8654a475e0","unresolved":false,"context_lines":[{"line_number":2451,"context_line":"        moved \u003d False"},{"line_number":2452,"context_line":""},{"line_number":2453,"context_line":"        status_update \u003d None"},{"line_number":2454,"context_line":"        if volume.status in (\u0027retyping\u0027, \u0027maintenance\u0027, \u0027migrating\u0027):"},{"line_number":2455,"context_line":"            status_update \u003d {\u0027status\u0027: volume.previous_status}"},{"line_number":2456,"context_line":""},{"line_number":2457,"context_line":"        volume.migration_status \u003d \u0027migrating\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_ab53eae1","line":2454,"in_reply_to":"5fc1f717_59f27b08","updated":"2019-03-22 13:07:26.000000000","message":"I think Jay is right here.  This just adds an additional check of the current volume status to migration to allow to change the status to the previous status.","commit_id":"b1d75bc19058a24cb400c1dca8840cb6a84a3186"}]}
