)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"06e5569ef7f7ff65fb81f4bcb423fe4969307e9d","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Aneesh Pachilangottil \u003caneesh.p@fungible.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-09-21 04:47:11 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NVMEoF volume driver for Fungible Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add cinder volume driver for the Fungible Storage Cluster."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1fea16a2_c24031c5","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":6},"updated":"2022-09-21 12:37:34.000000000","message":"Make sure this is the correct protocol. You are TCP, so say this is TCP","commit_id":"11dda9af2027e81fe55a701a8cd89203bbe6a264"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9231781667075de71c63c1dc8901726538081cab","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Aneesh Pachilangottil \u003caneesh.p@fungible.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-09-21 04:47:11 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NVMEoF volume driver for Fungible Storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add cinder volume driver for the Fungible Storage Cluster."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f843e52_4703f4c9","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":6},"in_reply_to":"1fea16a2_c24031c5","updated":"2022-09-22 21:34:06.000000000","message":"Done","commit_id":"11dda9af2027e81fe55a701a8cd89203bbe6a264"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"44eb6f7f85c71e7307bf0e68662f8413ff1bb894","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ebb7dd49_2f3b7be4","updated":"2022-07-13 02:53:00.000000000","message":"A few things noted inline.  Also, while you\u0027re waiting for reviews, you might want to look over the review checklist to make sure you haven\u0027t missed anything obvious:\nhttps://docs.openstack.org/cinder/latest/contributor/new_driver_checklist.html\n\nA primary concern right now is the status of your third party CI system.  You can find more info about that here:\nhttps://wiki.openstack.org/wiki/Cinder/tested-3rdParty-drivers\n","commit_id":"b18b8dfcea2f7455853f4d9fad709c07b72b2199"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"0f8e138908e175d18e73946093532ba9405fea38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5e937531_ef2d7a1a","updated":"2022-09-12 20:58:45.000000000","message":"run-Fungible Storage CI","commit_id":"b18b8dfcea2f7455853f4d9fad709c07b72b2199"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9231781667075de71c63c1dc8901726538081cab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8ef5f7ae_676d3794","updated":"2022-09-22 21:34:06.000000000","message":"Looks good. All comments now addressed.","commit_id":"40ade307e4a278ff50049af0335e23d1d3ebd507"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"4595f3c67de8516dd93dffeaddbd074a6c32b9d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c4afaaa3_2064215b","in_reply_to":"8ef5f7ae_676d3794","updated":"2022-09-23 00:26:11.000000000","message":"Thank you","commit_id":"40ade307e4a278ff50049af0335e23d1d3ebd507"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"91a1b6258f9573f57731fbb0172b7c44a7448169","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"cc4ef67b_acd1300f","updated":"2022-09-27 22:35:54.000000000","message":"\u003e Patch Set 8:\n\u003e \n\u003e Build failed.\n\u003e \n\u003e - run-devstack-cinder https://ec2-3-95-28-238.compute-1.amazonaws.com/zuul/t/local/build/74ac7a7908c84ae89dd8ef5fd9c1cde4 : FAILURE in 55m 07s\n\nrun-Fungible Storage CI","commit_id":"b08cc869ee55647c45ce592dc597f45317b64146"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"7d8fd965866d58f0e23203c3d05e03046e4c751f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"76c0c868_692e1dfa","updated":"2022-10-04 00:00:04.000000000","message":"run-Fungible Storage CI","commit_id":"b08cc869ee55647c45ce592dc597f45317b64146"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"6b97bc12131dec875b9980d15e28a131fe7e2ccd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"aab4bb69_dd79f639","updated":"2022-10-04 00:23:24.000000000","message":"run-Fungible Storage CI","commit_id":"b08cc869ee55647c45ce592dc597f45317b64146"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"b6e482e65fb11c54a2f9f6dd06baba9ef785806c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"024e70c5_8d894645","in_reply_to":"cc4ef67b_acd1300f","updated":"2022-10-03 23:58:32.000000000","message":"run-Fungible Storage CI","commit_id":"b08cc869ee55647c45ce592dc597f45317b64146"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"44d9610a2e309bdcebabbb1f758194e0bacdf9c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"658813b8_9eac0821","updated":"2022-10-07 12:17:28.000000000","message":"Some comments inline.\n","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"33e7a13d763893a4d2b65b8ba2a94a7fd425900d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"662026d3_ef8590b7","updated":"2022-10-10 12:42:38.000000000","message":"Replied inline.","commit_id":"676d66e7b48a06a8d3fdeabc0f81fc7f51d988ef"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"ee0efebe11cb5ce7d3767add50d2977fe14304f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"b42db9a2_e867c50d","updated":"2022-10-12 17:16:45.000000000","message":"\u003e Patch Set 14:\n\u003e \n\u003e Build failed.\n\u003e \n\u003e - run-devstack-cinder https://ec2-3-95-28-238.compute-1.amazonaws.com/zuul/t/local/build/5a5c9ed831c74d2794747b98bda38998 : POST_FAILURE in 20m 16s\n\nrun-Fungible Storage CI","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"454cd76ba9a5cb78eef4ed74f87965cce616c2c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"3375c537_3a5c7e36","updated":"2022-11-30 15:07:33.000000000","message":"\u003e Patch Set 14:\n\u003e \n\u003e Build succeeded.\n\u003e \n\u003e - run-devstack-cinder https://ec2-3-95-28-238.compute-1.amazonaws.com/zuul/t/local/build/5574aaf1bc1341229ecc409a4d9a5484 : SUCCESS in 1h 02m 55s\n\nI\u0027m still reviewing but\n\nLooks good, I think would be nice that Fungible Storage CI also run cinder-tempest-plugin tests because are specific for cinder and would help to know the full coverage scope of this driver. \n\nhttps://opendev.org/openstack/cinder-tempest-plugin","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"756a8d33_99a72ccb","updated":"2023-01-04 08:53:07.000000000","message":"I\u0027ve a few comments inline. I\u0027m not sure about why we want to enforce a default volume type from driver perspective. The scope of volume type is out of driver and an operator/admin creates it manually so we shouldn\u0027t enforce a particular volume type as default for a driver.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"9762c1e6b4cdd79b553a3349ffa1963607d8543c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"32efebad_2ef2a01c","updated":"2022-10-12 05:24:44.000000000","message":"My comments have been addressed. So +1","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fbfc8dd6559e692c65561dea5889417be2eb8425","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"ea1e9a17_4af4b901","in_reply_to":"3375c537_3a5c7e36","updated":"2023-01-04 05:29:01.000000000","message":"Do you mean os-brick? We\u0027ve mandated CIs to run on os-brick but nothing about cinder-tempest-plugin as we require the driver to be tested with the associated connector","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"f2cbce02_48df52dd","updated":"2023-01-17 17:16:16.000000000","message":"I still have concerns with the default volume type definitions used and few of the comments doesn\u0027t look addressed.\nApart from that we will discuss the clone in-use part in tomorrow\u0027s midcycle.","commit_id":"9230ee0fe589eee80f63fc64d93cc01e3b458efc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3748257dbc7fcc98e8f59ceee9c3eb93b78630fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"f836af7d_c6a68d3a","updated":"2023-01-19 12:15:35.000000000","message":"As discussed in yesterday\u0027s midcycle[1], this needs to be updated with logic to be able to clone in-use volumes.\n\n[1] https://etherpad.opendev.org/p/cinder-antelope-midcycles#L101","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"edfe69e5c24b2f40483ea71ef1287a851ba1714a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"4730ee4e_cec6ceaf","updated":"2023-01-20 17:01:37.000000000","message":"Thanks for the new driver! The good looks good, some doubts about the mention to victoria. The greatest issue I found is the coverage to the swagger_api_client, according to report it has only 32% [1]. I am okay of merging and working in a follow up patch later for improving it.\n\n[1] https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_1eb/849143/16/check/cinder-code-coverage/1eb1255/cover/d_2039197beb4dcf27_swagger_api_client_py.html","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"9d41f64da41d162baaeca101502722677d138a79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"0c45367b_b35436d7","in_reply_to":"4730ee4e_cec6ceaf","updated":"2023-01-22 20:09:26.000000000","message":"Thank you for the review. Victoria is not supported now. The code was added sometime back when it was supported. Removed unwanted code and references to Victoria.\n\nWe are planning to release the API client as a python package. Once it is released, swagger_api_client will be removed from the driver. Instead driver will import and use the python package. Will create a separate patch with the change once the package is available in pip.","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"9d41f64da41d162baaeca101502722677d138a79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"c421909c_6f6f0df9","in_reply_to":"f836af7d_c6a68d3a","updated":"2023-01-22 20:09:26.000000000","message":"Modified cloning logic to use snapshot. Removed restriction with in-use volumes.","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"9d41f64da41d162baaeca101502722677d138a79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"1121a6c2_62c7a03a","updated":"2023-01-22 20:09:26.000000000","message":"Comments are addressed. I had to bring back the \"total_capacity_gb\": \"unknown\" \u0026 \"free_capacity_gb\": \"unknown\" lines in get_volume_stats(). Without this volume creation was failing with message \"schedule allocate volume:Could not find any available weighted backend\". Looks like if \"unknown\" value is not returned, the scheduler thinks that space is insufficient for volume allocation. I see that another driver also is returning \"unknown\" may be because of the same reason\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/drivers/kioxia/kumoscale.py#L420","commit_id":"f45414fd1f7f7c11539d252e0840924eee38adc0"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"b7b6be41dee64a9df49ab2d392f441db7e920ff0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"e14167fd_94912846","updated":"2023-01-24 05:32:04.000000000","message":"\u003e Patch Set 18:\n\u003e \n\u003e Build failed.\n\u003e \n\u003e - run-devstack-cinder https://ec2-3-95-28-238.compute-1.amazonaws.com/zuul/t/local/build/0e548f2e00cf4c96b8e9ebf806fd2245 : POST_FAILURE in 8m 05s\n\nPlease ignore this. The failure is because of git checkout error. Fungible Storage CI already passed before on patch 18.","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d8f5ac53fdfb856ee36f789ec8b4137ee824ea4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"3fcdae20_3d7701ac","updated":"2023-01-25 02:32:21.000000000","message":"Code and tests look good.  Test coverage is 82% on the driver.  A few nits noted inline, but overall I didn\u0027t see anything concerning.  Documentation renders properly in HTML.\n\nThe CI could use some follow up work.  For one thing, you should be able to read the logs directly in a web browser, shouldn\u0027t have to download them.","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"2704637a78726872f433d5c90a61c7c9d4c95924","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"2c785937_95afe9c6","updated":"2023-01-23 04:55:07.000000000","message":"Failure from Zuul \"tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/0bdc05ea56004bafaeb44fee364e752a : FAILURE in 48m 41s\" doesn`t seem to be caused by any change from this patch. How to retrigger Zuul check alone?","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"57ecc35b028f6888f2e7a005c5abae509740bf4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"0d5e50ab_222b5d91","updated":"2023-01-24 17:41:48.000000000","message":"My main concerns are addressed, CI passed on an earlier run and as noted isn\u0027t failing now due to a legitimate reason. Would be good to know the command to trigger the CI though. anyway, from a driver merge perspective, this LGTM.","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4a456c55cd4a68bc3d6b599a78e2b36f15789f1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"f270c05d_b56ac6c3","updated":"2023-01-23 20:19:15.000000000","message":"recheck\n\ntempest-integrated-storage failed","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"579c883981474c1c3d668ae2753731bc1dc67dce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"de4c7452_d15b12e0","in_reply_to":"0d5e50ab_222b5d91","updated":"2023-01-24 18:38:36.000000000","message":"Thank you. The command to trigger the CI is \"run-Fungible Storage CI\".","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"}],"cinder/tests/unit/volume/drivers/fungible/test_driver.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6bd4927f3a130e424bc1bb6a5da6672903b8d756","unresolved":true,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def test_get_volume_stats_without_volume_type(self):"},{"line_number":189,"context_line":"        volume \u003d {\"volume_type_id\": \"mock_id\"}"},{"line_number":190,"context_line":"        volume_types.get_volume_type \u003d mock.Mock("},{"line_number":191,"context_line":"            return_value\u003d{\"extra_specs\": self.get_specs()})"},{"line_number":192,"context_line":"        self.assertIsNotNone("},{"line_number":193,"context_line":"            self.driver._get_volume_type_extra_specs(self, volume\u003dvolume))"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"d6dbf2ad_87e4b6dc","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":59},"updated":"2022-09-23 06:23:54.000000000","message":"This is one reason of failure for other drivers, you should not be mocking the cinder core methods, these are used at various places throughout our tests. and if you really want to mock it, use something like @mock.patch decorator or self.mock_object method.","commit_id":"9ba754e3ba91a7d24f33fbd7733c048c5ae3b8b9"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"cce379d7aea8509f01f8a71233ab5d53d6409743","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def test_get_volume_stats_without_volume_type(self):"},{"line_number":189,"context_line":"        volume \u003d {\"volume_type_id\": \"mock_id\"}"},{"line_number":190,"context_line":"        volume_types.get_volume_type \u003d mock.Mock("},{"line_number":191,"context_line":"            return_value\u003d{\"extra_specs\": self.get_specs()})"},{"line_number":192,"context_line":"        self.assertIsNotNone("},{"line_number":193,"context_line":"            self.driver._get_volume_type_extra_specs(self, volume\u003dvolume))"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"8529b53e_23bb99c8","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":59},"in_reply_to":"07f5eedf_0e83de5a","updated":"2022-10-07 01:02:37.000000000","message":"Done","commit_id":"9ba754e3ba91a7d24f33fbd7733c048c5ae3b8b9"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"dd6afd85eec54a60434247802fca9041dcbc6392","unresolved":true,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def test_get_volume_stats_without_volume_type(self):"},{"line_number":189,"context_line":"        volume \u003d {\"volume_type_id\": \"mock_id\"}"},{"line_number":190,"context_line":"        volume_types.get_volume_type \u003d mock.Mock("},{"line_number":191,"context_line":"            return_value\u003d{\"extra_specs\": self.get_specs()})"},{"line_number":192,"context_line":"        self.assertIsNotNone("},{"line_number":193,"context_line":"            self.driver._get_volume_type_extra_specs(self, volume\u003dvolume))"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"07f5eedf_0e83de5a","line":191,"range":{"start_line":190,"start_character":8,"end_line":191,"end_character":59},"in_reply_to":"d6dbf2ad_87e4b6dc","updated":"2022-09-27 16:45:11.000000000","message":"Resolved","commit_id":"9ba754e3ba91a7d24f33fbd7733c048c5ae3b8b9"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d8f5ac53fdfb856ee36f789ec8b4137ee824ea4a","unresolved":true,"context_lines":[{"line_number":144,"context_line":"            status\u003dFalse,"},{"line_number":145,"context_line":"            data\u003d\u0027{\"error_message\":\"mock_error_message\",\"status\":false}\u0027)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    \u0027\u0027\u0027@staticmethod"},{"line_number":148,"context_line":"    def get_volume_details():"},{"line_number":149,"context_line":"        return {"},{"line_number":150,"context_line":"            \"data\": {"},{"line_number":151,"context_line":"                \"ports\": {"},{"line_number":152,"context_line":"                    \"mock_id\": {"},{"line_number":153,"context_line":"                        \"host_nqn\": \"mock_nqn\","},{"line_number":154,"context_line":"                        \"ip\": \"127.0.0.1\""},{"line_number":155,"context_line":"                    }"},{"line_number":156,"context_line":"                }"},{"line_number":157,"context_line":"            }"},{"line_number":158,"context_line":"        }\u0027\u0027\u0027"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_get_driver_options(self):"},{"line_number":161,"context_line":"        self.assertIsNotNone(self.driver.get_driver_options())"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"debde198_80eb17b9","line":159,"range":{"start_line":147,"start_character":0,"end_line":159,"end_character":0},"updated":"2023-01-25 02:32:21.000000000","message":"nit: we usually don\u0027t commit commented-out code","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"2381e87caf79a568359e120afdf82cbb9e5b61b7","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            status\u003dFalse,"},{"line_number":145,"context_line":"            data\u003d\u0027{\"error_message\":\"mock_error_message\",\"status\":false}\u0027)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    \u0027\u0027\u0027@staticmethod"},{"line_number":148,"context_line":"    def get_volume_details():"},{"line_number":149,"context_line":"        return {"},{"line_number":150,"context_line":"            \"data\": {"},{"line_number":151,"context_line":"                \"ports\": {"},{"line_number":152,"context_line":"                    \"mock_id\": {"},{"line_number":153,"context_line":"                        \"host_nqn\": \"mock_nqn\","},{"line_number":154,"context_line":"                        \"ip\": \"127.0.0.1\""},{"line_number":155,"context_line":"                    }"},{"line_number":156,"context_line":"                }"},{"line_number":157,"context_line":"            }"},{"line_number":158,"context_line":"        }\u0027\u0027\u0027"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def test_get_driver_options(self):"},{"line_number":161,"context_line":"        self.assertIsNotNone(self.driver.get_driver_options())"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"dd250c12_f7381edc","line":159,"range":{"start_line":147,"start_character":0,"end_line":159,"end_character":0},"in_reply_to":"debde198_80eb17b9","updated":"2023-01-25 02:49:36.000000000","message":"Thank you for the review. Noted. Will do it in a followup patch.","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d8f5ac53fdfb856ee36f789ec8b4137ee824ea4a","unresolved":true,"context_lines":[{"line_number":397,"context_line":"            conn_info.get(\"data\").get(\"vol_uuid\"), fake_constants.UUID1)"},{"line_number":398,"context_line":"        self.assertEqual(conn_info.get(\"data\").get(\"host_nqn\"),"},{"line_number":399,"context_line":"                         self.get_connector().get(\"nqn\"))"},{"line_number":400,"context_line":"        \u0027\u0027\u0027Add more validation here\u0027\u0027\u0027"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    def test_negative_initialize_connection_without_nqn(self):"},{"line_number":403,"context_line":"        mock_volume \u003d self.get_volume()"}],"source_content_type":"text/x-python","patch_set":18,"id":"1e04a882_b156d3ef","line":400,"range":{"start_line":400,"start_character":7,"end_line":400,"end_character":20},"updated":"2023-01-25 02:32:21.000000000","message":"You can do that in a followup patch, or remove this note.","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"2381e87caf79a568359e120afdf82cbb9e5b61b7","unresolved":false,"context_lines":[{"line_number":397,"context_line":"            conn_info.get(\"data\").get(\"vol_uuid\"), fake_constants.UUID1)"},{"line_number":398,"context_line":"        self.assertEqual(conn_info.get(\"data\").get(\"host_nqn\"),"},{"line_number":399,"context_line":"                         self.get_connector().get(\"nqn\"))"},{"line_number":400,"context_line":"        \u0027\u0027\u0027Add more validation here\u0027\u0027\u0027"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    def test_negative_initialize_connection_without_nqn(self):"},{"line_number":403,"context_line":"        mock_volume \u003d self.get_volume()"}],"source_content_type":"text/x-python","patch_set":18,"id":"3058e354_14434ad8","line":400,"range":{"start_line":400,"start_character":7,"end_line":400,"end_character":20},"in_reply_to":"1e04a882_b156d3ef","updated":"2023-01-25 02:49:36.000000000","message":"Will do it in a followup patch.","commit_id":"00cb2887bac1c37bd100bdfce37b9f94cc7fbf2b"}],"cinder/volume/drivers/fungible/driver.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"44eb6f7f85c71e7307bf0e68662f8413ff1bb894","unresolved":true,"context_lines":[{"line_number":52,"context_line":"        1.0.0 - First source driver version"},{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    VERSION \u003d constants.VERSION"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":58,"context_line":"        \"\"\"Initialize the driver.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"725238b6_7326f2cd","line":55,"updated":"2022-07-13 02:53:00.000000000","message":"You also need to define CI_WIKI_NAME\nSee https://docs.openstack.org/cinder/latest/contributor/drivers.html for more info","commit_id":"b18b8dfcea2f7455853f4d9fad709c07b72b2199"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9231781667075de71c63c1dc8901726538081cab","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        1.0.0 - First source driver version"},{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    VERSION \u003d constants.VERSION"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":58,"context_line":"        \"\"\"Initialize the driver.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"27e67e8a_1bdc3c80","line":55,"in_reply_to":"725238b6_7326f2cd","updated":"2022-09-22 21:34:06.000000000","message":"Done","commit_id":"b18b8dfcea2f7455853f4d9fad709c07b72b2199"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"44eb6f7f85c71e7307bf0e68662f8413ff1bb894","unresolved":true,"context_lines":[{"line_number":806,"context_line":"                \u0027volume_backend_name\u0027),"},{"line_number":807,"context_line":"            \u0027vendor_name\u0027: \u0027Fungible Inc.\u0027,"},{"line_number":808,"context_line":"            \u0027driver_version\u0027: self.VERSION,"},{"line_number":809,"context_line":"            \u0027storage_protocol\u0027: \u0027NVMeOF\u0027,"},{"line_number":810,"context_line":"            \u0027total_capacity_gb\u0027: \u0027unknown\u0027,"},{"line_number":811,"context_line":"            \u0027free_capacity_gb\u0027: \u0027unknown\u0027"},{"line_number":812,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"e57cac0e_74d1c846","line":809,"range":{"start_line":809,"start_character":32,"end_line":809,"end_character":40},"updated":"2022-07-13 02:53:00.000000000","message":"Instead of the literal, please use cinder.common.constants.NVMEOF\n(See https://review.opendev.org/c/openstack/cinder/+/839063 for why)","commit_id":"b18b8dfcea2f7455853f4d9fad709c07b72b2199"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9231781667075de71c63c1dc8901726538081cab","unresolved":false,"context_lines":[{"line_number":806,"context_line":"                \u0027volume_backend_name\u0027),"},{"line_number":807,"context_line":"            \u0027vendor_name\u0027: \u0027Fungible Inc.\u0027,"},{"line_number":808,"context_line":"            \u0027driver_version\u0027: self.VERSION,"},{"line_number":809,"context_line":"            \u0027storage_protocol\u0027: \u0027NVMeOF\u0027,"},{"line_number":810,"context_line":"            \u0027total_capacity_gb\u0027: \u0027unknown\u0027,"},{"line_number":811,"context_line":"            \u0027free_capacity_gb\u0027: \u0027unknown\u0027"},{"line_number":812,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"fb210356_7390e5c7","line":809,"range":{"start_line":809,"start_character":32,"end_line":809,"end_character":40},"in_reply_to":"d4211041_7a7f2e7b","updated":"2022-09-22 21:34:06.000000000","message":"Done","commit_id":"b18b8dfcea2f7455853f4d9fad709c07b72b2199"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"801dbce2b367f7eaccac14220bcaa66b67db93bf","unresolved":true,"context_lines":[{"line_number":806,"context_line":"                \u0027volume_backend_name\u0027),"},{"line_number":807,"context_line":"            \u0027vendor_name\u0027: \u0027Fungible Inc.\u0027,"},{"line_number":808,"context_line":"            \u0027driver_version\u0027: self.VERSION,"},{"line_number":809,"context_line":"            \u0027storage_protocol\u0027: \u0027NVMeOF\u0027,"},{"line_number":810,"context_line":"            \u0027total_capacity_gb\u0027: \u0027unknown\u0027,"},{"line_number":811,"context_line":"            \u0027free_capacity_gb\u0027: \u0027unknown\u0027"},{"line_number":812,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"d4211041_7a7f2e7b","line":809,"range":{"start_line":809,"start_character":32,"end_line":809,"end_character":40},"in_reply_to":"e57cac0e_74d1c846","updated":"2022-07-19 19:09:35.000000000","message":"I would say look at https://review.opendev.org/c/openstack/cinder/+/849690 as well.\nThere are multiple NVMe protocols and you need to specify exactly which one you are using","commit_id":"b18b8dfcea2f7455853f4d9fad709c07b72b2199"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"44d9610a2e309bdcebabbb1f758194e0bacdf9c4","unresolved":true,"context_lines":[{"line_number":126,"context_line":"                        \"%(message)s, Error Message: %(abc)s)\")"},{"line_number":127,"context_line":"                    % {"},{"line_number":128,"context_line":"                        \"message\": fungible_res[\"message\"],"},{"line_number":129,"context_line":"                        \"abc\": fungible_res[\"error_message\"]"},{"line_number":130,"context_line":"                    }"},{"line_number":131,"context_line":"                )"},{"line_number":132,"context_line":"        except swagger_client.ApiException as e:"}],"source_content_type":"text/x-python","patch_set":11,"id":"add37e10_043d9544","line":129,"range":{"start_line":129,"start_character":25,"end_line":129,"end_character":28},"updated":"2022-10-07 12:17:28.000000000","message":"nit: Instead of \"abc\", can we use \"err\" or \"err_msg\"","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"458b596e6183a1f37608988f3a7f5910d095835c","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                        \"%(message)s, Error Message: %(abc)s)\")"},{"line_number":127,"context_line":"                    % {"},{"line_number":128,"context_line":"                        \"message\": fungible_res[\"message\"],"},{"line_number":129,"context_line":"                        \"abc\": fungible_res[\"error_message\"]"},{"line_number":130,"context_line":"                    }"},{"line_number":131,"context_line":"                )"},{"line_number":132,"context_line":"        except swagger_client.ApiException as e:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3b8bcfc9_55f25200","line":129,"range":{"start_line":129,"start_character":25,"end_line":129,"end_character":28},"in_reply_to":"add37e10_043d9544","updated":"2022-10-08 04:04:36.000000000","message":"Done","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"44d9610a2e309bdcebabbb1f758194e0bacdf9c4","unresolved":true,"context_lines":[{"line_number":230,"context_line":"            error \u003d json.loads(e.body)"},{"line_number":231,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":232,"context_line":"                data\u003d_("},{"line_number":233,"context_line":"                    \"Failed to create volume {volume[\u0027display_name\u0027]}: \""},{"line_number":234,"context_line":"                    \"%(error)s.\" %"},{"line_number":235,"context_line":"                    {\u0027error\u0027: error[\u0027error_message\u0027]}"},{"line_number":236,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":11,"id":"37bfd3c4_bd3a62c4","line":233,"range":{"start_line":233,"start_character":45,"end_line":233,"end_character":69},"updated":"2022-10-07 12:17:28.000000000","message":"This will just print text.\n\nThis line can be:\n\"Failed to create volume %(display_name): \"\n\nand later interpolate \u0027display_name\u0027 like \u0027error\u0027","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"458b596e6183a1f37608988f3a7f5910d095835c","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            error \u003d json.loads(e.body)"},{"line_number":231,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":232,"context_line":"                data\u003d_("},{"line_number":233,"context_line":"                    \"Failed to create volume {volume[\u0027display_name\u0027]}: \""},{"line_number":234,"context_line":"                    \"%(error)s.\" %"},{"line_number":235,"context_line":"                    {\u0027error\u0027: error[\u0027error_message\u0027]}"},{"line_number":236,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":11,"id":"20321878_d2c73431","line":233,"range":{"start_line":233,"start_character":45,"end_line":233,"end_character":69},"in_reply_to":"37bfd3c4_bd3a62c4","updated":"2022-10-08 04:04:36.000000000","message":"Done","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"44d9610a2e309bdcebabbb1f758194e0bacdf9c4","unresolved":true,"context_lines":[{"line_number":395,"context_line":"                task_uuid"},{"line_number":396,"context_line":"            )"},{"line_number":397,"context_line":"            status \u003d \"RUNNING\""},{"line_number":398,"context_line":"            while status \u003d\u003d \"RUNNING\":"},{"line_number":399,"context_line":"                # check task status after every 5 sec."},{"line_number":400,"context_line":"                # This is done to reduce number of api calls to backend"},{"line_number":401,"context_line":"                time.sleep(5)"},{"line_number":402,"context_line":"                task_response \u003d self.rest_client.get_volume_copy_task("},{"line_number":403,"context_line":"                    task_uuid)"},{"line_number":404,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"            # delete task if complete."},{"line_number":407,"context_line":"            LOG.info("},{"line_number":408,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""}],"source_content_type":"text/x-python","patch_set":11,"id":"8ea7cf0f_af1637cd","line":405,"range":{"start_line":398,"start_character":11,"end_line":405,"end_character":0},"updated":"2022-10-07 12:17:28.000000000","message":"Can we add any timeout logic?\nOtherwise in corner scenario, it may run for long time.","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"9762c1e6b4cdd79b553a3349ffa1963607d8543c","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                task_uuid"},{"line_number":396,"context_line":"            )"},{"line_number":397,"context_line":"            status \u003d \"RUNNING\""},{"line_number":398,"context_line":"            while status \u003d\u003d \"RUNNING\":"},{"line_number":399,"context_line":"                # check task status after every 5 sec."},{"line_number":400,"context_line":"                # This is done to reduce number of api calls to backend"},{"line_number":401,"context_line":"                time.sleep(5)"},{"line_number":402,"context_line":"                task_response \u003d self.rest_client.get_volume_copy_task("},{"line_number":403,"context_line":"                    task_uuid)"},{"line_number":404,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"            # delete task if complete."},{"line_number":407,"context_line":"            LOG.info("},{"line_number":408,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""}],"source_content_type":"text/x-python","patch_set":11,"id":"1bf2f1a6_620520fb","line":405,"range":{"start_line":398,"start_character":11,"end_line":405,"end_character":0},"in_reply_to":"5620c9ca_3829063a","updated":"2022-10-12 05:24:44.000000000","message":"Good to see \u0027fsc_clone_volume_timeout\u0027 option. Thanks.","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"49f6df1c8d4b0ecaa34ba0e381023df6d38a8bc2","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                task_uuid"},{"line_number":396,"context_line":"            )"},{"line_number":397,"context_line":"            status \u003d \"RUNNING\""},{"line_number":398,"context_line":"            while status \u003d\u003d \"RUNNING\":"},{"line_number":399,"context_line":"                # check task status after every 5 sec."},{"line_number":400,"context_line":"                # This is done to reduce number of api calls to backend"},{"line_number":401,"context_line":"                time.sleep(5)"},{"line_number":402,"context_line":"                task_response \u003d self.rest_client.get_volume_copy_task("},{"line_number":403,"context_line":"                    task_uuid)"},{"line_number":404,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"            # delete task if complete."},{"line_number":407,"context_line":"            LOG.info("},{"line_number":408,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""}],"source_content_type":"text/x-python","patch_set":11,"id":"5620c9ca_3829063a","line":405,"range":{"start_line":398,"start_character":11,"end_line":405,"end_character":0},"in_reply_to":"7c52ae60_3877d7cc","updated":"2022-10-11 23:44:54.000000000","message":"Thank you. I hope 5 minute is not a hard limit and it is configurable. Isn\u0027t that so? Depending on the size of the volume and IO load on the backend, the volume copy time can take longer than 5 minutes.\n\nAdded timeout in the API call. So the volume copy operation will timeout if not completed within that duration. Default value is set to 30 mins but is configurable through cinder config.","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"458b596e6183a1f37608988f3a7f5910d095835c","unresolved":true,"context_lines":[{"line_number":395,"context_line":"                task_uuid"},{"line_number":396,"context_line":"            )"},{"line_number":397,"context_line":"            status \u003d \"RUNNING\""},{"line_number":398,"context_line":"            while status \u003d\u003d \"RUNNING\":"},{"line_number":399,"context_line":"                # check task status after every 5 sec."},{"line_number":400,"context_line":"                # This is done to reduce number of api calls to backend"},{"line_number":401,"context_line":"                time.sleep(5)"},{"line_number":402,"context_line":"                task_response \u003d self.rest_client.get_volume_copy_task("},{"line_number":403,"context_line":"                    task_uuid)"},{"line_number":404,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"            # delete task if complete."},{"line_number":407,"context_line":"            LOG.info("},{"line_number":408,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""}],"source_content_type":"text/x-python","patch_set":11,"id":"d0c608dd_0c08d27e","line":405,"range":{"start_line":398,"start_character":11,"end_line":405,"end_character":0},"in_reply_to":"8ea7cf0f_af1637cd","updated":"2022-10-08 04:04:36.000000000","message":"Thank you for reviewing. Is there a recommended timeout value from the Cinder end? What is the maximum time that the create_cloned_volume() allowed to wait? The clone operation time can vary depending on the volume size. Just want to understand if there is any limit from the cinder/openstack end.","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"33e7a13d763893a4d2b65b8ba2a94a7fd425900d","unresolved":true,"context_lines":[{"line_number":395,"context_line":"                task_uuid"},{"line_number":396,"context_line":"            )"},{"line_number":397,"context_line":"            status \u003d \"RUNNING\""},{"line_number":398,"context_line":"            while status \u003d\u003d \"RUNNING\":"},{"line_number":399,"context_line":"                # check task status after every 5 sec."},{"line_number":400,"context_line":"                # This is done to reduce number of api calls to backend"},{"line_number":401,"context_line":"                time.sleep(5)"},{"line_number":402,"context_line":"                task_response \u003d self.rest_client.get_volume_copy_task("},{"line_number":403,"context_line":"                    task_uuid)"},{"line_number":404,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"            # delete task if complete."},{"line_number":407,"context_line":"            LOG.info("},{"line_number":408,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""}],"source_content_type":"text/x-python","patch_set":11,"id":"7c52ae60_3877d7cc","line":405,"range":{"start_line":398,"start_character":11,"end_line":405,"end_character":0},"in_reply_to":"d0c608dd_0c08d27e","updated":"2022-10-10 12:42:38.000000000","message":"As per my knowledge, cinder operations get timed out in 5 minutes.","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"44d9610a2e309bdcebabbb1f758194e0bacdf9c4","unresolved":true,"context_lines":[{"line_number":905,"context_line":"                    )"},{"line_number":906,"context_line":"            else:"},{"line_number":907,"context_line":"                LOG.warning("},{"line_number":908,"context_line":"                    \"Volume backend UUID not found in \" \"volume details.\")"},{"line_number":909,"context_line":"        else:"},{"line_number":910,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":911,"context_line":"                data\u003d_("}],"source_content_type":"text/x-python","patch_set":11,"id":"f3677f1d_bafed304","line":908,"range":{"start_line":908,"start_character":53,"end_line":908,"end_character":57},"updated":"2022-10-07 12:17:28.000000000","message":"Anything missing here ?","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"458b596e6183a1f37608988f3a7f5910d095835c","unresolved":false,"context_lines":[{"line_number":905,"context_line":"                    )"},{"line_number":906,"context_line":"            else:"},{"line_number":907,"context_line":"                LOG.warning("},{"line_number":908,"context_line":"                    \"Volume backend UUID not found in \" \"volume details.\")"},{"line_number":909,"context_line":"        else:"},{"line_number":910,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":911,"context_line":"                data\u003d_("}],"source_content_type":"text/x-python","patch_set":11,"id":"feb90e93_8047e300","line":908,"range":{"start_line":908,"start_character":53,"end_line":908,"end_character":57},"in_reply_to":"f3677f1d_bafed304","updated":"2022-10-08 04:04:36.000000000","message":"Nothing missing. Fixed it.","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"44d9610a2e309bdcebabbb1f758194e0bacdf9c4","unresolved":true,"context_lines":[{"line_number":1035,"context_line":"                    new_volume[\"provider_id\"], new_name)"},{"line_number":1036,"context_line":"            else:"},{"line_number":1037,"context_line":"                LOG.warning("},{"line_number":1038,"context_line":"                    \"New volume backend UUID not found in \" \"volume details.\")"},{"line_number":1039,"context_line":"            return {\"_name_id\": None}"},{"line_number":1040,"context_line":"        except swagger_client.ApiException as e:"},{"line_number":1041,"context_line":"            LOG.error("}],"source_content_type":"text/x-python","patch_set":11,"id":"3d11eab7_7e1257d7","line":1038,"range":{"start_line":1038,"start_character":58,"end_line":1038,"end_character":61},"updated":"2022-10-07 12:17:28.000000000","message":"same query as in line 908","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"458b596e6183a1f37608988f3a7f5910d095835c","unresolved":false,"context_lines":[{"line_number":1035,"context_line":"                    new_volume[\"provider_id\"], new_name)"},{"line_number":1036,"context_line":"            else:"},{"line_number":1037,"context_line":"                LOG.warning("},{"line_number":1038,"context_line":"                    \"New volume backend UUID not found in \" \"volume details.\")"},{"line_number":1039,"context_line":"            return {\"_name_id\": None}"},{"line_number":1040,"context_line":"        except swagger_client.ApiException as e:"},{"line_number":1041,"context_line":"            LOG.error("}],"source_content_type":"text/x-python","patch_set":11,"id":"d0509c36_ac6e0b53","line":1038,"range":{"start_line":1038,"start_character":58,"end_line":1038,"end_character":61},"in_reply_to":"3d11eab7_7e1257d7","updated":"2022-10-08 04:04:36.000000000","message":"Nothing missing. Fixed it.","commit_id":"1feb56fc3cbeed92999978a0626777740f30eace"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                        \u0027default_type\u0027: constants.DEFAULT_VOLUME_TYPE"},{"line_number":185,"context_line":"                    }"},{"line_number":186,"context_line":"                )"},{"line_number":187,"context_line":"                vol_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":188,"context_line":"                LOG.warning(msg)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            for key, value in specs.items():"}],"source_content_type":"text/x-python","patch_set":14,"id":"24216623_f377ae47","line":187,"range":{"start_line":187,"start_character":37,"end_line":187,"end_character":56},"updated":"2023-01-04 08:53:07.000000000","message":"how are we certain that this volume type \u0027VOL_TYPE_BLK_EC\u0027 will always exist in deployment?\nWe\u0027ve a method in cinder that returns the default volume type of the environment https://github.com/openstack/cinder/blob/d55a004e524f752c228a4a7bda5d24d4223325de/cinder/volume/volume_types.py#L216","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                        \u0027default_type\u0027: constants.DEFAULT_VOLUME_TYPE"},{"line_number":185,"context_line":"                    }"},{"line_number":186,"context_line":"                )"},{"line_number":187,"context_line":"                vol_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":188,"context_line":"                LOG.warning(msg)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            for key, value in specs.items():"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a44c402_c15ac3bc","line":187,"range":{"start_line":187,"start_character":37,"end_line":187,"end_character":56},"in_reply_to":"24216623_f377ae47","updated":"2023-01-12 05:14:21.000000000","message":"This is to handle the error scenario if the volume type in the deployment does not contain extra spec \u0027fungible:vol_type\u0027. If extra spec contain a value for key \u0027fungible:vol_type\u0027, then that will be used as the volume type. Otherwise default value of VOL_TYPE_BLK_EC will be used.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"d71477f04f30732fe3cc74a893bbff4a5ea3336e","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                        \u0027default_type\u0027: constants.DEFAULT_VOLUME_TYPE"},{"line_number":185,"context_line":"                    }"},{"line_number":186,"context_line":"                )"},{"line_number":187,"context_line":"                vol_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":188,"context_line":"                LOG.warning(msg)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            for key, value in specs.items():"}],"source_content_type":"text/x-python","patch_set":14,"id":"797aebc1_55b0e8bb","line":187,"range":{"start_line":187,"start_character":37,"end_line":187,"end_character":56},"in_reply_to":"5babbcaa_ae04da20","updated":"2023-01-18 04:53:02.000000000","message":"Ok. Removed usage of DEFAULT_VOLUME_TYPE. Volume creation will raise error if fungible:vol_type is not specified in the volume type requested. I believe this addresses the concerns.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"1c750a1223bdb5194deca566efc9dc1b98700077","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                        \u0027default_type\u0027: constants.DEFAULT_VOLUME_TYPE"},{"line_number":185,"context_line":"                    }"},{"line_number":186,"context_line":"                )"},{"line_number":187,"context_line":"                vol_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":188,"context_line":"                LOG.warning(msg)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            for key, value in specs.items():"}],"source_content_type":"text/x-python","patch_set":14,"id":"5c35da7a_dfb85aeb","line":187,"range":{"start_line":187,"start_character":37,"end_line":187,"end_character":56},"in_reply_to":"797aebc1_55b0e8bb","updated":"2023-01-23 00:33:43.000000000","message":"Done","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                        \u0027default_type\u0027: constants.DEFAULT_VOLUME_TYPE"},{"line_number":185,"context_line":"                    }"},{"line_number":186,"context_line":"                )"},{"line_number":187,"context_line":"                vol_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":188,"context_line":"                LOG.warning(msg)"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            for key, value in specs.items():"}],"source_content_type":"text/x-python","patch_set":14,"id":"5babbcaa_ae04da20","line":187,"range":{"start_line":187,"start_character":37,"end_line":187,"end_character":56},"in_reply_to":"7a44c402_c15ac3bc","updated":"2023-01-17 17:16:16.000000000","message":"I understand the logic of choosing a volume type here but that doesn\u0027t look correct for 2 reasons:\n1) Volume should be created with the volume type requested by the user and should not be changed in between. If the volume type is not compatible with the backend then it should error out but not swap the user specified volume type with another constants.DEFAULT_VOLUME_TYPE\n2) When deploying OpenStack, we only have 1 type available which is \u0027__DEFAULT__\u0027. The volume type used in the else clause is VOL_TYPE_BLK_EC which will not exist in the deployment by default. How are we going to ensure this volume type exists?","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":206,"context_line":"        :return: volume model updates"},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("}],"source_content_type":"text/x-python","patch_set":14,"id":"e941af6c_ba332ab9","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":51},"updated":"2023-01-04 08:53:07.000000000","message":"if this type isn\u0027t created than the volume create will fail, and the operator will have to create this volume type for volume create to pass. if that\u0027s the intent here, something doesn\u0027t seem right.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        :return: volume model updates"},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("}],"source_content_type":"text/x-python","patch_set":14,"id":"eb6cb66b_7f75eb7f","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":51},"in_reply_to":"e941af6c_ba332ab9","updated":"2023-01-12 05:14:21.000000000","message":"removed it","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":true,"context_lines":[{"line_number":206,"context_line":"        :return: volume model updates"},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("}],"source_content_type":"text/x-python","patch_set":14,"id":"f3e5f875_78fad99e","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":51},"in_reply_to":"eb6cb66b_7f75eb7f","updated":"2023-01-17 17:16:16.000000000","message":"I don\u0027t see this being removed...","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"d71477f04f30732fe3cc74a893bbff4a5ea3336e","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        :return: volume model updates"},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("}],"source_content_type":"text/x-python","patch_set":14,"id":"1fd7e3a3_14acc8a3","line":209,"range":{"start_line":209,"start_character":8,"end_line":209,"end_character":51},"in_reply_to":"f3e5f875_78fad99e","updated":"2023-01-18 04:53:02.000000000","message":"Done","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("},{"line_number":213,"context_line":"                self, volume"},{"line_number":214,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"908826a2_70ea63a8","line":211,"range":{"start_line":211,"start_character":11,"end_line":211,"end_character":27},"updated":"2023-01-04 08:53:07.000000000","message":"luckily we always assign a default type to the volume if not provided so the above type mentioned shouldn\u0027t fail but it will never be used either.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":true,"context_lines":[{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("},{"line_number":213,"context_line":"                self, volume"},{"line_number":214,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"922b5334_3f75693e","line":211,"range":{"start_line":211,"start_character":11,"end_line":211,"end_character":27},"in_reply_to":"831902cc_01e5144b","updated":"2023-01-17 17:16:16.000000000","message":"Don\u0027t see any change in this line either in PS15","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("},{"line_number":213,"context_line":"                self, volume"},{"line_number":214,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"831902cc_01e5144b","line":211,"range":{"start_line":211,"start_character":11,"end_line":211,"end_character":27},"in_reply_to":"908826a2_70ea63a8","updated":"2023-01-12 05:14:21.000000000","message":"removed it","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"d71477f04f30732fe3cc74a893bbff4a5ea3336e","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        # Default EC4+2 type volume"},{"line_number":209,"context_line":"        volume_type \u003d constants.DEFAULT_VOLUME_TYPE"},{"line_number":210,"context_line":"        fungible_specs \u003d {}"},{"line_number":211,"context_line":"        if \"volume_type_id\" in volume:"},{"line_number":212,"context_line":"            fungible_specs, volume_type \u003d self._get_volume_type_extra_specs("},{"line_number":213,"context_line":"                self, volume"},{"line_number":214,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"4563a31b_ba48d900","line":211,"range":{"start_line":211,"start_character":11,"end_line":211,"end_character":27},"in_reply_to":"922b5334_3f75693e","updated":"2023-01-18 04:53:02.000000000","message":"Done","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":368,"context_line":"            4. delete volume copy task"},{"line_number":369,"context_line":"        \"\"\""},{"line_number":370,"context_line":"        # in-use volume cannot be cloned."},{"line_number":371,"context_line":"        if src_vref.get(\"attach_status\") \u003d\u003d \"attached\":"},{"line_number":372,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":373,"context_line":"                data\u003d_(\"Clone of in-use volume is not allowed.\")"},{"line_number":374,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"dcd863e1_34ca1ddf","line":371,"range":{"start_line":371,"start_character":8,"end_line":371,"end_character":55},"updated":"2023-01-04 08:53:07.000000000","message":"cloning a volume is a must have property for a driver but I\u0027m not sure about in-use volumes. maybe a way to get around this is to create a temporary snapshot of this volume and create a volume from that snapshot but let\u0027s see if we want to enforce cloning of an attached volume","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"1c750a1223bdb5194deca566efc9dc1b98700077","unresolved":false,"context_lines":[{"line_number":368,"context_line":"            4. delete volume copy task"},{"line_number":369,"context_line":"        \"\"\""},{"line_number":370,"context_line":"        # in-use volume cannot be cloned."},{"line_number":371,"context_line":"        if src_vref.get(\"attach_status\") \u003d\u003d \"attached\":"},{"line_number":372,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":373,"context_line":"                data\u003d_(\"Clone of in-use volume is not allowed.\")"},{"line_number":374,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"1886b9a1_1986abf9","line":371,"range":{"start_line":371,"start_character":8,"end_line":371,"end_character":55},"in_reply_to":"378f2be7_2985dc9e","updated":"2023-01-23 00:33:43.000000000","message":"Done","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":true,"context_lines":[{"line_number":368,"context_line":"            4. delete volume copy task"},{"line_number":369,"context_line":"        \"\"\""},{"line_number":370,"context_line":"        # in-use volume cannot be cloned."},{"line_number":371,"context_line":"        if src_vref.get(\"attach_status\") \u003d\u003d \"attached\":"},{"line_number":372,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":373,"context_line":"                data\u003d_(\"Clone of in-use volume is not allowed.\")"},{"line_number":374,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"378f2be7_2985dc9e","line":371,"range":{"start_line":371,"start_character":8,"end_line":371,"end_character":55},"in_reply_to":"cce6a0d4_0a1bcbd8","updated":"2023-01-17 17:16:16.000000000","message":"Let\u0027s discuss this at the midcycle tomorrow\nhttps://etherpad.opendev.org/p/cinder-antelope-midcycles#L33","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":true,"context_lines":[{"line_number":368,"context_line":"            4. delete volume copy task"},{"line_number":369,"context_line":"        \"\"\""},{"line_number":370,"context_line":"        # in-use volume cannot be cloned."},{"line_number":371,"context_line":"        if src_vref.get(\"attach_status\") \u003d\u003d \"attached\":"},{"line_number":372,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":373,"context_line":"                data\u003d_(\"Clone of in-use volume is not allowed.\")"},{"line_number":374,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":14,"id":"cce6a0d4_0a1bcbd8","line":371,"range":{"start_line":371,"start_character":8,"end_line":371,"end_character":55},"in_reply_to":"dcd863e1_34ca1ddf","updated":"2023-01-12 05:14:21.000000000","message":"Will try the alternative of using snapshot if cloning of an attached volume is must have. Otherwise will leave it as is.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":400,"context_line":"            )"},{"line_number":401,"context_line":"            status \u003d \"RUNNING\""},{"line_number":402,"context_line":"            while status \u003d\u003d \"RUNNING\":"},{"line_number":403,"context_line":"                # check task status after every 5 sec."},{"line_number":404,"context_line":"                # This is done to reduce number of api calls to backend"},{"line_number":405,"context_line":"                time.sleep(5)"},{"line_number":406,"context_line":"                task_response \u003d self.rest_client.get_volume_copy_task("}],"source_content_type":"text/x-python","patch_set":14,"id":"0e92383e_5b577d6f","line":403,"range":{"start_line":403,"start_character":16,"end_line":403,"end_character":54},"updated":"2023-01-04 08:53:07.000000000","message":"5 seconds seems like a lot of time for small volumes. we need to consider that the volume size can be flexible, it can go from 1GB to few TBs.\nI think an exponential backoff time would be better here that would start with 1 second and then grow in exponential powers of 2 like 1,2,4,8 and we can set a maximum threshold to it so that the sleep time won\u0027t exceed that.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            )"},{"line_number":401,"context_line":"            status \u003d \"RUNNING\""},{"line_number":402,"context_line":"            while status \u003d\u003d \"RUNNING\":"},{"line_number":403,"context_line":"                # check task status after every 5 sec."},{"line_number":404,"context_line":"                # This is done to reduce number of api calls to backend"},{"line_number":405,"context_line":"                time.sleep(5)"},{"line_number":406,"context_line":"                task_response \u003d self.rest_client.get_volume_copy_task("}],"source_content_type":"text/x-python","patch_set":14,"id":"d13dd2b8_753aabd5","line":403,"range":{"start_line":403,"start_character":16,"end_line":403,"end_character":54},"in_reply_to":"0e92383e_5b577d6f","updated":"2023-01-12 05:14:21.000000000","message":"Done","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":408,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"            # delete task if complete."},{"line_number":411,"context_line":"            LOG.info("},{"line_number":412,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""},{"line_number":413,"context_line":"                \" %s is complete.\", task_uuid"},{"line_number":414,"context_line":"            )"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"            try:"},{"line_number":417,"context_line":"                self.rest_client.delete_volume_copy_task(task_uuid)"},{"line_number":418,"context_line":"            except swagger_client.ApiException as e:"}],"source_content_type":"text/x-python","patch_set":14,"id":"bb9dd541_0e7f4279","line":415,"range":{"start_line":411,"start_character":12,"end_line":415,"end_character":0},"updated":"2023-01-04 08:53:07.000000000","message":"how do we know that the task completed successfully?\nthe status could transition from RUNNING to ERROR (or any other failure state)\ndon\u0027t we require a check here to raise an exception in case a failure occurred during copy?","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":408,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"            # delete task if complete."},{"line_number":411,"context_line":"            LOG.info("},{"line_number":412,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""},{"line_number":413,"context_line":"                \" %s is complete.\", task_uuid"},{"line_number":414,"context_line":"            )"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"            try:"},{"line_number":417,"context_line":"                self.rest_client.delete_volume_copy_task(task_uuid)"},{"line_number":418,"context_line":"            except swagger_client.ApiException as e:"}],"source_content_type":"text/x-python","patch_set":14,"id":"839c5195_2636c2e6","line":415,"range":{"start_line":411,"start_character":12,"end_line":415,"end_character":0},"in_reply_to":"bb9dd541_0e7f4279","updated":"2023-01-12 05:14:21.000000000","message":"Added check","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":496,"context_line":""},{"line_number":497,"context_line":"            # high iops set to true when volume is migrating"},{"line_number":498,"context_line":"            mig_status \u003d ["},{"line_number":499,"context_line":"                fields.VolumeMigrationStatus.ERROR,"},{"line_number":500,"context_line":"                fields.VolumeMigrationStatus.SUCCESS,"},{"line_number":501,"context_line":"            ]"},{"line_number":502,"context_line":"            if volume.get(\"migration_status\") is not None:"}],"source_content_type":"text/x-python","patch_set":14,"id":"698eb540_574ad469","line":499,"range":{"start_line":499,"start_character":45,"end_line":499,"end_character":50},"updated":"2023-01-04 08:53:07.000000000","message":"why are we considering ERROR as a valid state in migration?","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":496,"context_line":""},{"line_number":497,"context_line":"            # high iops set to true when volume is migrating"},{"line_number":498,"context_line":"            mig_status \u003d ["},{"line_number":499,"context_line":"                fields.VolumeMigrationStatus.ERROR,"},{"line_number":500,"context_line":"                fields.VolumeMigrationStatus.SUCCESS,"},{"line_number":501,"context_line":"            ]"},{"line_number":502,"context_line":"            if volume.get(\"migration_status\") is not None:"}],"source_content_type":"text/x-python","patch_set":14,"id":"f4001bd1_ed621860","line":499,"range":{"start_line":499,"start_character":45,"end_line":499,"end_character":50},"in_reply_to":"698eb540_574ad469","updated":"2023-01-12 05:14:21.000000000","message":"fixed it","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":549,"context_line":"                                if dpu[\"uuid\"] \u003d\u003d primary_dpu:"},{"line_number":550,"context_line":"                                    portal_ip \u003d str(dpu[\"dataplane_ip\"])"},{"line_number":551,"context_line":"                                    portal_port \u003d str(port)"},{"line_number":552,"context_line":"                                    portal_transport \u003d \"tcp\""},{"line_number":553,"context_line":"                                    str_portals.append("},{"line_number":554,"context_line":"                                        ("},{"line_number":555,"context_line":"                                            portal_ip,"}],"source_content_type":"text/x-python","patch_set":14,"id":"d2d65f09_650cc7dc","line":552,"range":{"start_line":552,"start_character":36,"end_line":552,"end_character":60},"updated":"2023-01-04 08:53:07.000000000","message":"I\u0027m not sure if we support nvme over TCP in os-brick","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                                if dpu[\"uuid\"] \u003d\u003d primary_dpu:"},{"line_number":550,"context_line":"                                    portal_ip \u003d str(dpu[\"dataplane_ip\"])"},{"line_number":551,"context_line":"                                    portal_port \u003d str(port)"},{"line_number":552,"context_line":"                                    portal_transport \u003d \"tcp\""},{"line_number":553,"context_line":"                                    str_portals.append("},{"line_number":554,"context_line":"                                        ("},{"line_number":555,"context_line":"                                            portal_ip,"}],"source_content_type":"text/x-python","patch_set":14,"id":"41dca613_dd92431e","line":552,"range":{"start_line":552,"start_character":36,"end_line":552,"end_character":60},"in_reply_to":"970ea407_6cdac513","updated":"2023-01-17 17:16:16.000000000","message":"Yes, it is!","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                                if dpu[\"uuid\"] \u003d\u003d primary_dpu:"},{"line_number":550,"context_line":"                                    portal_ip \u003d str(dpu[\"dataplane_ip\"])"},{"line_number":551,"context_line":"                                    portal_port \u003d str(port)"},{"line_number":552,"context_line":"                                    portal_transport \u003d \"tcp\""},{"line_number":553,"context_line":"                                    str_portals.append("},{"line_number":554,"context_line":"                                        ("},{"line_number":555,"context_line":"                                            portal_ip,"}],"source_content_type":"text/x-python","patch_set":14,"id":"970ea407_6cdac513","line":552,"range":{"start_line":552,"start_character":36,"end_line":552,"end_character":60},"in_reply_to":"d2d65f09_650cc7dc","updated":"2023-01-12 05:14:21.000000000","message":"It is supported I believe. https://github.com/openstack/os-brick/blob/master/os_brick/initiator/connectors/nvmeof.py#L600","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":754,"context_line":"        :return: snapshot model updates"},{"line_number":755,"context_line":"        \"\"\""},{"line_number":756,"context_line":"        if \"provider_id\" in snapshot[\"volume\"]:"},{"line_number":757,"context_line":"            if snapshot[\"volume\"][\"provider_id\"]:"},{"line_number":758,"context_line":"                try:"},{"line_number":759,"context_line":"                    # request fungible to create snapshot"},{"line_number":760,"context_line":"                    fungible_res \u003d self.rest_client.create_snapshot("}],"source_content_type":"text/x-python","patch_set":14,"id":"fb29442b_7833a96b","line":757,"range":{"start_line":757,"start_character":15,"end_line":757,"end_character":48},"updated":"2023-01-04 08:53:07.000000000","message":"since we pass OVO objects to drivers, it would be better to use object syntax instead of dict. we discourage usage of dictionaries in favor of OVOs.\nsnapshot.volume.provider_id","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":754,"context_line":"        :return: snapshot model updates"},{"line_number":755,"context_line":"        \"\"\""},{"line_number":756,"context_line":"        if \"provider_id\" in snapshot[\"volume\"]:"},{"line_number":757,"context_line":"            if snapshot[\"volume\"][\"provider_id\"]:"},{"line_number":758,"context_line":"                try:"},{"line_number":759,"context_line":"                    # request fungible to create snapshot"},{"line_number":760,"context_line":"                    fungible_res \u003d self.rest_client.create_snapshot("}],"source_content_type":"text/x-python","patch_set":14,"id":"dc621d4b_b7ea85d1","line":757,"range":{"start_line":757,"start_character":15,"end_line":757,"end_character":48},"in_reply_to":"fb29442b_7833a96b","updated":"2023-01-12 05:14:21.000000000","message":"Ack","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":942,"context_line":"        attach_info, volume \u003d self._attach_volume(context, volume, properties)"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        try:"},{"line_number":945,"context_line":"            # Wait until the device path appears"},{"line_number":946,"context_line":"            self.wait_for_device(attach_info[\"device\"][\"path\"])"},{"line_number":947,"context_line":"            image_utils.upload_volume("},{"line_number":948,"context_line":"                context,"},{"line_number":949,"context_line":"                image_service,"}],"source_content_type":"text/x-python","patch_set":14,"id":"59892460_6f4b7a53","line":946,"range":{"start_line":945,"start_character":12,"end_line":946,"end_character":63},"updated":"2023-01-04 08:53:07.000000000","message":"is this a known thing in the driver that the LUN mapped takes time to appear? If that\u0027s the case, we are handling it for cinder but for nova and glance attachments, this will be an issue as we can\u0027t add this custom handling in every project.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":true,"context_lines":[{"line_number":942,"context_line":"        attach_info, volume \u003d self._attach_volume(context, volume, properties)"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        try:"},{"line_number":945,"context_line":"            # Wait until the device path appears"},{"line_number":946,"context_line":"            self.wait_for_device(attach_info[\"device\"][\"path\"])"},{"line_number":947,"context_line":"            image_utils.upload_volume("},{"line_number":948,"context_line":"                context,"},{"line_number":949,"context_line":"                image_service,"}],"source_content_type":"text/x-python","patch_set":14,"id":"a9f479af_29d3f933","line":946,"range":{"start_line":945,"start_character":12,"end_line":946,"end_character":63},"in_reply_to":"59892460_6f4b7a53","updated":"2023-01-12 05:14:21.000000000","message":"We have seen this only in the copy_image_to_volume \u0026 copy_volume_to_image path. For nova and glance, no issues are observed.\n\nIdeally the nvmeof connector should make sure that the device file exist before returning the path.","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":true,"context_lines":[{"line_number":942,"context_line":"        attach_info, volume \u003d self._attach_volume(context, volume, properties)"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        try:"},{"line_number":945,"context_line":"            # Wait until the device path appears"},{"line_number":946,"context_line":"            self.wait_for_device(attach_info[\"device\"][\"path\"])"},{"line_number":947,"context_line":"            image_utils.upload_volume("},{"line_number":948,"context_line":"                context,"},{"line_number":949,"context_line":"                image_service,"}],"source_content_type":"text/x-python","patch_set":14,"id":"b31baa91_230cacb8","line":946,"range":{"start_line":945,"start_character":12,"end_line":946,"end_character":63},"in_reply_to":"a9f479af_29d3f933","updated":"2023-01-17 17:16:16.000000000","message":"This seems like a strange case but maybe we can deal with it later","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"d71477f04f30732fe3cc74a893bbff4a5ea3336e","unresolved":false,"context_lines":[{"line_number":942,"context_line":"        attach_info, volume \u003d self._attach_volume(context, volume, properties)"},{"line_number":943,"context_line":""},{"line_number":944,"context_line":"        try:"},{"line_number":945,"context_line":"            # Wait until the device path appears"},{"line_number":946,"context_line":"            self.wait_for_device(attach_info[\"device\"][\"path\"])"},{"line_number":947,"context_line":"            image_utils.upload_volume("},{"line_number":948,"context_line":"                context,"},{"line_number":949,"context_line":"                image_service,"}],"source_content_type":"text/x-python","patch_set":14,"id":"8ab8f1ec_fd949aa0","line":946,"range":{"start_line":945,"start_character":12,"end_line":946,"end_character":63},"in_reply_to":"b31baa91_230cacb8","updated":"2023-01-18 04:53:02.000000000","message":"Ack","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"092eb3fa21b96717ee8158b8b12603e803fd89f7","unresolved":true,"context_lines":[{"line_number":1077,"context_line":"            \"vendor_name\": \"Fungible Inc.\","},{"line_number":1078,"context_line":"            \"driver_version\": self.VERSION,"},{"line_number":1079,"context_line":"            \"storage_protocol\": cinderconstants.NVMEOF_TCP,"},{"line_number":1080,"context_line":"            \"total_capacity_gb\": \"unknown\","},{"line_number":1081,"context_line":"            \"free_capacity_gb\": \"unknown\","},{"line_number":1082,"context_line":"        }"},{"line_number":1083,"context_line":"        return data"}],"source_content_type":"text/x-python","patch_set":14,"id":"9139f541_e2471881","line":1080,"range":{"start_line":1080,"start_character":33,"end_line":1080,"end_character":42},"updated":"2023-01-04 08:53:07.000000000","message":"why are we returning properties like this?","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"93ff1142940fd903c2d3ab2e79003de0399ba3aa","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"            \"vendor_name\": \"Fungible Inc.\","},{"line_number":1078,"context_line":"            \"driver_version\": self.VERSION,"},{"line_number":1079,"context_line":"            \"storage_protocol\": cinderconstants.NVMEOF_TCP,"},{"line_number":1080,"context_line":"            \"total_capacity_gb\": \"unknown\","},{"line_number":1081,"context_line":"            \"free_capacity_gb\": \"unknown\","},{"line_number":1082,"context_line":"        }"},{"line_number":1083,"context_line":"        return data"}],"source_content_type":"text/x-python","patch_set":14,"id":"024f230a_af1c2752","line":1080,"range":{"start_line":1080,"start_character":33,"end_line":1080,"end_character":42},"in_reply_to":"9139f541_e2471881","updated":"2023-01-12 05:14:21.000000000","message":"removed them","commit_id":"add476338f99d0b99376fc5f7ea097cc314f420f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":true,"context_lines":[{"line_number":412,"context_line":"                    task_uuid)"},{"line_number":413,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":414,"context_line":"                error_message \u003d task_response.get(\"error_message\")"},{"line_number":415,"context_line":"            "},{"line_number":416,"context_line":"            LOG.info("},{"line_number":417,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""},{"line_number":418,"context_line":"                \" %s is complete. status: %s\", task_uuid, status"}],"source_content_type":"text/x-python","patch_set":15,"id":"a4233472_4c6062b7","line":415,"in_reply_to":"0165243a_724f30d4","updated":"2023-01-17 17:16:16.000000000","message":"\u003e pep8: W293 blank line contains whitespace\n\nPlease fix.","commit_id":"9230ee0fe589eee80f63fc64d93cc01e3b458efc"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"d71477f04f30732fe3cc74a893bbff4a5ea3336e","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                    task_uuid)"},{"line_number":413,"context_line":"                status \u003d task_response[\"data\"][\"task_state\"]"},{"line_number":414,"context_line":"                error_message \u003d task_response.get(\"error_message\")"},{"line_number":415,"context_line":"            "},{"line_number":416,"context_line":"            LOG.info("},{"line_number":417,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""},{"line_number":418,"context_line":"                \" %s is complete. status: %s\", task_uuid, status"}],"source_content_type":"text/x-python","patch_set":15,"id":"2d07f2a9_1e94059b","line":415,"in_reply_to":"a4233472_4c6062b7","updated":"2023-01-18 04:53:02.000000000","message":"Done","commit_id":"9230ee0fe589eee80f63fc64d93cc01e3b458efc"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"76b42f23521660c933a97161655a83e4a30efef4","unresolved":true,"context_lines":[{"line_number":416,"context_line":"            LOG.info("},{"line_number":417,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""},{"line_number":418,"context_line":"                \" %s is complete. status: %s\", task_uuid, status"},{"line_number":419,"context_line":"                )"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"            if status \u003d\u003d \"FAILED\":"},{"line_number":422,"context_line":"                # Delete the new volume created since the data copy failed"}],"source_content_type":"text/x-python","patch_set":15,"id":"ebbef768_d05a6306","line":419,"in_reply_to":"a001183f_0ce44afb","updated":"2023-01-17 17:16:16.000000000","message":"\u003e pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line\n\nPlease fix.","commit_id":"9230ee0fe589eee80f63fc64d93cc01e3b458efc"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"d71477f04f30732fe3cc74a893bbff4a5ea3336e","unresolved":false,"context_lines":[{"line_number":416,"context_line":"            LOG.info("},{"line_number":417,"context_line":"                \"[clone_volume] Copy volume task with task_uuid:\""},{"line_number":418,"context_line":"                \" %s is complete. status: %s\", task_uuid, status"},{"line_number":419,"context_line":"                )"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"            if status \u003d\u003d \"FAILED\":"},{"line_number":422,"context_line":"                # Delete the new volume created since the data copy failed"}],"source_content_type":"text/x-python","patch_set":15,"id":"9d3cb0a5_2224f812","line":419,"in_reply_to":"ebbef768_d05a6306","updated":"2023-01-18 04:53:02.000000000","message":"Done","commit_id":"9230ee0fe589eee80f63fc64d93cc01e3b458efc"},{"author":{"_account_id":32425,"name":"saikrishnagk","email":"gopalakrishna.krishna@ibm.com","username":"gksk"},"change_message_id":"84926010f56319552af2689ce94e3c49721c238c","unresolved":true,"context_lines":[{"line_number":498,"context_line":"        if not host_nqn:"},{"line_number":499,"context_line":"            host_name \u003d connector.get(\"host\")"},{"line_number":500,"context_line":"            if host_name:"},{"line_number":501,"context_line":"                host_nqn \u003d \"nqn.2015-09.com.host:\" + host_name"},{"line_number":502,"context_line":"        if not host_nqn:"},{"line_number":503,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":504,"context_line":"                data\u003d_(\"initialize_connection error: no host nqn available!\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"fefddf94_2d508e1a","line":501,"updated":"2023-01-18 10:45:58.000000000","message":"NIT : Can you try to get this \"nqn.2015-09.com.host:\" hardcoded value from constant or config . because in feature if this values gets changed you need to raise another patch for this small change right ?","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"1c750a1223bdb5194deca566efc9dc1b98700077","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        if not host_nqn:"},{"line_number":499,"context_line":"            host_name \u003d connector.get(\"host\")"},{"line_number":500,"context_line":"            if host_name:"},{"line_number":501,"context_line":"                host_nqn \u003d \"nqn.2015-09.com.host:\" + host_name"},{"line_number":502,"context_line":"        if not host_nqn:"},{"line_number":503,"context_line":"            raise exception.VolumeBackendAPIException("},{"line_number":504,"context_line":"                data\u003d_(\"initialize_connection error: no host nqn available!\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"645d954d_f4683120","line":501,"in_reply_to":"fefddf94_2d508e1a","updated":"2023-01-23 00:33:43.000000000","message":"Thank you for reviewing the driver. Will take care of this in the next patch since we are short of time for merge.","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"edfe69e5c24b2f40483ea71ef1287a851ba1714a","unresolved":true,"context_lines":[{"line_number":606,"context_line":"                data \u003d {"},{"line_number":607,"context_line":"                    \"vol_uuid\": provider_id,"},{"line_number":608,"context_line":"                    \"target_nqn\": str(target_nqn),"},{"line_number":609,"context_line":"                    \"nqn\": str(target_nqn),  # For compatibility with Victoria"},{"line_number":610,"context_line":"                    \"host_nqn\": host_nqn,"},{"line_number":611,"context_line":"                    \"portals\": str_portals,"},{"line_number":612,"context_line":"                    \"volume_nguid\": vol_nguid,"}],"source_content_type":"text/x-python","patch_set":16,"id":"6dc9e70b_6c0c598c","line":609,"range":{"start_line":609,"start_character":47,"end_line":609,"end_character":78},"updated":"2023-01-20 17:01:37.000000000","message":"why do you want to provide compatibility to Victoria release ? Will you backport the code ?","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"9d41f64da41d162baaeca101502722677d138a79","unresolved":false,"context_lines":[{"line_number":606,"context_line":"                data \u003d {"},{"line_number":607,"context_line":"                    \"vol_uuid\": provider_id,"},{"line_number":608,"context_line":"                    \"target_nqn\": str(target_nqn),"},{"line_number":609,"context_line":"                    \"nqn\": str(target_nqn),  # For compatibility with Victoria"},{"line_number":610,"context_line":"                    \"host_nqn\": host_nqn,"},{"line_number":611,"context_line":"                    \"portals\": str_portals,"},{"line_number":612,"context_line":"                    \"volume_nguid\": vol_nguid,"}],"source_content_type":"text/x-python","patch_set":16,"id":"9517e982_1962bab2","line":609,"range":{"start_line":609,"start_character":47,"end_line":609,"end_character":78},"in_reply_to":"6dc9e70b_6c0c598c","updated":"2023-01-22 20:09:26.000000000","message":"Done","commit_id":"7f61a958285f93797211eb9642e098ea4f059e9d"}],"cinder/volume/drivers/fungible/swagger_api_client.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1c931dab24860f0c748ab022bab41208b9ebd3b9","unresolved":true,"context_lines":[{"line_number":30,"context_line":"import tempfile"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import certifi"},{"line_number":33,"context_line":"# python 2 and python 3 compatibility library"},{"line_number":34,"context_line":"import six"},{"line_number":35,"context_line":"from six.moves import http_client as httplib"},{"line_number":36,"context_line":"# python 2 and python 3 compatibility library"},{"line_number":37,"context_line":"from six.moves.urllib.parse import quote"},{"line_number":38,"context_line":"from six.moves.urllib.parse import urlencode"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"try:"},{"line_number":41,"context_line":"    import urllib3"}],"source_content_type":"text/x-python","patch_set":7,"id":"c8fc1f56_042c11b3","line":38,"range":{"start_line":33,"start_character":0,"end_line":38,"end_character":44},"updated":"2022-09-23 05:40:12.000000000","message":"please don\u0027t import six. We only support python3 runtimes in master. We\u0027ve already removed it from cinder codebase and don\u0027t encourage more usage of it.","commit_id":"9ba754e3ba91a7d24f33fbd7733c048c5ae3b8b9"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"cce379d7aea8509f01f8a71233ab5d53d6409743","unresolved":false,"context_lines":[{"line_number":30,"context_line":"import tempfile"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import certifi"},{"line_number":33,"context_line":"# python 2 and python 3 compatibility library"},{"line_number":34,"context_line":"import six"},{"line_number":35,"context_line":"from six.moves import http_client as httplib"},{"line_number":36,"context_line":"# python 2 and python 3 compatibility library"},{"line_number":37,"context_line":"from six.moves.urllib.parse import quote"},{"line_number":38,"context_line":"from six.moves.urllib.parse import urlencode"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"try:"},{"line_number":41,"context_line":"    import urllib3"}],"source_content_type":"text/x-python","patch_set":7,"id":"29f732f5_1a89dcc0","line":38,"range":{"start_line":33,"start_character":0,"end_line":38,"end_character":44},"in_reply_to":"a9ee13e4_65fea7bd","updated":"2022-10-07 01:02:37.000000000","message":"Done","commit_id":"9ba754e3ba91a7d24f33fbd7733c048c5ae3b8b9"},{"author":{"_account_id":34815,"name":"Aneesh Pachilangottil","email":"aneesh.p@fungible.com","username":"aneeeshp1"},"change_message_id":"dd6afd85eec54a60434247802fca9041dcbc6392","unresolved":true,"context_lines":[{"line_number":30,"context_line":"import tempfile"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import certifi"},{"line_number":33,"context_line":"# python 2 and python 3 compatibility library"},{"line_number":34,"context_line":"import six"},{"line_number":35,"context_line":"from six.moves import http_client as httplib"},{"line_number":36,"context_line":"# python 2 and python 3 compatibility library"},{"line_number":37,"context_line":"from six.moves.urllib.parse import quote"},{"line_number":38,"context_line":"from six.moves.urllib.parse import urlencode"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"try:"},{"line_number":41,"context_line":"    import urllib3"}],"source_content_type":"text/x-python","patch_set":7,"id":"a9ee13e4_65fea7bd","line":38,"range":{"start_line":33,"start_character":0,"end_line":38,"end_character":44},"in_reply_to":"c8fc1f56_042c11b3","updated":"2022-09-27 16:45:11.000000000","message":"Thank you for reviewing. Removed usage of six package.","commit_id":"9ba754e3ba91a7d24f33fbd7733c048c5ae3b8b9"}]}
