)]}'
{"id":"openstack%2Fglance_store~962398","triplet_id":"openstack%2Fglance_store~master~I5a4bad40ea03b0d746aaad392781f1b0fe78c8bc","project":"openstack/glance_store","branch":"master","topic":"fix-multiattach-handling","attention_set":{},"removed_from_attention_set":{"9303":{"account":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"last_update":"2025-10-08 16:48:04.000000000","reason":"Change was submitted"},"27615":{"account":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"last_update":"2025-10-08 16:48:04.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I5a4bad40ea03b0d746aaad392781f1b0fe78c8bc","subject":"Cinder: Standardize volume GET calls","status":"MERGED","created":"2025-09-26 19:55:26.000000000","updated":"2025-10-08 16:48:49.000000000","submitted":"2025-10-08 16:48:04.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"962398-fix-multiattach-handling","meta_rev_id":"833211dcc91075b605c151e8701c2aa0ce45a257","_number":962398,"virtual_id_number":962398,"owner":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-10-08 16:48:04.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":2,"date":"2025-10-08 08:03:38.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":2,"date":"2025-10-08 14:30:38.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"all":[{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":1,"date":"2025-10-08 14:30:38.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-09-26 21:43:05.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-10-08 08:03:38.000000000","updated_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"REVIEWER"},{"updated":"2025-10-08 14:30:38.000000000","updated_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"reviewer":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"state":"REVIEWER"}],"messages":[{"id":"08381a15dcd7d231ecb92a6a00c5b96d27068ec8","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"date":"2025-09-26 19:55:26.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"30a5b8679568463b83b86d36c3530554aa132fa9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-26 21:43:05.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/580e47e2fe4f46b4aacc30eecfe04ec7\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b95a7147159d4840a8a7b03086d58734 : SUCCESS in 1h 37m 24s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6bce508879c84e58becd6bf102aeb352 : SUCCESS in 1m 46s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0c9262a86a7a4cfda5393f7649be4a25 : SUCCESS in 3m 18s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/7980987763be40b1b67d1d0e718c423a : SUCCESS in 3m 42s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4e8c887f128845d49c2eef219281cd7c : SUCCESS in 3m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/61c74a4b5eb647af899d15b88d39b2ab : SUCCESS in 2m 49s\n- cross-glance-tox-functional https://zuul.opendev.org/t/openstack/build/e3e753e2dd384a7d9d8c0f8d042d44f3 : FAILURE in 4m 55s\n- glance_store-src-ceph-tempest https://zuul.opendev.org/t/openstack/build/8d9e1ca06f2c4935a387bae5c1094947 : FAILURE in 1h 46m 42s","accounts_in_message":[],"_revision_number":1},{"id":"4c36bc5887078f0d7bb1b6f5118c184af9b1124b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"date":"2025-09-27 17:50:02.000000000","message":"Uploaded patch set 2: Commit message was updated.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"71db9f84bab2f28b7a58531d1612366588399e40","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-09-27 20:26:15.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a8871adf94b44f879ff230412da7fdb3\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/43730a1cbcd446bab5d76757b7e8a894 : SUCCESS in 1h 19m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/86c58e4d7558484096fb2295418c6728 : SUCCESS in 3m 36s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/b8cbd2e011e946a3802ec37a85a56f72 : SUCCESS in 1m 52s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/f287cd0d079f4cdd937bb215dad77bb7 : SUCCESS in 2m 56s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0b6e76740a8d4d1190d779781c88b3d2 : SUCCESS in 5m 03s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/370e01dabd314922b95b9c02d4d05926 : SUCCESS in 3m 01s\n- cross-glance-tox-functional https://zuul.opendev.org/t/openstack/build/844537feee144896815c36320fa6b424 : SUCCESS in 8m 11s\n- glance_store-src-ceph-tempest https://zuul.opendev.org/t/openstack/build/0b8df87bf8d24132988d27ddca8a570b : SUCCESS in 2h 31m 17s","accounts_in_message":[],"_revision_number":2},{"id":"9bb87459fbb25bbc56b9f2b106803b4da10ddbd5","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2025-10-08 08:03:38.000000000","message":"Patch Set 2: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"06970a192fdae8fcdff33c67fc8ea0eb0cb7f325","author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"date":"2025-10-08 13:50:05.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"f5f6dcc7423ef7368e9cc7030be680c580558929","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2025-10-08 14:30:38.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"fcfc115b86414993845421a15377e3010fc75890","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 14:31:05.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"b200c5300f5ec7b312587ca00dc85214849c5625","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 16:48:04.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e209d63a39fe43cfbe1f14cebb5e1725\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/67fc77d2664c41eeb7d7f5bc3b1ff1ba : SUCCESS in 2h 04m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a697c483224942c2beb244adde194dc5 : SUCCESS in 2m 38s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/8e1a6528a5024650aba0f0d7295a55dd : SUCCESS in 3m 31s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/4ec948b5bdfb4dc888695073e5050ea8 : SUCCESS in 2m 59s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bb2825ad18d44ed592f4f697c980e2fc : SUCCESS in 2m 20s","accounts_in_message":[],"_revision_number":2},{"id":"2fbc2a50661f68d02122afadaeaf8dee8c5ed208","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 16:48:04.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"833211dcc91075b605c151e8701c2aa0ce45a257","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-08 16:48:49.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/54a22347c525402dbceb788f190af9ff\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/30dde56ebf0043dfbda8943039887c37 : SUCCESS in 33s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"3d55084cde7f30aba2ec41c003242d2762cf4413","revisions":{"da3810c7b87ce96a33f55b2bdcc44009b82ace18":{"kind":"REWORK","_number":1,"created":"2025-09-26 19:55:26.000000000","uploader":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"ref":"refs/changes/98/962398/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance_store","ref":"refs/changes/98/962398/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance_store refs/changes/98/962398/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance_store refs/changes/98/962398/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance_store refs/changes/98/962398/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance_store refs/changes/98/962398/1"}}},"commit":{"parents":[{"commit":"111b04f54573933bf193f819f9e216c97e68de96","subject":"Merge \"Fix outdated default envlist\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance_store/commit/111b04f54573933bf193f819f9e216c97e68de96"}]}],"author":{"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","date":"2025-09-26 19:42:51.000000000","tz":0},"committer":{"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","date":"2025-09-26 19:54:59.000000000","tz":0},"subject":"Cinder: Standardize volume GET calls","message":"Cinder: Standardize volume GET calls\n\nThe logic to fetch a volume details is scattered all over which\nmakes it hard to read as well as maintain.\nThere are currently two ways we fetch volume details:\n1. client.volumes.get\n2. volume.manager.get\n\nThe first one being the correct way maintaining abstraction and\nusing the cinderclient for API calls.\nThe problem with current code is:\n1. Hard to read and maintain\n2. Any change in volume GET logic will require changes across\nwhole store\n3. Not handling exceptions in a common place\n4. vulnerable to bugs as issue in one place cannot be detected\neasily by other code paths and needs to be isolately tested\n\nThis patch aims to standardize the volume GET call so we can\navoid the above stated issues.\nThis patch has been tested with the following operations massaging\nevery place modified in this patch:\n1. Create image - _wait_volume_status\n2. Create \u003e 1 GB image\n2.1 offline - _call_offline_extend\n2.2 online - _call_online_extend\n3. upload volume to image - is_image_associated_with_store\n\nChange-Id: I5a4bad40ea03b0d746aaad392781f1b0fe78c8bc\nSigned-off-by: Rajat Dhasmana \u003crajatdhasmana@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance_store/commit/da3810c7b87ce96a33f55b2bdcc44009b82ace18"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance_store/commit/da3810c7b87ce96a33f55b2bdcc44009b82ace18"}]},"branch":"refs/heads/master"},"3d55084cde7f30aba2ec41c003242d2762cf4413":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2025-09-27 17:50:02.000000000","uploader":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"ref":"refs/changes/98/962398/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance_store","ref":"refs/changes/98/962398/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance_store refs/changes/98/962398/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance_store refs/changes/98/962398/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance_store refs/changes/98/962398/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance_store refs/changes/98/962398/2"}}},"commit":{"parents":[{"commit":"111b04f54573933bf193f819f9e216c97e68de96","subject":"Merge \"Fix outdated default envlist\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance_store/commit/111b04f54573933bf193f819f9e216c97e68de96"}]}],"author":{"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","date":"2025-09-26 19:42:51.000000000","tz":0},"committer":{"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","date":"2025-09-27 16:13:55.000000000","tz":0},"subject":"Cinder: Standardize volume GET calls","message":"Cinder: Standardize volume GET calls\n\nThe logic to fetch a volume details is scattered all over which\nmakes it hard to read as well as maintain.\nThere are currently two ways we fetch volume details:\n1. client.volumes.get\n2. volume.manager.get\n\nThe first one being the correct way maintaining abstraction and\nusing the cinderclient for API calls.\nThe problem with current code is:\n1. Hard to read and maintain\n2. Any change in volume GET logic will require changes across\nwhole store\n3. Not handling exceptions in a common place\n4. vulnerable to bugs as issue in one place cannot be detected\neasily by other code paths and needs to be isolately tested\n\nThis patch aims to standardize the volume GET call so we can\navoid the above stated issues.\nThis patch has been tested with the following operations massaging\nevery place modified in this patch:\n1. Create image - _wait_volume_status\n2. Create \u003e 1 GB image\n2.1 offline - _call_offline_extend\n2.2 online - _call_online_extend\n3. upload volume to image - is_image_associated_with_store\n\nDepends-On: https://review.opendev.org/c/openstack/glance/+/962445\n\nSigned-off-by: Rajat Dhasmana \u003crajatdhasmana@gmail.com\u003e\nChange-Id: I5a4bad40ea03b0d746aaad392781f1b0fe78c8bc\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance_store/commit/3d55084cde7f30aba2ec41c003242d2762cf4413"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance_store/commit/3d55084cde7f30aba2ec41c003242d2762cf4413"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
