)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":14,"context_line":"can now remove various bits of compatibility code introduced to support"},{"line_number":15,"context_line":"the use of native LUKS decryption in environments with mixed versions of"},{"line_number":16,"context_line":"Libvirt and QEMU. This includes code used during N to N+1 upgrades that"},{"line_number":17,"context_line":"are no longer required for Stein to Train upgrades as both ends of the"},{"line_number":18,"context_line":"migration should have the required versions of Libvirt and QEMU."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"An _is_luks utility method is retained to ensure the native approach is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1fa4df85_97c4d8f6","line":17,"range":{"start_line":17,"start_character":27,"end_line":17,"end_character":41},"updated":"2020-03-04 15:35:12.000000000","message":"This reads weird since we\u0027re in ussuri. \"...upgrades above Stein...\"?","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":17,"context_line":"are no longer required for Stein to Train upgrades as both ends of the"},{"line_number":18,"context_line":"migration should have the required versions of Libvirt and QEMU."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"An _is_luks utility method is retained to ensure the native approach is"},{"line_number":21,"context_line":"only used when using LUKS v1 volumes as v2 support is not currently"},{"line_number":22,"context_line":"available within QEMU.  I09fb2b2be1e376f8ec0f49741c855cfd54ee27f0 is"},{"line_number":23,"context_line":"currently looking to introduce support for LUKS v2 volumes using"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1fa4df85_57bae06d","line":20,"range":{"start_line":20,"start_character":3,"end_line":20,"end_character":11},"updated":"2020-03-04 15:35:12.000000000","message":"_is_luks_v1","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":23,"context_line":"currently looking to introduce support for LUKS v2 volumes using"},{"line_number":24,"context_line":"cryptsetup within os-brick."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Depends-On: https://review.opendev.org/674755"},{"line_number":27,"context_line":"Change-Id: I41b7c1653c6a887ee4b08e588c5d422409aebfba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1fa4df85_7764bc22","line":26,"range":{"start_line":26,"start_character":12,"end_line":26,"end_character":45},"updated":"2020-03-04 15:35:12.000000000","message":"merged","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"}],"nova/objects/migrate_data.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        \u0027bdms\u0027: fields.ListOfObjectsField(\u0027LibvirtLiveMigrateBDMInfo\u0027),"},{"line_number":242,"context_line":"        \u0027target_connect_addr\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":243,"context_line":"        \u0027supported_perf_events\u0027: fields.ListOfStringsField(),"},{"line_number":244,"context_line":"        \u0027src_supports_native_luks\u0027: fields.BooleanField(),"},{"line_number":245,"context_line":"        \u0027dst_wants_file_backed_memory\u0027: fields.BooleanField(),"},{"line_number":246,"context_line":"        # file_backed_memory_discard is ignored unless"},{"line_number":247,"context_line":"        # dst_wants_file_backed_memory is set"}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_9737f8ff","line":244,"range":{"start_line":244,"start_character":8,"end_line":244,"end_character":58},"updated":"2020-03-04 15:35:12.000000000","message":"Wouldn\u0027t hurt to add a\n\n # NOTE(lyarwood): Obsolete since I41b7c1653c6a887ee4b08e588c5d422409aebfba\n\nor similar","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"096ad605631ed29875d7ff4bf64f52da36b27729","unresolved":false,"context_lines":[{"line_number":8405,"context_line":"    @mock.patch.object(key_manager, \u0027API\u0027)"},{"line_number":8406,"context_line":"    @mock.patch(\u0027os_brick.encryptors.get_encryption_metadata\u0027)"},{"line_number":8407,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver._get_volume_encryptor\u0027)"},{"line_number":8408,"context_line":"    def test_attach_encryptor_encrypted_native_luks_serial(self,"},{"line_number":8409,"context_line":"            mock_get_encryptor, mock_get_metadata, mock_get_key_mgr):"},{"line_number":8410,"context_line":"        \"\"\"Uses native luks encryption with a provider encryptor and the"},{"line_number":8411,"context_line":"        connection_info has a serial but not volume_id in the \u0027data\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_b8fa6572","line":8408,"range":{"start_line":8408,"start_character":8,"end_line":8408,"end_character":58},"updated":"2019-07-10 14:24:31.000000000","message":"should this (and the other two tests that mention \"native_luks\") be renamed?","commit_id":"7cea1a4a366063c830aebcbcbcc769dd6b7dc55b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":9277,"context_line":"    @mock.patch.object(key_manager, \u0027API\u0027)"},{"line_number":9278,"context_line":"    @mock.patch(\u0027os_brick.encryptors.get_encryption_metadata\u0027)"},{"line_number":9279,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver._get_volume_encryptor\u0027)"},{"line_number":9280,"context_line":"    def test_attach_encryptor_encrypted_native_luks_serial(self,"},{"line_number":9281,"context_line":"            mock_get_encryptor, mock_get_metadata, mock_get_key_mgr):"},{"line_number":9282,"context_line":"        \"\"\"Uses native luks encryption with a provider encryptor and the"},{"line_number":9283,"context_line":"        connection_info has a serial but not volume_id in the \u0027data\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_f7774cd3","line":9280,"range":{"start_line":9280,"start_character":40,"end_line":9280,"end_character":46},"updated":"2020-03-04 15:35:12.000000000","message":"Do we want to rename this?","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":9279,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver._get_volume_encryptor\u0027)"},{"line_number":9280,"context_line":"    def test_attach_encryptor_encrypted_native_luks_serial(self,"},{"line_number":9281,"context_line":"            mock_get_encryptor, mock_get_metadata, mock_get_key_mgr):"},{"line_number":9282,"context_line":"        \"\"\"Uses native luks encryption with a provider encryptor and the"},{"line_number":9283,"context_line":"        connection_info has a serial but not volume_id in the \u0027data\u0027"},{"line_number":9284,"context_line":"        sub-dict."},{"line_number":9285,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_3a06291e","line":9282,"range":{"start_line":9282,"start_character":16,"end_line":9282,"end_character":45},"updated":"2020-03-04 15:35:12.000000000","message":"x","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":9282,"context_line":"        \"\"\"Uses native luks encryption with a provider encryptor and the"},{"line_number":9283,"context_line":"        connection_info has a serial but not volume_id in the \u0027data\u0027"},{"line_number":9284,"context_line":"        sub-dict."},{"line_number":9285,"context_line":"        \"\"\""},{"line_number":9286,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":9287,"context_line":"        mock_encryptor \u003d mock.MagicMock()"},{"line_number":9288,"context_line":"        mock_get_encryptor.return_value \u003d mock_encryptor"}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_3a1f095c","line":9285,"updated":"2020-03-04 15:35:12.000000000","message":"I didn\u0027t scour, but is this test now redundant with one that used to be identical in every way except allow_native_luks\u003dFalse?","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":9408,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.host.Host.find_secret\u0027)"},{"line_number":9409,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver._is_luks_v1\u0027)"},{"line_number":9410,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver._get_volume_encryptor\u0027)"},{"line_number":9411,"context_line":"    def test_detach_encryptor_native_luks_device_path_secret_missing(self,"},{"line_number":9412,"context_line":"            mock_get_encryptor, mock_is_luks_v1, mock_find_secret):"},{"line_number":9413,"context_line":"        \"\"\"Assert that the encryptor is not built when native LUKS is"},{"line_number":9414,"context_line":"        available, the associated volume secret is missing and device_path is"}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_fa41713a","line":9411,"range":{"start_line":9411,"start_character":29,"end_line":9411,"end_character":41},"updated":"2020-03-04 15:35:12.000000000","message":"rename?","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":18537,"context_line":""},{"line_number":18538,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027_get_volume_encryption\u0027)"},{"line_number":18539,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027_is_luks_v1\u0027)"},{"line_number":18540,"context_line":"    def test_swap_volume_native_luks_blocked(self, mock_is_luks_v1,"},{"line_number":18541,"context_line":"                                             mock_get_encryption):"},{"line_number":18542,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI())"},{"line_number":18543,"context_line":"        mock_is_luks_v1.return_value \u003d True"}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_da44b549","line":18540,"range":{"start_line":18540,"start_character":25,"end_line":18540,"end_character":36},"updated":"2020-03-04 15:35:12.000000000","message":"rename?","commit_id":"15f2aa33b7b5fe6e806afc37930b79feb9e43233"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"a609513768e3159c3b3b8b35f6d6ad3a4407ac8c","unresolved":false,"context_lines":[{"line_number":1506,"context_line":"        if encryption is None:"},{"line_number":1507,"context_line":"            encryption \u003d self._get_volume_encryption(context, connection_info)"},{"line_number":1508,"context_line":"        # NOTE(lyarwood): Handle bug #1821696 where volume secrets have been"},{"line_number":1509,"context_line":"        # removed manually by returning if native LUKS decryption is available"},{"line_number":1510,"context_line":"        # and device_path is not present in the connection_info. This avoids"},{"line_number":1511,"context_line":"        # VolumeEncryptionNotSupported being thrown when we incorrectly build"},{"line_number":1512,"context_line":"        # the encryptor below due to the secrets not being present above."}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_521281b3","line":1509,"range":{"start_line":1509,"start_character":43,"end_line":1509,"end_character":78},"updated":"2019-07-04 10:46:12.000000000","message":"nit - I\u0027ll reword this if I respin.","commit_id":"c6786464866c5f3854e55b28c8ce316f3e3e30d0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bf00ffe39126920113f93fa76398a1b4961acd48","unresolved":false,"context_lines":[{"line_number":1411,"context_line":"        return vol_driver.extend_volume(connection_info, instance,"},{"line_number":1412,"context_line":"                                        requested_size)"},{"line_number":1413,"context_line":""},{"line_number":1414,"context_line":"    def _is_luks(self, encryption\u003dNone):"},{"line_number":1415,"context_line":"        \"\"\"Check if LUKS (v1) is the encryption \u0027provider\u0027"},{"line_number":1416,"context_line":"        \"\"\""},{"line_number":1417,"context_line":"        provider \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_b3e646e8","line":1414,"range":{"start_line":1414,"start_character":8,"end_line":1414,"end_character":16},"updated":"2019-12-10 13:59:34.000000000","message":"Any reason this wasn\u0027t called \u0027_is_luks_v1\u0027?","commit_id":"7cea1a4a366063c830aebcbcbcc769dd6b7dc55b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fd95342021ed27f61f523e3457de146fe232e715","unresolved":false,"context_lines":[{"line_number":9072,"context_line":"            # NOTE(lyarwood): Handle the P to Q LM during upgrade use case"},{"line_number":9073,"context_line":"            # where an instance has encrypted volumes attached using the"},{"line_number":9074,"context_line":"            # os-brick encryptors. Do not attempt to attach the encrypted"},{"line_number":9075,"context_line":"            # volume using native LUKS decryption on the destionation."},{"line_number":9076,"context_line":"            src_native_luks \u003d False"},{"line_number":9077,"context_line":"            if migrate_data.obj_attr_is_set(\u0027src_supports_native_luks\u0027):"},{"line_number":9078,"context_line":"                src_native_luks \u003d migrate_data.src_supports_native_luks"}],"source_content_type":"text/x-python","patch_set":13,"id":"1fa4df85_d749f0b6","side":"PARENT","line":9075,"range":{"start_line":9075,"start_character":57,"end_line":9075,"end_character":69},"updated":"2020-03-04 15:35:12.000000000","message":"phew, this typo was really bugging me","commit_id":"a83d853610b1d9c57bb6c672cc20b07db189cc10"}]}
