)]}'
{"id":"openstack%2Fcinder-specs~726070","triplet_id":"openstack%2Fcinder-specs~master~Id03f0c165d7b181cbc215afde66114180f20cb15","project":"openstack/cinder-specs","branch":"master","topic":"bp/volume-list-query-optimization","attention_set":{"30407":{"account":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"last_update":"2022-03-31 14:23:27.000000000","reason":"Simon Dodsley replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Id03f0c165d7b181cbc215afde66114180f20cb15","subject":"volume list query optimization","status":"NEW","created":"2020-05-07 09:33:57.000000000","updated":"2026-01-15 14:43:37.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":12,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"fd4ca1d81b31a15fe68accf7679401c9d512a8fe","_number":726070,"virtual_id_number":726070,"owner":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"tag":"autogenerated:zuul:check","value":1,"date":"2022-03-04 05:58:23.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"recommended":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"disliked":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"all":[{"value":1,"date":"2025-12-05 14:40:54.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},{"value":1,"date":"2025-12-05 14:30:01.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},{"value":-1,"date":"2026-01-15 14:43:37.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":-1,"date":"2026-01-15 14:25:44.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"value":1,"date":"2022-04-17 06:21:12.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}],"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"}],"CC":[{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2020-05-07 09:35:27.000000000","updated_by":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"reviewer":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"state":"REVIEWER"},{"updated":"2020-06-24 13:55:59.000000000","updated_by":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"reviewer":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"state":"REVIEWER"},{"updated":"2020-07-07 16:07:50.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"},{"updated":"2020-07-10 06:10:19.000000000","updated_by":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"reviewer":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"state":"REVIEWER"},{"updated":"2020-07-10 06:11:37.000000000","updated_by":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"reviewer":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"state":"REVIEWER"},{"updated":"2020-10-15 09:46:29.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":"2021-06-28 02:49:55.000000000","updated_by":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"reviewer":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"state":"CC"},{"updated":"2022-03-03 17:47:06.000000000","updated_by":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"reviewer":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"state":"REVIEWER"},{"updated":"2022-03-04 02:02:41.000000000","updated_by":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"reviewer":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"state":"REMOVED"},{"updated":"2022-04-17 06:21:12.000000000","updated_by":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"reviewer":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"state":"REVIEWER"},{"updated":"2025-12-05 14:30:01.000000000","updated_by":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"reviewer":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"state":"REVIEWER"},{"updated":"2025-12-05 14:40:54.000000000","updated_by":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"reviewer":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"state":"REVIEWER"},{"updated":"2025-12-05 15:23:47.000000000","updated_by":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"reviewer":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"state":"CC"},{"updated":"2026-01-15 14:25:44.000000000","updated_by":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"reviewer":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"state":"REVIEWER"}],"messages":[{"id":"31b26c1248b572d38f96efb5f469cff6b96f4dd0","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-05-07 09:33:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c6aac2da64c659b62ac1c5e4a1b82cf0f5a5d9da","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-05-07 09:34:44.000000000","message":"Topic set to bp/volume-list-query-optimization","accounts_in_message":[],"_revision_number":1},{"id":"49d321ad76c809b3e0257dce45107d18802811e0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-07 09:39:38.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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1513400fbfb9477f8669a79879b3b9f8 : FAILURE in 4m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3e9b6b6d4f0c4360bcb295cceccd284f : SUCCESS in 4m 44s","accounts_in_message":[],"_revision_number":1},{"id":"f78d5c34e74ef880fbd2e836d4e94f36d2d926a5","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-05-07 09:49:19.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"3077ba3e2726dd4dfbc060534df0a6e72872bb34","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-07 09:56:16.000000000","message":"Patch Set 2: 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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6362faa95d444863a48f07a2d7180102 : FAILURE in 4m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c968546815954bf6831063ea84c7a602 : SUCCESS in 5m 40s","accounts_in_message":[],"_revision_number":2},{"id":"008502479c45d62e4ab3ac108148fec2b015e94f","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-05-10 11:39:31.000000000","message":"Patch Set 2:\n\nrecheck","accounts_in_message":[],"_revision_number":2},{"id":"aeca424a908570c118ef6fb59e29b48fd17fe076","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-10 11:46:19.000000000","message":"Patch Set 2:\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c8750190facf4da39180c25caabf1d80 : FAILURE in 6m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f9ce4b09bfc94085b282c189cf768235 : SUCCESS in 4m 52s","accounts_in_message":[],"_revision_number":2},{"id":"a42ea8784cf4aa6aeb4122647a8fc9b92f70e263","author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"date":"2020-05-11 01:11:59.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"fb5488041309d3dab30794e20109396cb2b372b9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-05-11 01:19:02.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e5bde4942c4846509d52ca9e46cbd363 : SUCCESS in 6m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9fcfdc0a20eb4eb0b2efa86e2558d31e : SUCCESS in 4m 37s","accounts_in_message":[],"_revision_number":3},{"id":"438bf3ce95d81ab3a444fc9e6f2cdbb78bc82f4c","author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"date":"2020-06-24 13:55:59.000000000","message":"Patch Set 3: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"0a9830a11ce88c194e10f13526fe283dc8b8dc8d","author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"date":"2020-06-24 14:00:31.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"2cdfab6e8d67463f5782fc7909c415475736fe62","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2020-06-25 02:27:31.000000000","message":"Patch Set 3:\n\nI took the action item at today\u0027s virtual mid-cycle meeting to summarize the discussion here so that the spec can be revised.  While doing that, I looked through the code carefully, and I think that this spec is on the right track, because there seem to be several bugs associated with this issue.  In any case, I need other reviewers to read through and sanity check the following:\n\nBackground\n----------\n\nTo fix a quota computation issue described in https://bugs.launchpad.net/cinder/+bug/1504007, some internal volume statuses were introduced: \u0027managing\u0027, \u0027error_managing\u0027, and \u0027error_managing_deleting\u0027.\n(We will call these the \"managing statuses\".)\n\nThe managing statuses were intentionally *not* exposed in the REST API, and do not occur in the list of possible volume statuses: https://opendev.org/openstack/cinder/src/commit/f0a3ea02465752f8d22d6b19d80f6ef084757a17/api-ref/source/v3/volumes-v3-volumes.inc#L19-L61\nSo as far as operators/end-users are concerned, these statuses do not exist.\n\nThis is implemented in the cinder.api.v2.views.volumes.ViewBuilder class (which is the base class of cinder.api.v3.views.volumes.ViewBuilder).  What it does is map the managing statuses to \"official\" statuses as follows:\n\u0027managing\u0027: \u0027creating\u0027,\n\u0027error_managing\u0027: \u0027error\u0027,\n\u0027error_managing_deleting\u0027: \u0027deleting\u0027,\nso that only the \"official\" status will appear when a volume with one of the managing statuses is displayed.\n\nAs a result, if a user does:\nGET /v3/{project_id}/volumes\nGET /v3/{project_id}/volumes/detail\nGET /v3/{project_id}/volumes/{volume_id}\nthe user can see a volume that\u0027s in a managing status, it\u0027s just that the status will be displayed as either \u0027creating\u0027, \u0027error\u0027, or \u0027deleting\u0027.\n\n\nThe problem\n-----------\n\nA user makes the GET /v3/{project_id}/volumes/detail call and notices x volumes in \u0027error\u0027 status.  The user then makes the call\nGET /v3/{project_id}/volumes/detail?status\u003derror\nand receives a list of y volumes, where y \u003c x.\n\nThe \"missing\" volumes are in the internal \u0027error_managing\u0027 status.\nIf the user picks one of the volumes in x but not y, and does a\nGET /v3/{project_id}/volumes/{volume_id}\nthe volume shows as having status \u0027error\u0027.  (A similar problem occurs if a user filters on status \u0027creating\u0027 or \u0027deleting\u0027.)\n\nThis is confusing.\n\n\nThe situation\n-------------\n\nIf I\u0027ve described the situation correctly above, this is really a bug.\n(1) Volumes in managing statuses are already displayed to end users as being in an \"official\" status.  In other words, we already decided back in September 2016 with Change-Id I5887c5f2ded6d6a18f497a018d5bf6105bc5afd7 that for the purposes of the REST API, a volume with internal status \u0027managing\u0027 was \"really\" in the status \u0027creating\u0027, and the same for the other managing statuses.\n(2) When a user filters the volume list on status\u003derror, they should see all volumes that are considered in error status from the REST API point of view regardless of what the purely internal status of the volume is.\n\nSince it\u0027s a bug, I don\u0027t think that fixing this requires a special flag be added to the API or a microversion.  In fact, if an end user can make the call:\nGET /v3/{project_id}/volumes/detail?status\u003derror_managing\nand get only the volumes with internal status \u0027error_managing\u0027 (though they\u0027ll be displayed as \u0027error\u0027), then that is also a bug, because as far as the REST API is concerned, there is no such status.  This same bug covers these:\nGET /v3/{project_id}/volumes/detail?status\u003dmanaging\nGET /v3/{project_id}/volumes/detail?status\u003derror_managing_deleting\nThese calls should not return any volumes, there are no such statuses.\n\nNote that using microversion 3.34,\nGET /v3/{project_id}/volumes/detail?status~\u003derror\nshould (properly) return the volumes in \u0027error_managing\u0027 (though they will be displayed as \u0027error\u0027).  It will also pull up volumes in internal status \u0027error_managing_deleting\u0027 (though they will be displayed as having status \u0027deleting\u0027, and should not actually be included in the response; this is the third bug associated with this issue).\n\n\nConclusion\n----------\n\nIf I\u0027m correct, these are bugs.  But we do need to figure out the best way to implement this.  The database isn\u0027t just used by the REST API, it\u0027s used by a lot of the code, and while it\u0027s not OK for users to get all the volumes with status\u003derror_managing, it\u0027s perfectly OK for cinder to make that kind of query internally for its own purposes.  Likewise, when cinder internally wants to get all the volumes in status \u0027creating\u0027, I think it would be a mistake to include volumes in status \u0027managing\u0027 in the list (though, of course, we will want to include such images when a user makes a request for all \u0027creating\u0027 images via the REST API.","accounts_in_message":[],"_revision_number":3},{"id":"f2b97bb1dd097621d06fc263c27792324c4159dd","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2020-06-25 02:28:42.000000000","message":"Patch Set 3: Code-Review+1\n\nForgot to vote.  I will at least +1 this, but it clearly needs some more discussion.","accounts_in_message":[],"_revision_number":3},{"id":"3b04a967c66761df825b8eab7d960f7f2eb0529f","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2020-07-07 16:07:50.000000000","message":"Patch Set 3: -Code-Review\n\nWe\u0027ve decided that this is really a bug.  See https://bugs.launchpad.net/cinder/+bug/1885961","accounts_in_message":[],"_revision_number":3},{"id":"6bfa30f5082d1ba7e6233b903db1b8379e9239d9","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-07-08 01:11:19.000000000","message":"Patch Set 3:\n\nhi, Brian Rosmaita.\nplease see https://review.opendev.org/#/c/725778/ \nand https://bugs.launchpad.net/cinder/+bug/1877028\ni have proposed the bug and submitted a version of the code to resolve it, please review it, thank you.","accounts_in_message":[],"_revision_number":3},{"id":"86994e2c628159bff516871d5dec5de1728c5822","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-07-08 01:19:50.000000000","message":"Patch Set 3:\n\nhi, Brian Rosmaita.\nI will continue to optimize https://review.opendev.org/#/c/725778/\naccording to your solution Suggestions","accounts_in_message":[],"_revision_number":3},{"id":"2baa25f4c80d52ff0064b07ddee4bcbd862f8690","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-07-09 03:52:04.000000000","message":"Patch Set 3:\n\nplease patch link: https://review.opendev.org/#/c/740152","accounts_in_message":[],"_revision_number":3},{"id":"0fb27d19bade112570037040a5666613c37cf12d","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-07-09 06:15:27.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"d5f2b1136abd52ec02e5228eddfa5443cc2b25bf","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-07-09 06:35:22.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3896f67572f74d03914ab88fadb77a92 : SUCCESS in 11m 22s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8356364f8c764ffe9c5dcdf1cfe5af76 : SUCCESS in 8m 54s","accounts_in_message":[],"_revision_number":4},{"id":"a41713de06955039c2144a73691e3e7957a701a3","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2020-10-15 09:39:11.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"817bd9f66838d4afc38ba6d883f1164c56b590f6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2020-10-15 09:46:29.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d56ddbdeb6234355b2eb217c450b299b : SUCCESS in 5m 26s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/01f3c79fd4f94afa805fc1105d2b63a4 : SUCCESS in 4m 41s","accounts_in_message":[],"_revision_number":5},{"id":"1be7305d2665d5ef4074f8ac5147376d833227e5","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2022-03-03 17:47:06.000000000","message":"Patch Set 5: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"65594433c743fe84f97b1724cbbe45305e6d27e6","tag":"autogenerated:gerrit:deleteReviewer","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2022-03-04 02:02:41.000000000","message":"Removed reviewer Brin Zhang.","accounts_in_message":[],"_revision_number":5},{"id":"70c9094d9006100db8ba0bc4e9dc46d44504dce6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2022-03-04 05:43:46.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"c90d66045a21d63611a340b75fd4d45119864314","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2022-03-04 05:50:07.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"89a39db4f4f8cd4c1f63b603004014d9b6237956","author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"date":"2022-03-04 05:52:26.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"a1053e56b5027bc24a00b8ccede677b2091a431d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-04 05:58:23.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/da31d85b617f4b7e87fe24f9c9753ac6 : SUCCESS in 5m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5711c0f9bb6c44aeb6be3112e420e570 : SUCCESS in 4m 56s","accounts_in_message":[],"_revision_number":7},{"id":"84a4778bc7047f36ff330cb00623bfe3161ef7d2","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2022-03-31 14:23:27.000000000","message":"Patch Set 7: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"c9db8e27e1b681505fa02bfd6b87ef4d3aee74d8","author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"date":"2022-04-17 06:21:12.000000000","message":"Patch Set 7: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"7b46bb18f93621890f1065a7dcd63c053e114e6e","author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"date":"2025-12-05 14:30:01.000000000","message":"Patch Set 7: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"fd719937f2a0815027e0004e7411e0e00f85c93b","author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"date":"2025-12-05 14:40:54.000000000","message":"Patch Set 7: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"445999460b3e12b84015985700299e16cffd0156","author":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"date":"2025-12-05 15:23:47.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"9251b83b0e179a6f73504c26e523d323b686e064","author":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"date":"2025-12-05 15:26:36.000000000","message":"Patch Set 7:\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"a3841db8622d389ceb853f8eae511a6da4cb4b9e","author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"date":"2026-01-15 14:25:44.000000000","message":"Patch Set 7: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7},{"id":"fd4ca1d81b31a15fe68accf7679401c9d512a8fe","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-01-15 14:43:37.000000000","message":"Patch Set 7: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":7}],"current_revision_number":7,"current_revision":"37985352a9552f2e615a11a3ef29d99306d4dab5","revisions":{"69683038d9625d3a95132ba1e92057c533da1abf":{"kind":"REWORK","_number":1,"created":"2020-05-07 09:33:57.000000000","uploader":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"ref":"refs/changes/70/726070/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/70/726070/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/1"}}},"commit":{"parents":[{"commit":"44988971ef8734e29aff51b788ed3ebad773582f","subject":"Cleanup py27 support","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/44988971ef8734e29aff51b788ed3ebad773582f"}]}],"author":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:26.000000000","tz":480},"committer":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:37.000000000","tz":480},"subject":"volume list query optimization","message":"volume list query optimization\n\nAs an end user, since the volume list shows that the volume status of\nfailed managed is error, then filter the list of volumes by specifying\nthe status as error should contain those volumes.\n\nChange-Id: Id03f0c165d7b181cbc215afde66114180f20cb15\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/69683038d9625d3a95132ba1e92057c533da1abf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/69683038d9625d3a95132ba1e92057c533da1abf"}]},"branch":"refs/heads/master"},"92b9fcbc2140bd69634bbd0d33cb53eee1f4b5ce":{"kind":"REWORK","_number":2,"created":"2020-05-07 09:49:19.000000000","uploader":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"ref":"refs/changes/70/726070/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/70/726070/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/2"}}},"commit":{"parents":[{"commit":"44988971ef8734e29aff51b788ed3ebad773582f","subject":"Cleanup py27 support","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/44988971ef8734e29aff51b788ed3ebad773582f"}]}],"author":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:26.000000000","tz":480},"committer":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:49:00.000000000","tz":480},"subject":"volume list query optimization","message":"volume list query optimization\n\nAs an end user, since the volume list shows that the volume status of\nfailed managed is error, then filter the list of volumes by specifying\nthe status as error should contain those volumes.\n\nChange-Id: Id03f0c165d7b181cbc215afde66114180f20cb15\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/92b9fcbc2140bd69634bbd0d33cb53eee1f4b5ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/92b9fcbc2140bd69634bbd0d33cb53eee1f4b5ce"}]},"branch":"refs/heads/master"},"9a737afef90a07dcc7c14e71d060ee7ddc964589":{"kind":"REWORK","_number":3,"created":"2020-05-11 01:11:59.000000000","uploader":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"ref":"refs/changes/70/726070/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/70/726070/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/3"}}},"commit":{"parents":[{"commit":"44988971ef8734e29aff51b788ed3ebad773582f","subject":"Cleanup py27 support","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/44988971ef8734e29aff51b788ed3ebad773582f"}]}],"author":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:26.000000000","tz":480},"committer":{"name":"zhangbailin","email":"zhangbailin@inspur.com","date":"2020-05-11 01:11:55.000000000","tz":480},"subject":"volume list query optimization","message":"volume list query optimization\n\nAs an end user, I would like to include a volume with the status\n``error_managing`` in the volume list filtered by the ``error`` status.\nFiltering ``creating`` and ``deleting`` volumes is similar.\n\nChange-Id: Id03f0c165d7b181cbc215afde66114180f20cb15\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/9a737afef90a07dcc7c14e71d060ee7ddc964589"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/9a737afef90a07dcc7c14e71d060ee7ddc964589"}]},"branch":"refs/heads/master"},"30da58f0bc23ec1640fdad774fba5eed09640818":{"kind":"REWORK","_number":4,"created":"2020-07-09 06:15:27.000000000","uploader":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"ref":"refs/changes/70/726070/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/70/726070/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/4"}}},"commit":{"parents":[{"commit":"cc219935f142bc66428f6ed706e6789e8b01944d","subject":"Merge \"Backup Backends Configuration\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/cc219935f142bc66428f6ed706e6789e8b01944d"}]}],"author":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:26.000000000","tz":480},"committer":{"name":"haixin","email":"haixin@inspur.com","date":"2020-07-09 06:13:38.000000000","tz":480},"subject":"volume list query optimization","message":"volume list query optimization\n\nWhen we fail to manage a volume, we use cinder list to view the volume\nlist, or use cinder show to view the volume details, We can see that the\nvolume state is error.\nBut when we filter the list of volumes by specifying the status as\nerror,We found that there were no manage failed volumes in the\nscreening results,this will confuse the user.\nso what needs to be fixed?\n\n(A) when a user filters on status\u003derror, volumes in (internal) status\nerror_managing should also be included\n(B) when a user filters on status\u003dcreating, volumes in (internal) status\nmanaging should also be included\n(C) when a user filters on status\u003ddeleting, volumes in (internal) status\nerror_managing_deleting should also be included\n(D) when a user filters on any status that\u0027s not in the official list,\nthey should get an empty list of volumes (need to verify that\u0027s the\ncurrent behavior, but I\u0027m pretty sure that if you GET\n/v3/v3/{project_id}/volumes/detail?status\u003dnot-a-status you get the\nresponse { \"volumes\": [] }, not a 400). Currently we rely on the\ndatabase for this, but we may need to handle it in the REST API layer.\n(E) fixing the \"like\" operator from microversion 3.34 is going to be\ntricky. ?status~\u003derror should include volumes in statuses error,\nerror_deleting, error_backing-up, error_restoring, and error_extending\n(and error_managing), but NOT include volumes with status\nerror_managing_deleting. ?status~\u003dcreating should include volumes with\n(internal) status \u0027managing\u0027. ?status~\u003ddeleting should include volumes\nwith internal status \u0027error_managing_deleting\u0027, but not include\nerror_deleting.\n\nChange-Id: Id03f0c165d7b181cbc215afde66114180f20cb15\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/30da58f0bc23ec1640fdad774fba5eed09640818"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/30da58f0bc23ec1640fdad774fba5eed09640818"}]},"branch":"refs/heads/master"},"18991da93b8ec804f7fb0701107d920ddfbf8014":{"kind":"REWORK","_number":5,"created":"2020-10-15 09:39:11.000000000","uploader":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"ref":"refs/changes/70/726070/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/70/726070/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/5"}}},"commit":{"parents":[{"commit":"dac5f63df92936d29c7c1cc35c18a53bb56d80a3","subject":"Update: default type override spec","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/dac5f63df92936d29c7c1cc35c18a53bb56d80a3"}]}],"author":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:26.000000000","tz":480},"committer":{"name":"haixin","email":"haixin@inspur.com","date":"2020-10-15 09:38:49.000000000","tz":480},"subject":"volume list query optimization","message":"volume list query optimization\n\nWhen we fail to manage a volume, we use cinder list to view the volume\nlist, or use cinder show to view the volume details, We can see that the\nvolume state is error.\nBut when we filter the list of volumes by specifying the status as\nerror,We found that there were no manage failed volumes in the\nscreening results,this will confuse the user.\nso what needs to be fixed?\n\n(A) when a user filters on status\u003derror, volumes in (internal) status\nerror_managing should also be included\n(B) when a user filters on status\u003dcreating, volumes in (internal) status\nmanaging should also be included\n(C) when a user filters on status\u003ddeleting, volumes in (internal) status\nerror_managing_deleting should also be included\n(D) when a user filters on any status that\u0027s not in the official list,\nthey should get an empty list of volumes (need to verify that\u0027s the\ncurrent behavior, but I\u0027m pretty sure that if you GET\n/v3/v3/{project_id}/volumes/detail?status\u003dnot-a-status you get the\nresponse { \"volumes\": [] }, not a 400). Currently we rely on the\ndatabase for this, but we may need to handle it in the REST API layer.\n(E) fixing the \"like\" operator from microversion 3.34 is going to be\ntricky. ?status~\u003derror should include volumes in statuses error,\nerror_deleting, error_backing-up, error_restoring, and error_extending\n(and error_managing), but NOT include volumes with status\nerror_managing_deleting. ?status~\u003dcreating should include volumes with\n(internal) status \u0027managing\u0027. ?status~\u003ddeleting should include volumes\nwith internal status \u0027error_managing_deleting\u0027, but not include\nerror_deleting.\n\nChange-Id: Id03f0c165d7b181cbc215afde66114180f20cb15\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/18991da93b8ec804f7fb0701107d920ddfbf8014"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/18991da93b8ec804f7fb0701107d920ddfbf8014"}]},"branch":"refs/heads/master"},"608a337f1b8b53987dda3a995fcfa3e5e82c5ae5":{"kind":"REWORK","_number":6,"created":"2022-03-04 05:43:46.000000000","uploader":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"ref":"refs/changes/70/726070/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/70/726070/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/6"}}},"commit":{"parents":[{"commit":"47cfff335154a2dfaecebb26a30064d60a315821","subject":"Add zed directory for specs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/47cfff335154a2dfaecebb26a30064d60a315821"}]}],"author":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:26.000000000","tz":480},"committer":{"name":"haixin","email":"haix09@chinatelecom.cn","date":"2022-03-04 05:43:40.000000000","tz":480},"subject":"volume list query optimization","message":"volume list query optimization\n\nWhen we fail to manage a volume, we use cinder list to view the volume\nlist, or use cinder show to view the volume details, We can see that the\nvolume state is error.\nBut when we filter the list of volumes by specifying the status as\nerror,We found that there were no manage failed volumes in the\nscreening results,this will confuse the user.\nso what needs to be fixed?\n\n(A) when a user filters on status\u003derror, volumes in (internal) status\nerror_managing should also be included\n(B) when a user filters on status\u003dcreating, volumes in (internal) status\nmanaging should also be included\n(C) when a user filters on status\u003ddeleting, volumes in (internal) status\nerror_managing_deleting should also be included\n(D) when a user filters on any status that\u0027s not in the official list,\nthey should get an empty list of volumes (need to verify that\u0027s the\ncurrent behavior, but I\u0027m pretty sure that if you GET\n/v3/v3/{project_id}/volumes/detail?status\u003dnot-a-status you get the\nresponse { \"volumes\": [] }, not a 400). Currently we rely on the\ndatabase for this, but we may need to handle it in the REST API layer.\n(E) fixing the \"like\" operator from microversion 3.34 is going to be\ntricky. ?status~\u003derror should include volumes in statuses error,\nerror_deleting, error_backing-up, error_restoring, and error_extending\n(and error_managing), but NOT include volumes with status\nerror_managing_deleting. ?status~\u003dcreating should include volumes with\n(internal) status \u0027managing\u0027. ?status~\u003ddeleting should include volumes\nwith internal status \u0027error_managing_deleting\u0027, but not include\nerror_deleting.\n\nChange-Id: Id03f0c165d7b181cbc215afde66114180f20cb15\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/608a337f1b8b53987dda3a995fcfa3e5e82c5ae5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/608a337f1b8b53987dda3a995fcfa3e5e82c5ae5"}]},"branch":"refs/heads/master"},"37985352a9552f2e615a11a3ef29d99306d4dab5":{"kind":"REWORK","_number":7,"created":"2022-03-04 05:50:07.000000000","uploader":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"ref":"refs/changes/70/726070/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/70/726070/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/70/726070/7"}}},"commit":{"parents":[{"commit":"47cfff335154a2dfaecebb26a30064d60a315821","subject":"Add zed directory for specs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/47cfff335154a2dfaecebb26a30064d60a315821"}]}],"author":{"name":"haixin","email":"haixin@inspur.com","date":"2020-05-07 09:31:26.000000000","tz":480},"committer":{"name":"haixin","email":"haix09@chinatelecom.cn","date":"2022-03-04 05:49:28.000000000","tz":480},"subject":"volume list query optimization","message":"volume list query optimization\n\nWhen we fail to manage a volume, we use cinder list to view the volume\nlist, or use cinder show to view the volume details, We can see that the\nvolume state is error.\nBut when we filter the list of volumes by specifying the status as\nerror,We found that there were no manage failed volumes in the\nscreening results,this will confuse the user.\nso what needs to be fixed?\n\n(A) when a user filters on status\u003derror, volumes in (internal) status\nerror_managing should also be included\n(B) when a user filters on status\u003dcreating, volumes in (internal) status\nmanaging should also be included\n(C) when a user filters on status\u003ddeleting, volumes in (internal) status\nerror_managing_deleting should also be included\n(D) when a user filters on any status that\u0027s not in the official list,\nthey should get an empty list of volumes (need to verify that\u0027s the\ncurrent behavior, but I\u0027m pretty sure that if you GET\n/v3/v3/{project_id}/volumes/detail?status\u003dnot-a-status you get the\nresponse { \"volumes\": [] }, not a 400). Currently we rely on the\ndatabase for this, but we may need to handle it in the REST API layer.\n(E) fixing the \"like\" operator from microversion 3.34 is going to be\ntricky. ?status~\u003derror should include volumes in statuses error,\nerror_deleting, error_backing-up, error_restoring, and error_extending\n(and error_managing), but NOT include volumes with status\nerror_managing_deleting. ?status~\u003dcreating should include volumes with\n(internal) status \u0027managing\u0027. ?status~\u003ddeleting should include volumes\nwith internal status \u0027error_managing_deleting\u0027, but not include\nerror_deleting.\n\nChange-Id: Id03f0c165d7b181cbc215afde66114180f20cb15\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/37985352a9552f2e615a11a3ef29d99306d4dab5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/37985352a9552f2e615a11a3ef29d99306d4dab5"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","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":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"}},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
