)]}'
{"id":"openstack%2Fcinder-specs~986741","triplet_id":"openstack%2Fcinder-specs~master~Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b","project":"openstack/cinder-specs","branch":"master","topic":"feature/image-cache-warm-cli","attention_set":{"38081":{"account":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"last_update":"2026-10-06 07:12:31.000000000","reason":"Added by \u003cGERRIT_ACCOUNT_34539\u003e using the hovercard menu","reason_account":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"}},"5314":{"account":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"last_update":"2026-07-27 01:17:14.000000000","reason":"\u003cGERRIT_ACCOUNT_34539\u003e replied on the change","reason_account":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"}}},"removed_from_attention_set":{"34539":{"account":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"last_update":"2026-06-05 00:26:03.000000000","reason":"\u003cGERRIT_ACCOUNT_34539\u003e replied on the change","reason_account":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"}}},"hashtags":[],"change_id":"Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b","subject":"Add spec for cinder-manage image-cache subcommand","status":"NEW","created":"2026-04-30 07:19:49.000000000","updated":"2026-10-06 07:12:31.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":7,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"230fd3567d165334c9b46170a7a6a174ae5f978e","_number":986741,"virtual_id_number":986741,"owner":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-30 19:19:32.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"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":0,"permitted_voting_range":{"min":-2,"max":2},"_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":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":{"all":[{"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":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_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}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-30 07:23:13.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":"2026-06-04 20:13:04.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":"2026-07-27 01:17:14.000000000","updated_by":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"}],"messages":[{"id":"05564a91df95c513e085008c6c68a35de7e3f00c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-04-30 07:19:49.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2712946d304520c30599818bcd2e9c886cc449d6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-30 07:23:13.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/e779ac75e7b44fb1b694b566bdb08bbc\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/11c36b9a81814f6880a7a6495034d7a1 : FAILURE in 2m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c3c037a81caf4841b89834267211bcbe : FAILURE in 2m 07s","accounts_in_message":[],"_revision_number":1},{"id":"f869d37cf71e2c61b458e0049d5aa239303e6485","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-04-30 07:29:41.000000000","message":"Uploaded patch set 2: Commit message was updated.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"7ebbf563a9e8e4b2594eca2a37a8b658b778b565","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-30 07:40:52.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\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/1ef7ecfa39bb4aaf9a4ead6c0e3fd832\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8fe71dd6dbd14f03842a64763d78cfd5 : FAILURE in 3m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d4c531a4fbbd4e0397563d00696fb61c : FAILURE in 3m 17s","accounts_in_message":[],"_revision_number":2},{"id":"ec51e6df25f028228f518df6498df8037baca210","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-04-30 08:00:03.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"eaa3cfa8f630ba6e3fce754d950edbda9511bf8f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-30 08:02:32.000000000","message":"Patch Set 3: Verified-1\n\nThis change depends on a change that failed to merge.\n\nChange https://review.opendev.org/c/openstack/cinder/+/986740 is needed.","accounts_in_message":[],"_revision_number":3},{"id":"b104e89b6296e3b4986b647ada6a59ffca050c28","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-04-30 08:06:36.000000000","message":"Topic set to feature/image-cache-warm-cli","accounts_in_message":[],"_revision_number":3},{"id":"f511b366fe69e4d35b3060086efadd80df45b85e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-05-27 09:47:01.000000000","message":"Uploaded patch set 4: Commit message was updated.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"7b0c797a3e045ee01923e5b830aa0d1c74dcebb0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-27 09:56:52.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/88a8ae4ecac541e58ee3c221d1aa0845\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8688a508b67541f78f880062af136445 : SUCCESS in 5m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1e8faa3663544e819a12b40525a8069e : SUCCESS in 2m 17s","accounts_in_message":[],"_revision_number":4},{"id":"8bc11677ee22e3811af674ef543eb683316bc3d8","author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"date":"2026-06-04 20:13:04.000000000","message":"Patch Set 4: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"e95e23af89503f3dd55efe354b1e2fcfe2e4f146","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-06-05 00:26:03.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"fabc74e366e1c9a15386dbdc5fad1df3f32ba1a8","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-06-06 01:05:07.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"19aa7f2bc2b6e16c2393ef6accaab51a2c6c330c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-06 01:09:45.000000000","message":"Patch Set 4:\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1baa9f12fcf94afbb4331e6f17b7da79\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b78e861c56574be0a8fc4d309267fc7f : SUCCESS in 2m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9876874e45184abcb6861095e5ae1d10 : SUCCESS in 2m 10s","accounts_in_message":[],"_revision_number":4},{"id":"08e44a704204e2711048c6c3c3c0518404497f13","author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"date":"2026-06-06 03:48:49.000000000","message":"Patch Set 4: -Code-Review","accounts_in_message":[],"_revision_number":4},{"id":"74a05e0ae2828e041a8042d61ec3eac90ee39842","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-06-08 11:47:10.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"df885ad0e0efc3674c092b35fcd1b07bc64115b4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-08 12:02:32.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/25acaaaf4bbc4a489e1d1123fe82e9b7\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fab1904a60b44ce6b3bfdfce5658be05 : SUCCESS in 3m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4dd97b3594e64292a4fd7c7b145e0ca2 : SUCCESS in 3m 09s","accounts_in_message":[],"_revision_number":5},{"id":"22631a88b234b76be87176e410b858c03fa01386","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-07-16 08:19:25.000000000","message":"Patch Set 5:\n\n(1 comment)\n\nHi Anthony, could I ask for your review on this spec when you have time?$\\n$\\nI believe the previous feedback has been addressed in PS5. The paired implementation is:$\\nhttps://review.opendev.org/c/openstack/cinder/+/986740$\\n$\\nBoth changes are passing Zuul. If you also have bandwidth to look at the implementation, I would appreciate that too. Thanks!","accounts_in_message":[],"_revision_number":5},{"id":"a49783fff1a5c31e5f690a406ac1951f3004377d","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-07-16 08:21:15.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"4d6e9e7ca7127d90c764a3ecfd09bcf04edb5a7b","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-07-27 01:17:14.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"8e44216d9e5fca87c0f33f6edf982c448e49e876","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-09-30 19:16:05.000000000","message":"Uploaded patch set 6.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":6},{"id":"97ed81819efac7422d5da63ba95ce52a98af4dac","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-30 19:19:32.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/7bb1a4ae04674b42aa6517d946c47081\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/20aded5ef9c54322adab4452fa885446 : SUCCESS in 2m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/912e8d10a29c405a9ac177351f438d6a : SUCCESS in 2m 21s","accounts_in_message":[],"_revision_number":6},{"id":"4420af080b88c7ab316c8ab269a791213d2bece8","author":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"date":"2026-10-06 07:12:21.000000000","message":"Patch Set 6:\n\n(1 comment)","accounts_in_message":[],"_revision_number":6}],"current_revision_number":6,"current_revision":"412dc5df534faca5594326037fa4998233ebdf90","revisions":{"4b3a5d542e38fb8c4073dc2059a1df94d33f1b74":{"kind":"REWORK","_number":1,"created":"2026-04-30 07:19:49.000000000","uploader":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"ref":"refs/changes/41/986741/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/41/986741/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/1"}}},"commit":{"parents":[{"commit":"63ef47423a1c6703b872dc3d44fad6fd2dcf8a25","subject":"Merge \"Remove url tags from README\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/63ef47423a1c6703b872dc3d44fad6fd2dcf8a25"}]}],"author":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:19:01.000000000","tz":540},"committer":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:19:32.000000000","tz":540},"subject":"Add spec for cinder-manage image-cache subcommand","message":"Add spec for cinder-manage image-cache subcommand\n\nThis spec proposes a new cinder-manage \u0027image-cache\u0027 category with\ntwo actions, \u0027warm\u0027 and \u0027list\u0027, so operators can pre-populate the\nimage-volume cache for a backend before users provision from a new\nimage.\n\nThe motivation is the first-create size drift seen on backends such\nas PowerFlex (Bug #1915015): when no cache entry exists, the very\nfirst user volume created from an image inherits the cache-clone\nsize in the cinder DB, breaking Terraform/IaC reconciliation. Pre-\nwarming the cache out of band removes the cache-miss path from the\nuser-facing create flow.\n\nThe \u0027warm\u0027 action triggers the volume manager on the target backend\nto create a transient volume from the image (forcing the existing\nimage-volume-cache machinery to populate an entry) and then deletes\nthe transient volume while keeping the cache entry. The \u0027list\u0027\naction prints image_volume_cache_entries with image names resolved\nthrough Glance.\n\nExample usage:\n\n  cinder-manage image-cache warm \u003cimage-id\u003e\n  cinder-manage image-cache warm \u003cimage-id\u003e --host cinder@powerflex\n  cinder-manage image-cache warm \u003cimage-id\u003e --volume-type pflex-tier1\n  cinder-manage image-cache list\n  cinder-manage image-cache list --image ubuntu-22.04\n\nPhase 1 is admin-only via cinder-manage. A REST API and openstack\nCLI integration are deferred to a follow-up spec.\n\nRelated-Bug: #1915015\nDepends-On: I65a9afe78e544831602dc42abb844dc4121b0adb\nChange-Id: Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b\nSigned-off-by: minwooseo \u003calsdn1211@naver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/4b3a5d542e38fb8c4073dc2059a1df94d33f1b74"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/4b3a5d542e38fb8c4073dc2059a1df94d33f1b74"}]},"branch":"refs/heads/master"},"d3eba21377248fcd0302848d638a50bd77bcd2bc":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-04-30 07:29:41.000000000","uploader":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"ref":"refs/changes/41/986741/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/41/986741/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/2"}}},"commit":{"parents":[{"commit":"63ef47423a1c6703b872dc3d44fad6fd2dcf8a25","subject":"Merge \"Remove url tags from README\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/63ef47423a1c6703b872dc3d44fad6fd2dcf8a25"}]}],"author":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:19:01.000000000","tz":540},"committer":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:27:51.000000000","tz":540},"subject":"Add spec for cinder-manage image-cache subcommand","message":"Add spec for cinder-manage image-cache subcommand\n\nThis spec proposes a new cinder-manage \u0027image-cache\u0027 category with\ntwo actions, \u0027warm\u0027 and \u0027list\u0027, so operators can pre-populate the\nimage-volume cache for a backend before users provision from a new\nimage.\n\nThe motivation is the first-create size drift seen on backends such\nas PowerFlex (Bug #1915015): when no cache entry exists, the very\nfirst user volume created from an image inherits the cache-clone\nsize in the cinder DB, breaking Terraform/IaC reconciliation. Pre-\nwarming the cache out of band removes the cache-miss path from the\nuser-facing create flow.\n\nThe \u0027warm\u0027 action triggers the volume manager on the target backend\nto create a transient volume from the image (forcing the existing\nimage-volume-cache machinery to populate an entry) and then deletes\nthe transient volume while keeping the cache entry. The \u0027list\u0027\naction prints image_volume_cache_entries with image names resolved\nthrough Glance.\n\nExample usage:\n\n  cinder-manage image-cache warm \u003cimage-id\u003e\n  cinder-manage image-cache warm \u003cimage-id\u003e --host cinder@powerflex\n  cinder-manage image-cache warm \u003cimage-id\u003e --volume-type pflex-tier1\n  cinder-manage image-cache list\n  cinder-manage image-cache list --image 0b088af5-450d-4150-8b06-f44f15b753c5\n\nPhase 1 is admin-only via cinder-manage. A REST API and openstack\nCLI integration are deferred to a follow-up spec.\n\nRelated-Bug: #1915015\nDepends-On: I65a9afe78e544831602dc42abb844dc4121b0adb\nChange-Id: Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b\nSigned-off-by: minwooseo \u003calsdn1211@naver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/d3eba21377248fcd0302848d638a50bd77bcd2bc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/d3eba21377248fcd0302848d638a50bd77bcd2bc"}]},"branch":"refs/heads/master"},"b41909c99deeb793c5647e7872dcc6cd4e144b16":{"kind":"REWORK","_number":3,"created":"2026-04-30 08:00:03.000000000","uploader":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"ref":"refs/changes/41/986741/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/41/986741/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/3"}}},"commit":{"parents":[{"commit":"63ef47423a1c6703b872dc3d44fad6fd2dcf8a25","subject":"Merge \"Remove url tags from README\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/63ef47423a1c6703b872dc3d44fad6fd2dcf8a25"}]}],"author":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:19:01.000000000","tz":540},"committer":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:59:55.000000000","tz":540},"subject":"Add spec for cinder-manage image-cache subcommand","message":"Add spec for cinder-manage image-cache subcommand\n\nThis spec proposes a new cinder-manage \u0027image-cache\u0027 category with\ntwo actions, \u0027warm\u0027 and \u0027list\u0027, so operators can pre-populate the\nimage-volume cache for a backend before users provision from a new\nimage.\n\nThe motivation is the first-create size drift seen on backends such\nas PowerFlex (Bug #1915015): when no cache entry exists, the very\nfirst user volume created from an image inherits the cache-clone\nsize in the cinder DB, breaking Terraform/IaC reconciliation. Pre-\nwarming the cache out of band removes the cache-miss path from the\nuser-facing create flow.\n\nThe \u0027warm\u0027 action triggers the volume manager on the target backend\nto create a transient volume from the image (forcing the existing\nimage-volume-cache machinery to populate an entry) and then deletes\nthe transient volume while keeping the cache entry. The \u0027list\u0027\naction prints image_volume_cache_entries with image names resolved\nthrough Glance.\n\nExample usage:\n\n  cinder-manage image-cache warm \u003cimage-id\u003e\n  cinder-manage image-cache warm \u003cimage-id\u003e --host cinder@powerflex\n  cinder-manage image-cache warm \u003cimage-id\u003e --volume-type pflex-tier1\n  cinder-manage image-cache list\n  cinder-manage image-cache list --image 0b088af5-450d-4150-8b06-f44f15b753c5\n\nPhase 1 is admin-only via cinder-manage. A REST API and openstack\nCLI integration are deferred to a follow-up spec.\n\nRelated-Bug: #1915015\nDepends-On: I65a9afe78e544831602dc42abb844dc4121b0adb\nChange-Id: Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b\nSigned-off-by: minwooseo \u003calsdn1211@naver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/b41909c99deeb793c5647e7872dcc6cd4e144b16"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/b41909c99deeb793c5647e7872dcc6cd4e144b16"}]},"branch":"refs/heads/master"},"ac0429e5f11089a6d2f21065cab7c43aadef9238":{"kind":"NO_CODE_CHANGE","_number":4,"created":"2026-05-27 09:47:01.000000000","uploader":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"ref":"refs/changes/41/986741/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/41/986741/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/4"}}},"commit":{"parents":[{"commit":"63ef47423a1c6703b872dc3d44fad6fd2dcf8a25","subject":"Merge \"Remove url tags from README\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/63ef47423a1c6703b872dc3d44fad6fd2dcf8a25"}]}],"author":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:19:01.000000000","tz":540},"committer":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-05-27 09:46:11.000000000","tz":540},"subject":"Add spec for cinder-manage image-cache subcommand","message":"Add spec for cinder-manage image-cache subcommand\n\nThis spec proposes a new cinder-manage \u0027image-cache\u0027 category with\ntwo actions, \u0027warm\u0027 and \u0027list\u0027, so operators can pre-populate the\nimage-volume cache for a backend before users provision from a new\nimage.\n\nThe motivation is the first-create size drift seen on backends such\nas PowerFlex (Bug #1915015): when no cache entry exists, the very\nfirst user volume created from an image inherits the cache-clone\nsize in the cinder DB, breaking Terraform/IaC reconciliation. Pre-\nwarming the cache out of band removes the cache-miss path from the\nuser-facing create flow.\n\nThe \u0027warm\u0027 action triggers the volume manager on the target backend\nto create a transient volume from the image (forcing the existing\nimage-volume-cache machinery to populate an entry) and then deletes\nthe transient volume while keeping the cache entry. The \u0027list\u0027\naction prints image_volume_cache_entries with image names resolved\nthrough Glance.\n\nExample usage:\n\n  cinder-manage image-cache warm \u003cimage-id\u003e\n  cinder-manage image-cache warm \u003cimage-id\u003e --host cinder@powerflex\n  cinder-manage image-cache warm \u003cimage-id\u003e --volume-type pflex-tier1\n  cinder-manage image-cache list\n  cinder-manage image-cache list --image 0b088af5-450d-4150-8b06-f44f15b753c5\n\nPhase 1 is admin-only via cinder-manage. A REST API and openstack\nCLI integration are deferred to a follow-up spec.\n\nRelated-Bug: #1915015\nChange-Id: Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b\nSigned-off-by: minwooseo \u003calsdn1211@naver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/ac0429e5f11089a6d2f21065cab7c43aadef9238"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/ac0429e5f11089a6d2f21065cab7c43aadef9238"}]},"branch":"refs/heads/master"},"81b565d1d05903bfcd24b9856f64f233e87c5a64":{"kind":"REWORK","_number":5,"created":"2026-06-08 11:47:10.000000000","uploader":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"ref":"refs/changes/41/986741/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/41/986741/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/5"}}},"commit":{"parents":[{"commit":"63ef47423a1c6703b872dc3d44fad6fd2dcf8a25","subject":"Merge \"Remove url tags from README\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/63ef47423a1c6703b872dc3d44fad6fd2dcf8a25"}]}],"author":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:19:01.000000000","tz":540},"committer":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-06-08 11:46:06.000000000","tz":540},"subject":"Add spec for cinder-manage image-cache subcommand","message":"Add spec for cinder-manage image-cache subcommand\n\nPropose a backend-neutral cinder-manage image-cache category with warm\nand list actions so operators can pre-populate and inspect Cinder\u0027s\nexisting image-volume cache.\n\nToday the cache is populated lazily by the first create-from-image\nrequest on each backend. That leaves operators without an admin-only way\nto seed the cache before user traffic, inspect what has already been\ncached, or integrate cache warmup into image publishing workflows.\n\nThe warm action targets a cinder-volume service and uses the existing\nimage-volume-cache machinery through a transient internal volume. The\nlist action reports image_volume_cache_entries with image names resolved\nthrough Glance.\n\nBackend-specific first-create size drift is one motivating example, but\nthe proposed command is not driver-specific and does not add a new\ndriver API.\n\nPhase 1 is admin-only via cinder-manage. A REST API and openstack CLI\nintegration are deferred to a follow-up spec.\n\nRelated-Bug: #1915015\nChange-Id: Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b\nSigned-off-by: minwooseo \u003calsdn1211@naver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/81b565d1d05903bfcd24b9856f64f233e87c5a64"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/81b565d1d05903bfcd24b9856f64f233e87c5a64"}]},"branch":"refs/heads/master"},"412dc5df534faca5594326037fa4998233ebdf90":{"kind":"REWORK","_number":6,"created":"2026-09-30 19:16:05.000000000","uploader":{"_account_id":34539,"name":"minwoo seo","email":"alsdn1211@naver.com","username":"minwooseo"},"ref":"refs/changes/41/986741/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-specs","ref":"refs/changes/41/986741/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-specs refs/changes/41/986741/6"}}},"commit":{"parents":[{"commit":"31cde8f8ad66da78fbe9eebc4123ece5a7a6552d","subject":"Add 2027.1 spec structure","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/31cde8f8ad66da78fbe9eebc4123ece5a7a6552d"}]}],"author":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-04-30 07:19:01.000000000","tz":540},"committer":{"name":"minwooseo","email":"alsdn1211@naver.com","date":"2026-09-30 19:15:58.000000000","tz":540},"subject":"Add spec for cinder-manage image-cache subcommand","message":"Add spec for cinder-manage image-cache subcommand\n\nPropose a backend-neutral cinder-manage image-cache category with warm\nand list actions so operators can pre-populate and inspect Cinder\u0027s\nexisting image-volume cache.\n\nToday the cache is populated lazily by the first create-from-image\nrequest on each backend. That leaves operators without an admin-only way\nto seed the cache before user traffic, inspect what has already been\ncached, or integrate cache warmup into image publishing workflows.\n\nThe warm action targets a cinder-volume service and uses the existing\nimage-volume-cache machinery through a transient internal volume. The\nlist action reports image_volume_cache_entries with image names resolved\nthrough Glance.\n\nBackend-specific first-create size drift is one motivating example, but\nthe proposed command is not driver-specific and does not add a new\ndriver API.\n\nPhase 1 is admin-only via cinder-manage. A REST API and openstack CLI\nintegration are deferred to a follow-up spec.\n\nRelated-Bug: #1915015\nChange-Id: Ie429a9d3331969ba13d456f6ac7cbe9fe22d8d2b\nSigned-off-by: minwooseo \u003calsdn1211@naver.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/412dc5df534faca5594326037fa4998233ebdf90"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-specs/commit/412dc5df534faca5594326037fa4998233ebdf90"}]},"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"},{"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":""}}}]}
