)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a5d4ab8fc4fe0c782fb5ae4596e29cdbd02c713c","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This is currently implemented for iSCSI/FC"},{"line_number":13,"context_line":"drivers only."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Id797af4f8ff001ec3d55cb4eda19988a314b700d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5faad753_6d1237b4","line":14,"updated":"2019-09-06 22:29:15.000000000","message":"Nit: add \"Implements: blueprint volume-rekey\" if you have to put up a new patch","commit_id":"654eb4e76ff39652e94e0ff867838cc2f51a1fd9"}],"cinder/tests/unit/volume/test_volume.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6566bcbb35d38280ac2d6dc0d034abfa9af7aef1","unresolved":false,"context_lines":[{"line_number":1652,"context_line":"        # create volume from source volume"},{"line_number":1653,"context_line":"        params[\u0027encryption_key_id\u0027] \u003d fake.ENCRYPTION_KEY2_ID"},{"line_number":1654,"context_line":""},{"line_number":1655,"context_line":"        attach_info \u003d {"},{"line_number":1656,"context_line":"            \u0027connector\u0027:"},{"line_number":1657,"context_line":"                os_brick.initiator.connectors.iscsi.ISCSIConnector(None),"},{"line_number":1658,"context_line":"            \u0027device\u0027: {\u0027path\u0027: \u0027/some/device/thing\u0027}}"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_19c6e917","line":1655,"updated":"2019-08-30 22:47:07.000000000","message":"Would be slick if this could use ddt to test the set of supported connectors, including a negative test case.","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cf45d931c32dd62ae06420181a18fbbf0adcc0cf","unresolved":false,"context_lines":[{"line_number":1652,"context_line":"        # create volume from source volume"},{"line_number":1653,"context_line":"        params[\u0027encryption_key_id\u0027] \u003d fake.ENCRYPTION_KEY2_ID"},{"line_number":1654,"context_line":""},{"line_number":1655,"context_line":"        attach_info \u003d {"},{"line_number":1656,"context_line":"            \u0027connector\u0027:"},{"line_number":1657,"context_line":"                os_brick.initiator.connectors.iscsi.ISCSIConnector(None),"},{"line_number":1658,"context_line":"            \u0027device\u0027: {\u0027path\u0027: \u0027/some/device/thing\u0027}}"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_f917d1ec","line":1655,"in_reply_to":"7faddb67_19c6e917","updated":"2019-09-06 15:36:49.000000000","message":"Done","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6566bcbb35d38280ac2d6dc0d034abfa9af7aef1","unresolved":false,"context_lines":[{"line_number":1659,"context_line":"        mock_at.return_value \u003d (attach_info, src_vol)"},{"line_number":1660,"context_line":""},{"line_number":1661,"context_line":"        img_info \u003d imageutils.QemuImgInfo()"},{"line_number":1662,"context_line":"        img_info.encrypted \u003d True"},{"line_number":1663,"context_line":"        img_info.file_format \u003d \u0027raw\u0027"},{"line_number":1664,"context_line":"        mock_qemu_img_info.return_value \u003d img_info"},{"line_number":1665,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_f9d0adca","line":1662,"updated":"2019-08-30 22:47:07.000000000","message":"What about the other code path, where encryption isn\u0027t set up yet cuz the volume is empty? Another one for ddt?","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a5d4ab8fc4fe0c782fb5ae4596e29cdbd02c713c","unresolved":false,"context_lines":[{"line_number":1672,"context_line":"        mock_at.return_value \u003d (attach_info, src_vol)"},{"line_number":1673,"context_line":""},{"line_number":1674,"context_line":"        img_info \u003d imageutils.QemuImgInfo()"},{"line_number":1675,"context_line":"        img_info.encrypted \u003d True"},{"line_number":1676,"context_line":"        img_info.file_format \u003d \u0027raw\u0027"},{"line_number":1677,"context_line":"        mock_qemu_img_info.return_value \u003d img_info"},{"line_number":1678,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_7fff3c67","line":1675,"range":{"start_line":1675,"start_character":29,"end_line":1675,"end_character":33},"updated":"2019-09-06 22:29:15.000000000","message":"The create_volume code is checking against a string [0], but maybe I\u0027m missing a translation layer?\n\n[0] https://review.opendev.org/#/c/664976/8/cinder/volume/flows/manager/create_volume.py@552\n\nI think I am confused.","commit_id":"654eb4e76ff39652e94e0ff867838cc2f51a1fd9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"76613798cfd733461872d21161e9cf721a78c045","unresolved":false,"context_lines":[{"line_number":1672,"context_line":"        mock_at.return_value \u003d (attach_info, src_vol)"},{"line_number":1673,"context_line":""},{"line_number":1674,"context_line":"        img_info \u003d imageutils.QemuImgInfo()"},{"line_number":1675,"context_line":"        img_info.encrypted \u003d True"},{"line_number":1676,"context_line":"        img_info.file_format \u003d \u0027raw\u0027"},{"line_number":1677,"context_line":"        mock_qemu_img_info.return_value \u003d img_info"},{"line_number":1678,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_c5798dfc","line":1675,"range":{"start_line":1675,"start_character":29,"end_line":1675,"end_character":33},"in_reply_to":"5faad753_7fff3c67","updated":"2019-09-10 14:02:29.000000000","message":"Also significantly... I never checked \"already_encrypted\" in this test when trying to set this.","commit_id":"654eb4e76ff39652e94e0ff867838cc2f51a1fd9"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a5d4ab8fc4fe0c782fb5ae4596e29cdbd02c713c","unresolved":false,"context_lines":[{"line_number":1700,"context_line":"                 \u0027cipher\u0027: \u0027aes-xts-plain64\u0027}"},{"line_number":1701,"context_line":"            )"},{"line_number":1702,"context_line":"            if already_encrypted:"},{"line_number":1703,"context_line":"                mock_execute.assert_called_once_with("},{"line_number":1704,"context_line":"                    \u0027cryptsetup\u0027, \u0027--batch-mode\u0027, \u0027luksFormat\u0027,"},{"line_number":1705,"context_line":"                    \u0027--type\u0027, \u0027luks1\u0027,"},{"line_number":1706,"context_line":"                    \u0027--cipher\u0027, \u0027aes-xts-plain64\u0027, \u0027--key-size\u0027, \u0027256\u0027,"},{"line_number":1707,"context_line":"                    \u0027--key-file\u003d-\u0027, \u0027/some/device/thing\u0027,"},{"line_number":1708,"context_line":"                    process_input\u003d\u0027asdfg\u0027,"},{"line_number":1709,"context_line":"                    run_as_root\u003dTrue)"},{"line_number":1710,"context_line":""},{"line_number":1711,"context_line":"            else:"},{"line_number":1712,"context_line":"                mock_execute.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_df93d04e","line":1709,"range":{"start_line":1703,"start_character":0,"end_line":1709,"end_character":37},"updated":"2019-09-06 22:29:15.000000000","message":"This is the same as the \"else\" block.  I was expecting to see lukschangekey called instead of luksformat here.","commit_id":"654eb4e76ff39652e94e0ff867838cc2f51a1fd9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"269ef62cf9dfd502526455d737d86db660629753","unresolved":false,"context_lines":[{"line_number":1700,"context_line":"                 \u0027cipher\u0027: \u0027aes-xts-plain64\u0027}"},{"line_number":1701,"context_line":"            )"},{"line_number":1702,"context_line":"            if already_encrypted:"},{"line_number":1703,"context_line":"                mock_execute.assert_called_once_with("},{"line_number":1704,"context_line":"                    \u0027cryptsetup\u0027, \u0027--batch-mode\u0027, \u0027luksFormat\u0027,"},{"line_number":1705,"context_line":"                    \u0027--type\u0027, \u0027luks1\u0027,"},{"line_number":1706,"context_line":"                    \u0027--cipher\u0027, \u0027aes-xts-plain64\u0027, \u0027--key-size\u0027, \u0027256\u0027,"},{"line_number":1707,"context_line":"                    \u0027--key-file\u003d-\u0027, \u0027/some/device/thing\u0027,"},{"line_number":1708,"context_line":"                    process_input\u003d\u0027asdfg\u0027,"},{"line_number":1709,"context_line":"                    run_as_root\u003dTrue)"},{"line_number":1710,"context_line":""},{"line_number":1711,"context_line":"            else:"},{"line_number":1712,"context_line":"                mock_execute.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_fd3a3de5","line":1709,"range":{"start_line":1703,"start_character":0,"end_line":1709,"end_character":37},"in_reply_to":"5faad753_df93d04e","updated":"2019-09-09 14:43:41.000000000","message":"Yeah something went sideways here...","commit_id":"654eb4e76ff39652e94e0ff867838cc2f51a1fd9"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"30c7cf4eb6052983396c2d3196c3db98643427a9","unresolved":false,"context_lines":[{"line_number":56,"context_line":"from cinder.volume import rpcapi as volume_rpcapi"},{"line_number":57,"context_line":"import cinder.volume.targets.tgt"},{"line_number":58,"context_line":"from cinder.volume import volume_types"},{"line_number":59,"context_line":"import os_brick.initiator.connectors.iscsi"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"QUOTAS \u003d quota.QUOTAS"}],"source_content_type":"text/x-python","patch_set":9,"id":"5faad753_8473774d","line":59,"updated":"2019-09-11 16:32:32.000000000","message":"Should be above in the third party import grouping.","commit_id":"5fb084e45fd9d6426e373542559af4805fee6424"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"321dd3ad658de72aad2677fa40f20e77a22667f3","unresolved":false,"context_lines":[{"line_number":56,"context_line":"from cinder.volume import rpcapi as volume_rpcapi"},{"line_number":57,"context_line":"import cinder.volume.targets.tgt"},{"line_number":58,"context_line":"from cinder.volume import volume_types"},{"line_number":59,"context_line":"import os_brick.initiator.connectors.iscsi"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"QUOTAS \u003d quota.QUOTAS"}],"source_content_type":"text/x-python","patch_set":9,"id":"5faad753_9f28a2e2","line":59,"in_reply_to":"5faad753_8473774d","updated":"2019-09-11 17:04:27.000000000","message":"Oops, thanks.\n    https://review.opendev.org/681543","commit_id":"5fb084e45fd9d6426e373542559af4805fee6424"}],"cinder/volume/flows/api/create_volume.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a5d4ab8fc4fe0c782fb5ae4596e29cdbd02c713c","unresolved":false,"context_lines":[{"line_number":336,"context_line":""},{"line_number":337,"context_line":"            # NOTE(joel-coffman): References to the encryption key should *not*"},{"line_number":338,"context_line":"            # be copied because the key is deleted when the volume is deleted."},{"line_number":339,"context_line":"            # Clone the existing key and associate a separate -- but"},{"line_number":340,"context_line":"            # identical -- key with each volume."},{"line_number":341,"context_line":"            if encryption_key_id is not None:"},{"line_number":342,"context_line":"                encryption_key_id \u003d vol_utils.clone_encryption_key("},{"line_number":343,"context_line":"                    context,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_3f69c4bd","line":340,"range":{"start_line":339,"start_character":65,"end_line":340,"end_character":23},"updated":"2019-09-06 22:29:15.000000000","message":"no longer accurate?","commit_id":"654eb4e76ff39652e94e0ff867838cc2f51a1fd9"}],"cinder/volume/flows/manager/create_volume.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6e08c5f96a361753285f52ecdde9c4c6d62d75f2","unresolved":false,"context_lines":[{"line_number":610,"context_line":"                volume_utils.delete_encryption_key("},{"line_number":611,"context_line":"                    context,"},{"line_number":612,"context_line":"                    key_manager.API(CONF),"},{"line_number":613,"context_line":"                    new_key_id)"},{"line_number":614,"context_line":"        finally:"},{"line_number":615,"context_line":"            if attach_info:"},{"line_number":616,"context_line":"                self.driver._detach_volume(context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_f55c667f","line":613,"updated":"2019-07-10 13:40:01.000000000","message":"This needs to re-raise","commit_id":"21e919c0588c8394530cee03c41537c89aba65d1"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6566bcbb35d38280ac2d6dc0d034abfa9af7aef1","unresolved":false,"context_lines":[{"line_number":527,"context_line":"                          attach_info[\u0027connector\u0027])"},{"line_number":528,"context_line":"                raise exception.RekeyNotSupported()"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"            LOG.debug(\"attempting attach for rekey\")"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"            LOG.debug(\u0027attach_info: %s\u0027, attach_info)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"            if (isinstance(attach_info[\u0027device\u0027][\u0027path\u0027], six.string_types)):"},{"line_number":535,"context_line":"                image_info \u003d image_utils.qemu_img_info("}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_d9acd189","line":532,"range":{"start_line":530,"start_character":0,"end_line":532,"end_character":53},"updated":"2019-08-30 22:47:07.000000000","message":"nit: combine these into a single LOG.debug()?","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f82774a82b60434c2bd62e69ca335602bea98adb","unresolved":false,"context_lines":[{"line_number":527,"context_line":"                          attach_info[\u0027connector\u0027])"},{"line_number":528,"context_line":"                raise exception.RekeyNotSupported()"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"            LOG.debug(\"attempting attach for rekey\")"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"            LOG.debug(\u0027attach_info: %s\u0027, attach_info)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"            if (isinstance(attach_info[\u0027device\u0027][\u0027path\u0027], six.string_types)):"},{"line_number":535,"context_line":"                image_info \u003d image_utils.qemu_img_info("}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_398569ae","line":532,"range":{"start_line":530,"start_character":0,"end_line":532,"end_character":53},"in_reply_to":"7faddb67_d9acd189","updated":"2019-09-06 15:50:04.000000000","message":"Done","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f82774a82b60434c2bd62e69ca335602bea98adb","unresolved":false,"context_lines":[{"line_number":550,"context_line":"                volume,"},{"line_number":551,"context_line":"                encryption)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"            if image_info.encrypted \u003d\u003d \u0027yes\u0027:"},{"line_number":554,"context_line":"                key_str \u003d source_pass + \"\\n\" + new_pass + \"\\n\""},{"line_number":555,"context_line":"                del source_pass"},{"line_number":556,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_3c66b7ef","line":553,"range":{"start_line":553,"start_character":15,"end_line":553,"end_character":44},"updated":"2019-09-06 15:50:04.000000000","message":"Hardening the unit tests a bit leave me unsure if this check is correct... I think this is supposed to be a boolean?","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"79689b0280d964ddd25c61ef234d54a79dc9244d","unresolved":false,"context_lines":[{"line_number":550,"context_line":"                volume,"},{"line_number":551,"context_line":"                encryption)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"            if image_info.encrypted \u003d\u003d \u0027yes\u0027:"},{"line_number":554,"context_line":"                key_str \u003d source_pass + \"\\n\" + new_pass + \"\\n\""},{"line_number":555,"context_line":"                del source_pass"},{"line_number":556,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_2dc2ff86","line":553,"range":{"start_line":553,"start_character":15,"end_line":553,"end_character":44},"in_reply_to":"5faad753_3c66b7ef","updated":"2019-09-06 19:07:46.000000000","message":"Never mind -- this is correct.","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6566bcbb35d38280ac2d6dc0d034abfa9af7aef1","unresolved":false,"context_lines":[{"line_number":577,"context_line":"                    # compatibility with new versions of cryptsetup."},{"line_number":578,"context_line":"                    encryption[\u0027provider\u0027] \u003d \u0027luks1\u0027"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"                # volume has not been written to yet, format with luks"},{"line_number":581,"context_line":"                (out, err) \u003d utils.execute("},{"line_number":582,"context_line":"                    \u0027cryptsetup\u0027,"},{"line_number":583,"context_line":"                    \u0027--batch-mode\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_d92ff1f2","line":580,"updated":"2019-08-30 22:47:07.000000000","message":"nit: it might be clearer to readers if this comment appeared at the top of the \u0027else\u0027 block. I was confused by the \u0027else\u0027 until I read the comment.","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f82774a82b60434c2bd62e69ca335602bea98adb","unresolved":false,"context_lines":[{"line_number":577,"context_line":"                    # compatibility with new versions of cryptsetup."},{"line_number":578,"context_line":"                    encryption[\u0027provider\u0027] \u003d \u0027luks1\u0027"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"                # volume has not been written to yet, format with luks"},{"line_number":581,"context_line":"                (out, err) \u003d utils.execute("},{"line_number":582,"context_line":"                    \u0027cryptsetup\u0027,"},{"line_number":583,"context_line":"                    \u0027--batch-mode\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_99bd7d6a","line":580,"in_reply_to":"7faddb67_d92ff1f2","updated":"2019-09-06 15:50:04.000000000","message":"Done","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cf45d931c32dd62ae06420181a18fbbf0adcc0cf","unresolved":false,"context_lines":[{"line_number":584,"context_line":"                    \u0027luksFormat\u0027,"},{"line_number":585,"context_line":"                    \u0027--type\u0027, encryption[\u0027provider\u0027],"},{"line_number":586,"context_line":"                    \u0027--cipher\u0027, encryption[\u0027cipher\u0027],"},{"line_number":587,"context_line":"                    \u0027--key-size\u0027, encryption[\u0027key_size\u0027],"},{"line_number":588,"context_line":"                    \u0027--key-file\u003d-\u0027,"},{"line_number":589,"context_line":"                    attach_info[\u0027device\u0027][\u0027path\u0027],"},{"line_number":590,"context_line":"                    run_as_root\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_d9e3f5a3","line":587,"range":{"start_line":587,"start_character":34,"end_line":587,"end_character":56},"updated":"2019-09-06 15:36:49.000000000","message":"convert to string","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6566bcbb35d38280ac2d6dc0d034abfa9af7aef1","unresolved":false,"context_lines":[{"line_number":698,"context_line":"            return None, False"},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"        try:"},{"line_number":701,"context_line":"            ret \u003d self.driver.create_cloned_volume(volume, image_volume)"},{"line_number":702,"context_line":"            self._cleanup_cg_in_volume(volume)"},{"line_number":703,"context_line":"            return ret, True"},{"line_number":704,"context_line":"        except (NotImplementedError, exception.CinderException):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_f998ad69","line":701,"updated":"2019-08-30 22:47:07.000000000","message":"Is this another place that could benefit from a rekey (presumably in a subsequent patch)?","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f82774a82b60434c2bd62e69ca335602bea98adb","unresolved":false,"context_lines":[{"line_number":698,"context_line":"            return None, False"},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"        try:"},{"line_number":701,"context_line":"            ret \u003d self.driver.create_cloned_volume(volume, image_volume)"},{"line_number":702,"context_line":"            self._cleanup_cg_in_volume(volume)"},{"line_number":703,"context_line":"            return ret, True"},{"line_number":704,"context_line":"        except (NotImplementedError, exception.CinderException):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_79bc4169","line":701,"in_reply_to":"7faddb67_f998ad69","updated":"2019-09-06 15:50:04.000000000","message":"Yes, I noted in the spec that I\u0027ll expand into other operations later.","commit_id":"699b130c885ee7771114ec6115a0fa9333473075"}]}
