)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"8ee3fd13524b395c6bac64213ef5f811cd985292","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"63fe7dc7_1948f758","updated":"2022-04-06 14:52:51.000000000","message":"A couple of typos.","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7f51c1bd4678a414b6d14ffcdaedc61b7017e435","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6e62d017_21339ec0","updated":"2022-04-06 14:55:52.000000000","message":"Mostly looks good; request for some clarification inline.","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a83c9b48a6d5a39c7b3e8fc1bc37852804eb84e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c48168df_d185603a","updated":"2022-04-07 11:19:01.000000000","message":"Thanks Jay and Brian","commit_id":"4c886bfba409363323e53edfe85c067d20f7fc88"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"efa88e0231a7c5797c726290aa5c311e0c377076","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ca90caef_654ac35f","updated":"2024-03-18 21:13:38.000000000","message":"LGTM. Nit noted inline if you have to push a new patch set, but really minor.","commit_id":"57a98b425b0544f42e96169287f21709378333dd"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"d3b581419abecebcee736282e7f3f1fe26161113","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a54cedf6_15204ac5","updated":"2024-03-20 07:02:17.000000000","message":"recheck tempest-slow-py3 failure in VM test\n\ntest_server_connectivity_live_migration\n\n\nTraceback (most recent call last):\n  File \"/opt/stack/tempest/tempest/common/utils/__init__.py\", line 70, in wrapper\n    return f(*func_args, **func_kwargs)\n  File \"/opt/stack/tempest/tempest/scenario/test_network_advanced_server_ops.py\", line 370, in test_server_connectivity_live_migration\n    self._test_server_connectivity_live_migration()\n  File \"/opt/stack/tempest/tempest/scenario/test_network_advanced_server_ops.py\", line 224, in _test_server_connectivity_live_migration\n    self.assertLessEqual(\n  File \"/usr/lib/python3.10/unittest/case.py\", line 1238, in assertLessEqual\n    self.fail(self._formatMessage(msg, standardMsg))\n  File \"/usr/lib/python3.10/unittest/case.py\", line 675, in fail\n    raise self.failureException(msg)\nAssertionError: 9.0 not less than or equal to 5.0 : Downtime of 9.0 seconds is higher than expected \u00275.0\u0027","commit_id":"c8357b8777c99d7207feae67ffdd6b7b02812f02"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"6ff53c68f2a9ec6cdb9f8332d044b22a9de9008a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b2de0eeb_e6bce630","updated":"2024-03-25 04:25:22.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"c8357b8777c99d7207feae67ffdd6b7b02812f02"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"a3df60aca81fe68a1afd26a969b132da07e1565c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b8dea6e9_de3dd3f5","updated":"2024-03-25 04:51:55.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"c8357b8777c99d7207feae67ffdd6b7b02812f02"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"fe18e0006649eb4929406f453dab5553665fe9c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e5e40d0e_8705a969","updated":"2024-03-25 04:22:04.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"c8357b8777c99d7207feae67ffdd6b7b02812f02"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"f756f3550de988b520450324b5f2139155a0b39d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4df032d9_50a6a1d5","updated":"2024-03-25 04:28:24.000000000","message":"run-DellEMC PowerStore CI","commit_id":"c8357b8777c99d7207feae67ffdd6b7b02812f02"}],"cinder/interface/volume_driver.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7f51c1bd4678a414b6d14ffcdaedc61b7017e435","unresolved":true,"context_lines":[{"line_number":298,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        This method will be called for encrypted volumes. This attaches the"},{"line_number":301,"context_line":"        encryptor layer when connecting to the volume. The empty volumes is"},{"line_number":302,"context_line":"        already created before this method is called."},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        :param context: Security/policy info for the request."}],"source_content_type":"text/x-python","patch_set":1,"id":"3d92316e_e4315a57","line":301,"range":{"start_line":301,"start_character":65,"end_line":301,"end_character":72},"updated":"2022-04-06 14:55:52.000000000","message":"volume","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"8ee3fd13524b395c6bac64213ef5f811cd985292","unresolved":true,"context_lines":[{"line_number":298,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        This method will be called for encrypted volumes. This attaches the"},{"line_number":301,"context_line":"        encryptor layer when connecting to the volume. The empty volumes is"},{"line_number":302,"context_line":"        already created before this method is called."},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        :param context: Security/policy info for the request."}],"source_content_type":"text/x-python","patch_set":1,"id":"ec6ee161_8f680e32","line":301,"range":{"start_line":301,"start_character":65,"end_line":301,"end_character":72},"updated":"2022-04-06 14:52:51.000000000","message":"volume","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a83c9b48a6d5a39c7b3e8fc1bc37852804eb84e9","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        This method will be called for encrypted volumes. This attaches the"},{"line_number":301,"context_line":"        encryptor layer when connecting to the volume. The empty volumes is"},{"line_number":302,"context_line":"        already created before this method is called."},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        :param context: Security/policy info for the request."}],"source_content_type":"text/x-python","patch_set":1,"id":"7704b680_cdd77688","line":301,"range":{"start_line":301,"start_character":65,"end_line":301,"end_character":72},"in_reply_to":"3d92316e_e4315a57","updated":"2022-04-07 11:19:01.000000000","message":"Done","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a83c9b48a6d5a39c7b3e8fc1bc37852804eb84e9","unresolved":false,"context_lines":[{"line_number":298,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        This method will be called for encrypted volumes. This attaches the"},{"line_number":301,"context_line":"        encryptor layer when connecting to the volume. The empty volumes is"},{"line_number":302,"context_line":"        already created before this method is called."},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        :param context: Security/policy info for the request."}],"source_content_type":"text/x-python","patch_set":1,"id":"81156419_d2f481f7","line":301,"range":{"start_line":301,"start_character":65,"end_line":301,"end_character":72},"in_reply_to":"ec6ee161_8f680e32","updated":"2022-04-07 11:19:01.000000000","message":"Done","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"7f51c1bd4678a414b6d14ffcdaedc61b7017e435","unresolved":true,"context_lines":[{"line_number":300,"context_line":"        This method will be called for encrypted volumes. This attaches the"},{"line_number":301,"context_line":"        encryptor layer when connecting to the volume. The empty volumes is"},{"line_number":302,"context_line":"        already created before this method is called."},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        :param context: Security/policy info for the request."},{"line_number":305,"context_line":"        :param volume: The volume to create as OVO instance. Although it"},{"line_number":306,"context_line":"                       provides dictionary compatibility, drivers should"}],"source_content_type":"text/x-python","patch_set":1,"id":"79da1126_8b2e40ee","line":303,"updated":"2022-04-06 14:55:52.000000000","message":"I think Gorka\u0027s questions from your other patch also apply here, primarily, to point out that there\u0027s already a default implementation.  I\u0027m not sure whether this is one where it would make sense for a driver to override it?  There are probably some situations I\u0027m not thinking of, so it would be good to give an example like Gorka did in his patch.\n\nIf you can\u0027t think of one either, we can discuss out loud.","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a83c9b48a6d5a39c7b3e8fc1bc37852804eb84e9","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        This method will be called for encrypted volumes. This attaches the"},{"line_number":301,"context_line":"        encryptor layer when connecting to the volume. The empty volumes is"},{"line_number":302,"context_line":"        already created before this method is called."},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        :param context: Security/policy info for the request."},{"line_number":305,"context_line":"        :param volume: The volume to create as OVO instance. Although it"},{"line_number":306,"context_line":"                       provides dictionary compatibility, drivers should"}],"source_content_type":"text/x-python","patch_set":1,"id":"8800599b_e8ebb947","line":303,"in_reply_to":"79da1126_8b2e40ee","updated":"2022-04-07 11:19:01.000000000","message":"Done","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"8ee3fd13524b395c6bac64213ef5f811cd985292","unresolved":true,"context_lines":[{"line_number":304,"context_line":"        :param context: Security/policy info for the request."},{"line_number":305,"context_line":"        :param volume: The volume to create as OVO instance. Although it"},{"line_number":306,"context_line":"                       provides dictionary compatibility, drivers should"},{"line_number":307,"context_line":"                       use attributes to access it\u0027s values."},{"line_number":308,"context_line":"        :param image_service: The image service to use as"},{"line_number":309,"context_line":"                              ``GlanceImageService`` instance."},{"line_number":310,"context_line":"        :param image_id: The image identifier as string type representing ID"}],"source_content_type":"text/x-python","patch_set":1,"id":"c47290b9_0b9676bb","line":307,"range":{"start_line":307,"start_character":48,"end_line":307,"end_character":52},"updated":"2022-04-06 14:52:51.000000000","message":"its","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a83c9b48a6d5a39c7b3e8fc1bc37852804eb84e9","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        :param context: Security/policy info for the request."},{"line_number":305,"context_line":"        :param volume: The volume to create as OVO instance. Although it"},{"line_number":306,"context_line":"                       provides dictionary compatibility, drivers should"},{"line_number":307,"context_line":"                       use attributes to access it\u0027s values."},{"line_number":308,"context_line":"        :param image_service: The image service to use as"},{"line_number":309,"context_line":"                              ``GlanceImageService`` instance."},{"line_number":310,"context_line":"        :param image_id: The image identifier as string type representing ID"}],"source_content_type":"text/x-python","patch_set":1,"id":"0d7c0537_9dcedc8d","line":307,"range":{"start_line":307,"start_character":48,"end_line":307,"end_character":52},"in_reply_to":"c47290b9_0b9676bb","updated":"2022-04-07 11:19:01.000000000","message":"Done","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"efa88e0231a7c5797c726290aa5c311e0c377076","unresolved":true,"context_lines":[{"line_number":337,"context_line":"        This method is called when we request a ``create bootable volume from"},{"line_number":338,"context_line":"        image`` operation for an encrypted volume. There is a generic"},{"line_number":339,"context_line":"        implementation so it is not mandatory for drivers to implement it."},{"line_number":340,"context_line":"        This should be overriden/implemented by the driver when they can"},{"line_number":341,"context_line":"        provide optimization in the path to copy image from the Image service"},{"line_number":342,"context_line":"        (Glance) to the Block device (Cinder volume) than the generic"},{"line_number":343,"context_line":"        implementation. For example, RBD driver optimizes this by encrypting"}],"source_content_type":"text/x-python","patch_set":3,"id":"e15deca4_b1088c4e","line":340,"range":{"start_line":340,"start_character":64,"end_line":340,"end_character":68},"updated":"2024-03-18 21:13:38.000000000","message":"nit: it","commit_id":"57a98b425b0544f42e96169287f21709378333dd"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a26e08158fce4f3a182313557eae30c7e966f8e4","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        This method is called when we request a ``create bootable volume from"},{"line_number":338,"context_line":"        image`` operation for an encrypted volume. There is a generic"},{"line_number":339,"context_line":"        implementation so it is not mandatory for drivers to implement it."},{"line_number":340,"context_line":"        This should be overriden/implemented by the driver when they can"},{"line_number":341,"context_line":"        provide optimization in the path to copy image from the Image service"},{"line_number":342,"context_line":"        (Glance) to the Block device (Cinder volume) than the generic"},{"line_number":343,"context_line":"        implementation. For example, RBD driver optimizes this by encrypting"}],"source_content_type":"text/x-python","patch_set":3,"id":"0e3f160c_98d1c80a","line":340,"range":{"start_line":340,"start_character":64,"end_line":340,"end_character":68},"in_reply_to":"e15deca4_b1088c4e","updated":"2024-03-19 19:13:06.000000000","message":"Done","commit_id":"57a98b425b0544f42e96169287f21709378333dd"}],"cinder/volume/driver.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2c96b7cc3eb9d033baac342a2eba15471a0ed8bf","unresolved":true,"context_lines":[{"line_number":854,"context_line":"            self, context, volume, image_service, image_id):"},{"line_number":855,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        Refer to cinder/interface/volume_driver.py for addition info."},{"line_number":858,"context_line":"        \"\"\""},{"line_number":859,"context_line":"        self._copy_image_data_to_volume("},{"line_number":860,"context_line":"            context, volume, image_service, image_id, encrypted\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"61f4bb8d_988a7182","line":857,"range":{"start_line":857,"start_character":8,"end_line":857,"end_character":69},"updated":"2022-04-06 14:51:12.000000000","message":"I think this would be better as\n\n  Refer to :obj:`cinder.interface.volume_driver.VolumeDriverCore.copy_image_to_encrypted_volume` for additional information.","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b6a35eff702fdc369656eca0f54023e26d051c0e","unresolved":true,"context_lines":[{"line_number":854,"context_line":"            self, context, volume, image_service, image_id):"},{"line_number":855,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        Refer to cinder/interface/volume_driver.py for addition info."},{"line_number":858,"context_line":"        \"\"\""},{"line_number":859,"context_line":"        self._copy_image_data_to_volume("},{"line_number":860,"context_line":"            context, volume, image_service, image_id, encrypted\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a6ddbc7_e9d736d6","line":857,"range":{"start_line":857,"start_character":17,"end_line":857,"end_character":50},"updated":"2022-04-06 14:52:57.000000000","message":"update this to\n:obj:`cinder.interface.volume_driver.VolumeDriverCore.copy_image_to_encrypted_volume`\nas it generates hyperlink during rendering","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a83c9b48a6d5a39c7b3e8fc1bc37852804eb84e9","unresolved":false,"context_lines":[{"line_number":854,"context_line":"            self, context, volume, image_service, image_id):"},{"line_number":855,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        Refer to cinder/interface/volume_driver.py for addition info."},{"line_number":858,"context_line":"        \"\"\""},{"line_number":859,"context_line":"        self._copy_image_data_to_volume("},{"line_number":860,"context_line":"            context, volume, image_service, image_id, encrypted\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"908d77db_bd479e4b","line":857,"range":{"start_line":857,"start_character":17,"end_line":857,"end_character":50},"in_reply_to":"5a6ddbc7_e9d736d6","updated":"2022-04-07 11:19:01.000000000","message":"Done","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a83c9b48a6d5a39c7b3e8fc1bc37852804eb84e9","unresolved":false,"context_lines":[{"line_number":854,"context_line":"            self, context, volume, image_service, image_id):"},{"line_number":855,"context_line":"        \"\"\"Fetch image from image_service and write to encrypted volume."},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"        Refer to cinder/interface/volume_driver.py for addition info."},{"line_number":858,"context_line":"        \"\"\""},{"line_number":859,"context_line":"        self._copy_image_data_to_volume("},{"line_number":860,"context_line":"            context, volume, image_service, image_id, encrypted\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"f404317f_01de20d2","line":857,"range":{"start_line":857,"start_character":8,"end_line":857,"end_character":69},"in_reply_to":"61f4bb8d_988a7182","updated":"2022-04-07 11:19:01.000000000","message":"Done","commit_id":"b78a6c0053cc3a3186c22193625a62f7da42f9a4"}]}
