)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"131b57ebc4f6cf66ea757812cc59e2d97b4cb9ca","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Patch fixing bug #1861071 resolved the issue of extending LUKS v1"},{"line_number":10,"context_line":"volumes when nova connects them via libvirt instead of through os-brick,"},{"line_number":11,"context_line":"but nova side still fails to extend LUKSv2 in-use volumes when they"},{"line_number":12,"context_line":"don\u0027t go through libvirt.e., LUKS v2)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The logs will show a very similar error, but the user won\u0027t know that"},{"line_number":15,"context_line":"this has happened and Cinder will show the new size:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"2a6d9760_4b07a6a4","line":12,"range":{"start_line":12,"start_character":24,"end_line":12,"end_character":28},"updated":"2022-07-18 16:08:40.000000000","message":"typo here","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"bf707bbf726c78221993661e6501c08ba8d79429","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Patch fixing bug #1861071 resolved the issue of extending LUKS v1"},{"line_number":10,"context_line":"volumes when nova connects them via libvirt instead of through os-brick,"},{"line_number":11,"context_line":"but nova side still fails to extend LUKSv2 in-use volumes when they"},{"line_number":12,"context_line":"don\u0027t go through libvirt.e., LUKS v2)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The logs will show a very similar error, but the user won\u0027t know that"},{"line_number":15,"context_line":"this has happened and Cinder will show the new size:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a3e1181_7af80047","line":12,"range":{"start_line":12,"start_character":24,"end_line":12,"end_character":28},"in_reply_to":"2a6d9760_4b07a6a4","updated":"2022-07-19 10:40:54.000000000","message":"Done","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1625a98570968eb2a802adebdfdadaca51fc6832","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"262a6ef1_3bf0ff55","updated":"2022-05-12 15:46:08.000000000","message":"recheck os-brick-src-tempest-lvm-lio-barbican : failures are due to an OOM kill and due to a backup creation that finishes 20 seconds after the timeout","commit_id":"404cf80135fca30c6a2abb1b5ee2d74b51cc4997"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"66bdccbbbe06ead325f01cfac4b200855c76f05c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"51295b16_c2bd0f84","updated":"2022-06-10 18:01:25.000000000","message":"This patch is needed to fix bug 1967157 in nova where extending LUKSv2 volumes is broken, +1","commit_id":"4c97caf5918702aa5c29bff6f266385eed087d1e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3878093be7b17f9840cb71cc1ef8a976bf22635d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2982fe2d_daabb887","updated":"2022-07-15 19:51:28.000000000","message":"I think PS5 made more sense but either way, this works 🙂","commit_id":"b72d0e83e66e506235fc72226a1a800e4acdac64"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4df3698a747fbac703f9651f7198771b407e7165","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"10a758f4_d8a041c8","updated":"2022-07-19 10:16:35.000000000","message":"Code looks good, one nit in releasenote and some questions inline.","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"131b57ebc4f6cf66ea757812cc59e2d97b4cb9ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ef8751e4_7b46c062","updated":"2022-07-18 16:08:40.000000000","message":"typo here","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f076c6af9aee3aa14a275777dbe28fe703742cee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"181283dc_f56e7ffe","updated":"2022-07-25 01:54:34.000000000","message":"Code and tests look correct.","commit_id":"a9a53f9b504b21d41cb0ca8c9f8739bc9444e07f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"98e3dfbf977e60670e59488b653226a13e53d073","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e95f5b55_28d673f5","updated":"2022-07-19 11:01:11.000000000","message":"Thanks for addressing my comments. LGTM.","commit_id":"a9a53f9b504b21d41cb0ca8c9f8739bc9444e07f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"7b84b622a552fa14fe63b7f624eb25adec85f414","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f1166e15_8dbcfb62","updated":"2022-07-19 19:48:04.000000000","message":"recheck wait_for_ssh tempest.lib.exceptions.TimeoutException: Request timed out","commit_id":"a9a53f9b504b21d41cb0ca8c9f8739bc9444e07f"}],"os_brick/encryptors/cryptsetup.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ad12620d6f5049237bf1fedddf0aa9256e3dec94","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        \"\"\"Removes the dm-crypt mapping for the device.\"\"\""},{"line_number":172,"context_line":"        self._close_volume(**kwargs)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def extend_volume(self, context, **kwargs):"},{"line_number":175,"context_line":"        \"\"\"Extend an encrypted volume and return the decrypted volume size.\"\"\""},{"line_number":176,"context_line":"        symlink \u003d self.symlink_path"},{"line_number":177,"context_line":"        LOG.debug(\u0027Extending encrypted volume %s\u0027, symlink)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f5cbc304_79350be0","line":174,"updated":"2022-07-13 14:29:14.000000000","message":"Do we really need to add this to the cryptsetup encryptor?  AFAIK this is not used much (if at all, because folks should be using LUKS) and not tested much -- is it worthwhile?\n\nThe potential for this to raise later issues makes me think it would be better to just leave it as-is.","commit_id":"4c97caf5918702aa5c29bff6f266385eed087d1e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3878093be7b17f9840cb71cc1ef8a976bf22635d","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        \"\"\"Removes the dm-crypt mapping for the device.\"\"\""},{"line_number":172,"context_line":"        self._close_volume(**kwargs)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def extend_volume(self, context, **kwargs):"},{"line_number":175,"context_line":"        \"\"\"Extend an encrypted volume and return the decrypted volume size.\"\"\""},{"line_number":176,"context_line":"        symlink \u003d self.symlink_path"},{"line_number":177,"context_line":"        LOG.debug(\u0027Extending encrypted volume %s\u0027, symlink)"}],"source_content_type":"text/x-python","patch_set":5,"id":"b5a8d5ad_6f6aba86","line":174,"in_reply_to":"2b3e136a_b6b62b3c","updated":"2022-07-15 19:51:28.000000000","message":"\u003e We need this for both LuksEncryptor and Luks2Encryptor classes that inherit from this class.\n\u003e \n\u003e I could add it to the LuksEncryptor since Luks2Encryptor inherits from it, but  it\u0027s a cryptsetup command, so in my mind this made sense.\n\nI thought the same thing.","commit_id":"4c97caf5918702aa5c29bff6f266385eed087d1e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"bf707bbf726c78221993661e6501c08ba8d79429","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        \"\"\"Removes the dm-crypt mapping for the device.\"\"\""},{"line_number":172,"context_line":"        self._close_volume(**kwargs)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def extend_volume(self, context, **kwargs):"},{"line_number":175,"context_line":"        \"\"\"Extend an encrypted volume and return the decrypted volume size.\"\"\""},{"line_number":176,"context_line":"        symlink \u003d self.symlink_path"},{"line_number":177,"context_line":"        LOG.debug(\u0027Extending encrypted volume %s\u0027, symlink)"}],"source_content_type":"text/x-python","patch_set":5,"id":"d381d79c_642d73f3","line":174,"in_reply_to":"b5a8d5ad_6f6aba86","updated":"2022-07-19 10:40:54.000000000","message":"I have moved this to the luks classes, so I think we can consider this request completed.","commit_id":"4c97caf5918702aa5c29bff6f266385eed087d1e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"32c17c020c69f461e33245a79f5a1eddb8c1382b","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        \"\"\"Removes the dm-crypt mapping for the device.\"\"\""},{"line_number":172,"context_line":"        self._close_volume(**kwargs)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def extend_volume(self, context, **kwargs):"},{"line_number":175,"context_line":"        \"\"\"Extend an encrypted volume and return the decrypted volume size.\"\"\""},{"line_number":176,"context_line":"        symlink \u003d self.symlink_path"},{"line_number":177,"context_line":"        LOG.debug(\u0027Extending encrypted volume %s\u0027, symlink)"}],"source_content_type":"text/x-python","patch_set":5,"id":"2b3e136a_b6b62b3c","line":174,"in_reply_to":"f5cbc304_79350be0","updated":"2022-07-13 16:54:06.000000000","message":"We need this for both LuksEncryptor and Luks2Encryptor classes that inherit from this class.\n\nI could add it to the LuksEncryptor since Luks2Encryptor inherits from it, but  it\u0027s a cryptsetup command, so in my mind this made sense.\n\nWould you prefer I move it to LuksEncryptor and raise NotImplemented here?","commit_id":"4c97caf5918702aa5c29bff6f266385eed087d1e"}],"os_brick/encryptors/luks.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4df3698a747fbac703f9651f7198771b407e7165","unresolved":true,"context_lines":[{"line_number":163,"context_line":"    def extend_volume(self, context, **kwargs):"},{"line_number":164,"context_line":"        \"\"\"Extend an encrypted volume and return the decrypted volume size.\"\"\""},{"line_number":165,"context_line":"        symlink \u003d self.symlink_path"},{"line_number":166,"context_line":"        LOG.debug(\u0027Extending encrypted volume %s\u0027, symlink)"},{"line_number":167,"context_line":"        key \u003d self._get_key(context).get_encoded()"},{"line_number":168,"context_line":"        passphrase \u003d self._get_passphrase(key)"},{"line_number":169,"context_line":"        self._execute(\u0027cryptsetup\u0027, \u0027resize\u0027, symlink,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ee2fef82_35cfcd9e","line":166,"range":{"start_line":166,"start_character":39,"end_line":166,"end_character":45},"updated":"2022-07-19 10:16:35.000000000","message":"I think we are resizing the device to match the actual volume size and not really extending the volume. I was kind of confused here so pointed it out, maybe it might create a confusion with other extend volume related log messages","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"bf707bbf726c78221993661e6501c08ba8d79429","unresolved":false,"context_lines":[{"line_number":163,"context_line":"    def extend_volume(self, context, **kwargs):"},{"line_number":164,"context_line":"        \"\"\"Extend an encrypted volume and return the decrypted volume size.\"\"\""},{"line_number":165,"context_line":"        symlink \u003d self.symlink_path"},{"line_number":166,"context_line":"        LOG.debug(\u0027Extending encrypted volume %s\u0027, symlink)"},{"line_number":167,"context_line":"        key \u003d self._get_key(context).get_encoded()"},{"line_number":168,"context_line":"        passphrase \u003d self._get_passphrase(key)"},{"line_number":169,"context_line":"        self._execute(\u0027cryptsetup\u0027, \u0027resize\u0027, symlink,"}],"source_content_type":"text/x-python","patch_set":8,"id":"dfdebc74_129c2e45","line":166,"range":{"start_line":166,"start_character":39,"end_line":166,"end_character":45},"in_reply_to":"ee2fef82_35cfcd9e","updated":"2022-07-19 10:40:54.000000000","message":"Well, the problem is that volume means a lot of different things for the different components (cinder, os-brick, nova).\n\nI\u0027ll rephrase it according to cryptsetup naming conventions.","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4df3698a747fbac703f9651f7198771b407e7165","unresolved":true,"context_lines":[{"line_number":171,"context_line":"                      run_as_root\u003dTrue, check_exit_code\u003dTrue,"},{"line_number":172,"context_line":"                      root_helper\u003dself._root_helper)"},{"line_number":173,"context_line":"        res \u003d utils.get_device_size(self, symlink)"},{"line_number":174,"context_line":"        LOG.debug(\u0027decrypted size of extended volume is %s\u0027, res)"},{"line_number":175,"context_line":"        return res"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"d8145611_8326d236","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":58},"updated":"2022-07-19 10:16:35.000000000","message":"just for my understanding, this symlink is the device_path in the connection properties. On L#166 we are printing it as encrypted volume as DM modifies the path of actual encrypted volume to a DM path but here we are referencing the same path as decrypted volume? does blockdev --getsize64 return the actual device path size and not size of path modified by DM ?","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"bf707bbf726c78221993661e6501c08ba8d79429","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                      run_as_root\u003dTrue, check_exit_code\u003dTrue,"},{"line_number":172,"context_line":"                      root_helper\u003dself._root_helper)"},{"line_number":173,"context_line":"        res \u003d utils.get_device_size(self, symlink)"},{"line_number":174,"context_line":"        LOG.debug(\u0027decrypted size of extended volume is %s\u0027, res)"},{"line_number":175,"context_line":"        return res"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"f2350a22_efc6e55b","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":58},"in_reply_to":"d8145611_8326d236","updated":"2022-07-19 10:40:54.000000000","message":"Maybe it\u0027s a problem with the wording.  When we say we are extending an encrypted volume we are not saying that the symlink is pointing to the encrypted device, just that this is an encrypted cinder volume.\n\nHere we are showing the volume size that the guest will be seeing.","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"98e3dfbf977e60670e59488b653226a13e53d073","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                      run_as_root\u003dTrue, check_exit_code\u003dTrue,"},{"line_number":172,"context_line":"                      root_helper\u003dself._root_helper)"},{"line_number":173,"context_line":"        res \u003d utils.get_device_size(self, symlink)"},{"line_number":174,"context_line":"        LOG.debug(\u0027decrypted size of extended volume is %s\u0027, res)"},{"line_number":175,"context_line":"        return res"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"42ef1bd1_886e0aaf","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":58},"in_reply_to":"f2350a22_efc6e55b","updated":"2022-07-19 11:01:11.000000000","message":"Ack","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"}],"os_brick/tests/encryptors/test_cryptsetup.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"66bdccbbbe06ead325f01cfac4b200855c76f05c","unresolved":true,"context_lines":[{"line_number":158,"context_line":"    @mock.patch.object(cryptsetup.CryptsetupEncryptor, \u0027_execute\u0027)"},{"line_number":159,"context_line":"    @mock.patch.object(cryptsetup.CryptsetupEncryptor, \u0027_get_passphrase\u0027)"},{"line_number":160,"context_line":"    @mock.patch.object(cryptsetup.CryptsetupEncryptor, \u0027_get_key\u0027)"},{"line_number":161,"context_line":"    def test_exted_volume(self, mock_key, mock_pass, mock_exec, mock_size):"},{"line_number":162,"context_line":"        encryptor \u003d self.encryptor"},{"line_number":163,"context_line":"        res \u003d encryptor.extend_volume(mock.sentinel.context)"},{"line_number":164,"context_line":"        self.assertEqual(mock_size.return_value, res)"}],"source_content_type":"text/x-python","patch_set":5,"id":"cad1af7d_45c43c90","line":161,"range":{"start_line":161,"start_character":13,"end_line":161,"end_character":18},"updated":"2022-06-10 18:01:25.000000000","message":"extend","commit_id":"4c97caf5918702aa5c29bff6f266385eed087d1e"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ea8be15d1a9311d63decf820c0bd997963bb5918","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    @mock.patch.object(cryptsetup.CryptsetupEncryptor, \u0027_execute\u0027)"},{"line_number":159,"context_line":"    @mock.patch.object(cryptsetup.CryptsetupEncryptor, \u0027_get_passphrase\u0027)"},{"line_number":160,"context_line":"    @mock.patch.object(cryptsetup.CryptsetupEncryptor, \u0027_get_key\u0027)"},{"line_number":161,"context_line":"    def test_exted_volume(self, mock_key, mock_pass, mock_exec, mock_size):"},{"line_number":162,"context_line":"        encryptor \u003d self.encryptor"},{"line_number":163,"context_line":"        res \u003d encryptor.extend_volume(mock.sentinel.context)"},{"line_number":164,"context_line":"        self.assertEqual(mock_size.return_value, res)"}],"source_content_type":"text/x-python","patch_set":5,"id":"8271b7b6_097db737","line":161,"range":{"start_line":161,"start_character":13,"end_line":161,"end_character":18},"in_reply_to":"cad1af7d_45c43c90","updated":"2022-07-12 10:39:34.000000000","message":"Done","commit_id":"4c97caf5918702aa5c29bff6f266385eed087d1e"}],"releasenotes/notes/extend-encrypted-in-use-ac3f7a1994ec3a38.yaml":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4df3698a747fbac703f9651f7198771b407e7165","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    `Bug #1967157 \u003chttps://bugs.launchpad.net/nova/+bug/1967157\u003e`_: Fix"},{"line_number":5,"context_line":"    extending LUKS and LUKSv2 host attached encrypted volumes. Only LUKS v1"},{"line_number":6,"context_line":"    volumes decrypted via libvirt were working, but now all LUKS based in-use"},{"line_number":7,"context_line":"    encrypted volumes can be extended."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"51805863_aee96f7d","line":4,"range":{"start_line":4,"start_character":68,"end_line":4,"end_character":71},"updated":"2022-07-19 10:16:35.000000000","message":"Fixed","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"bf707bbf726c78221993661e6501c08ba8d79429","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    `Bug #1967157 \u003chttps://bugs.launchpad.net/nova/+bug/1967157\u003e`_: Fix"},{"line_number":5,"context_line":"    extending LUKS and LUKSv2 host attached encrypted volumes. Only LUKS v1"},{"line_number":6,"context_line":"    volumes decrypted via libvirt were working, but now all LUKS based in-use"},{"line_number":7,"context_line":"    encrypted volumes can be extended."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5a7ae1e1_89d0d645","line":4,"range":{"start_line":4,"start_character":68,"end_line":4,"end_character":71},"in_reply_to":"51805863_aee96f7d","updated":"2022-07-19 10:40:54.000000000","message":"Done","commit_id":"b2e1def7b4646485898ebf96618d8bf4341252a3"}]}
