)]}'
{"id":"openstack%2Fglance~994898","triplet_id":"openstack%2Fglance~master~I30798ede5b0d3bbdaefc1d6e1e4962c59e1703e8","project":"openstack/glance","branch":"master","attention_set":{"8122":{"account":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"last_update":"2026-07-07 20:27:37.000000000","reason":"\u003cGERRIT_ACCOUNT_39209\u003e replied on the change","reason_account":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"}}},"removed_from_attention_set":{"39209":{"account":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"last_update":"2026-07-07 20:27:37.000000000","reason":"\u003cGERRIT_ACCOUNT_39209\u003e replied on the change","reason_account":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"}},"38762":{"account":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"last_update":"2026-06-30 09:16:48.000000000","reason":"\u003cGERRIT_ACCOUNT_38762\u003e replied on the change","reason_account":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"}}},"hashtags":[],"change_id":"I30798ede5b0d3bbdaefc1d6e1e4962c59e1703e8","subject":"Fix and refactor S3 URL parsing/constructing causing constant DB updates","status":"NEW","created":"2026-06-25 14:03:08.000000000","updated":"2026-07-07 20:39:09.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":44,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"4e2893b5614270075b95d5bac885c55e9c802773","_number":994898,"virtual_id_number":994898,"owner":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-06-26 01:28:02.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":{"disliked":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"all":[{"value":-1,"date":"2026-07-07 14:10:43.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"date":"2026-06-30 09:16:48.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},{"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},{"_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,"permitted_voting_range":{"min":-1,"max":2},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},{"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-25 14:29:38.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":"CC"},{"updated":"2026-06-25 17:02:15.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-26 09:34:23.000000000","updated_by":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"reviewer":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"state":"REVIEWER"},{"updated":"2026-06-30 14:04:10.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":"CC"},{"updated":"2026-07-07 14:10:43.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":"97cecf5fe71241fe6956a157b092b0f439da3578","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"date":"2026-06-25 14:03:08.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"508ce3ee3f5689e0bbf60c6191357946e4b8a1d7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-25 14:29:38.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8720e09422b04aaba3a5a8b903491398\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/45fd80722c0147bdaee9a4340cbafa86 : SUCCESS in 7m 01s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/03cd5c8ba3e646b09b0fc3860d5b720e : SUCCESS in 7m 14s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/8f35d79d2466434a806e53ca9807f56a : SUCCESS in 15m 02s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a028ef4a67ba556994f8537ec49ed88f809559bb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-25 17:02:15.000000000","message":"Patch Set 1: Verified-1\n\n(35 comments)\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/fa262b1e4d584e629c8beb7c85779652\n\n- grenade https://zuul.opendev.org/t/openstack/build/04765024ffd44b5ca495f88a9d24e319 : SUCCESS in 1h 08m 23s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/af3006fce25b49538ef8130c6ac35e04 : SUCCESS in 1h 05m 50s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/6b2e880dca6749c3aba06a6c917c9595 : SUCCESS in 1h 25m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/2ae6516ecaed49f3b435b681960c09b2 : SUCCESS in 1h 02m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/70e9bacfecc444f8a31974780f2cf7f9 : FAILURE in 5m 25s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d375a506086341279b43d99de2e97d95 : SUCCESS in 5m 46s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c859c8c17acc4cc0a3e83cbdb692972a : SUCCESS in 2m 55s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ae9f1ef4612a4d02baca9503ce7dec70 : SUCCESS in 7m 48s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8c8d75c8776d49f7a6460e2c3ba32f15 : SUCCESS in 6m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fe13d680ddf541e1a5f685f81ce39b2b : SUCCESS in 8m 47s\n- openstack-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/081926540aa74ddc867e4e34a847bb3b : SUCCESS in 9m 32s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/52889f01e79649f9a9b908c994657932 : SUCCESS in 6m 15s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/30a631a0c69e4e9b81af6423e4a80f04 : SUCCESS in 1h 39m 23s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/6aa83ca6d0a04d8087b5c69ac268cc3f : SUCCESS in 1h 19m 25s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/8ea36e6058794da69f504e5f06481b60 : SUCCESS in 2h 25m 11s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/03008b97201e479881c0db128e79333e : SUCCESS in 2h 47m 20s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d7247d66f79a47d98788c7f51644f5e3 : SUCCESS in 52m 04s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/b92d3978cfba4b239d0755578947a489 : SUCCESS in 2h 10m 50s\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/490a227d12d940e789271e3133639e03 : FAILURE in 19m 24s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/ac95858df1e24dce8bcb28b5a2666d16 : SUCCESS in 2h 00m 17s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/904402c7c6f54e92a16d00ee4ae18f8f : SUCCESS in 19m 38s\n- glance-rally-task-uwsgi https://zuul.opendev.org/t/openstack/build/85e87c7867ee41cfb8a96b4c990a906b : SUCCESS in 54m 07s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e59cfda8cb8e8da0d7d808bf39de7aed68ff9e22","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"date":"2026-06-25 23:05:49.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"d15dc873dfab9376aac50583ff0b4139c8495a3d","author":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"date":"2026-06-25 23:07:16.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"42346c34ace90712bd72929bec105726112ad8d7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-25 23:28:57.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3b41905c31f74cb9956475a9a1ef6556\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/42c4959972a642ca9a25131ea5eca0a9 : SUCCESS in 6m 50s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/a3d456eac7534fbc9ce3e627352070cc : SUCCESS in 6m 59s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/1a57a140ebc04024ab2ee32b2f4e83ad : SUCCESS in 9m 41s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"b81e583a91ab3ecd3de55ddd50529408abc25f1b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-26 01:28:02.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b2e9522e9e114054b33b000efd4a693a\n\n- grenade https://zuul.opendev.org/t/openstack/build/0522b6cbec554e90b24c3d5c5ea446e0 : SUCCESS in 1h 05m 45s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/4f7a124f218d492c98597a26eed9e3a7 : SUCCESS in 1h 05m 50s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/3d5422aee23e46109be4e3bdcdc53af6 : SUCCESS in 1h 31m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/7aae1a422c2d44f8a7d3670f69eeab59 : SUCCESS in 1h 07m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4489d72d4d4441f789b4a1bcee0cee89 : SUCCESS in 4m 56s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/72d904c6dde540a287cf5cb3e7b0e324 : SUCCESS in 2m 38s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a00739a81e9b4df7b44509ba7c6a9346 : SUCCESS in 2m 38s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/6aeda0852e9e4f21a045f060eab0a175 : SUCCESS in 7m 31s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d077fd831ddc4700b4a0cc5ae5fdc446 : SUCCESS in 5m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0352beecd3074732b154ddca8af03433 : SUCCESS in 7m 40s\n- openstack-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/45f6731701574d48b92c462fb0d0a94c : SUCCESS in 5m 21s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/35759c5b99ec49ab9b9e53f6815087ed : SUCCESS in 6m 37s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/5bdd02d6d63d4190a2cc5cc0fec23940 : SUCCESS in 1h 55m 55s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/580f2a6cf62849dea3cda69d23b69670 : SUCCESS in 2h 03m 31s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/f51a439745a342d3a1ea4acf95fce295 : SUCCESS in 1h 58m 36s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/837d49f9663c4aa1a9c46b9286a50eb2 : SUCCESS in 2h 19m 51s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/93532d50f3054ce792d6507eefc456c6 : SUCCESS in 1h 03m 47s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/8dda8c9da70b4cf6847145af9e7b81a2 : SUCCESS in 59m 53s\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/222044233327469db08b2eccfed1d49b : FAILURE in 1h 50m 06s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/cbf6b45757c046768b8310dd9279cdf4 : SUCCESS in 34m 59s\n- glance-rally-task-uwsgi https://zuul.opendev.org/t/openstack/build/00ba6b3f457e4098a30c2b6f35c2a571 : SUCCESS in 53m 05s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"d64af0394be82fbe2fcde07a10c8168a0f418b9c","author":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"date":"2026-06-26 09:34:23.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"c65a64a616867f278676bdcc774796321f241e6b","author":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"date":"2026-06-26 09:57:38.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"0082362f17776d1be027b31ef59fa40d2793ea9c","author":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"date":"2026-06-30 09:16:48.000000000","message":"Patch Set 2: -Code-Review\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"ed12ee770dacb5b6c4cfe6015c30dde50086de7e","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2026-06-30 14:04:10.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"a5ff81e3578abbfb060caa471d70f3a4a847a761","author":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"date":"2026-07-01 07:26:25.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"265cc51ed731b564b3bc21abfd1f2aacd2e80634","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2026-07-07 14:10:43.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"504bd996ddb21bfadc0cffe79fd3395814a92294","author":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"date":"2026-07-07 20:27:37.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"4e2893b5614270075b95d5bac885c55e9c802773","author":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"date":"2026-07-07 20:39:09.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"6296a4b9f3d9328353c97ef6009e4a80aad1a3bf","revisions":{"c7cb8c1aa5c6c4f2eb375438ca0ff4a58428bb77":{"kind":"REWORK","_number":1,"created":"2026-06-25 14:03:08.000000000","uploader":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"ref":"refs/changes/98/994898/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/98/994898/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/994898/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/994898/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/994898/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/98/994898/1"}}},"commit":{"parents":[{"commit":"6de73e788ef804919f6e17b09ff22d80f10f5a1f","subject":"Merge \"[doc] Mention Hyper-V Enlightenments for os_type\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6de73e788ef804919f6e17b09ff22d80f10f5a1f"}]}],"author":{"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","date":"2026-06-25 06:27:27.000000000","tz":180},"committer":{"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","date":"2026-06-25 13:57:30.000000000","tz":180},"subject":"Fix and refactor S3 URL parsing/constructing causing constant DB updates","message":"Fix and refactor S3 URL parsing/constructing causing constant DB updates\n\nA previous change (review.opendev.org/c/openstack/glance/+/975113)\nintroduced incorrect S3 location parsing and false-positive\nDB record updates+corruptions. Subsequent patch\n(review.opendev.org/c/openstack/glance/+/970048) attempted\nto address this, but it was incomplete, and constant,\nredundant DB record updates are still occurring.\n\nFurthermore, the fix was not backported\nto versions 2024.2, 2025.1, and 2025.2.\nIf the patch gets accepted I will backport it\nfor the specified branches.\n\nWhat is causing constant db updates:\n\n1. If `s3_host` is configured with a scheme in glance.conf (e.g.,\n`s3_host \u003d https://domain`), `_construct_s3_url()` handles it\nincorrectly, resulting in false-positive URL diffs.\n\n2. `_update_location_for_legacy_store()` bypasses `_construct_s3_url()`,\nyet still triggers constant updates if the S3 secret contains a \u0027/\u0027.\n\nCloses-Bug: #2156925\nRelated-Bug: #2156432\nChange-Id: I30798ede5b0d3bbdaefc1d6e1e4962c59e1703e8\nSigned-off-by: Anatoli Barzev \u003canatoli.barzev@digits.schwarz\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c7cb8c1aa5c6c4f2eb375438ca0ff4a58428bb77"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/c7cb8c1aa5c6c4f2eb375438ca0ff4a58428bb77"}]},"branch":"refs/heads/master"},"6296a4b9f3d9328353c97ef6009e4a80aad1a3bf":{"kind":"REWORK","_number":2,"created":"2026-06-25 23:05:49.000000000","uploader":{"_account_id":39209,"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","username":"abarzev"},"ref":"refs/changes/98/994898/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/98/994898/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/994898/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/994898/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/994898/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/98/994898/2"}}},"commit":{"parents":[{"commit":"6de73e788ef804919f6e17b09ff22d80f10f5a1f","subject":"Merge \"[doc] Mention Hyper-V Enlightenments for os_type\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6de73e788ef804919f6e17b09ff22d80f10f5a1f"}]}],"author":{"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","date":"2026-06-25 06:27:27.000000000","tz":180},"committer":{"name":"Anatoli Barzev","email":"anatoli.barzev@digits.schwarz","date":"2026-06-25 23:05:09.000000000","tz":180},"subject":"Fix and refactor S3 URL parsing/constructing causing constant DB updates","message":"Fix and refactor S3 URL parsing/constructing causing constant DB updates\n\nA previous change (review.opendev.org/c/openstack/glance/+/975113)\nintroduced incorrect S3 location parsing and false-positive\nDB record updates+corruptions. Subsequent patch\n(review.opendev.org/c/openstack/glance/+/970048) attempted\nto address this, but it was incomplete, and constant,\nredundant DB record updates are still occurring.\n\nFurthermore, the fix was not backported\nto versions 2024.2, 2025.1, and 2025.2.\nIf the patch gets accepted I will backport it\nfor the specified branches.\n\nWhat is causing constant db updates:\n\n1. If `s3_host` is configured with a scheme in glance.conf (e.g.,\n`s3_host \u003d https://domain`), `_construct_s3_url()` handles it\nincorrectly, resulting in false-positive URL diffs.\n\n2. `_update_location_for_legacy_store()` bypasses `_construct_s3_url()`,\nyet still triggers constant updates if the S3 secret contains a \u0027/\u0027.\n\nCloses-Bug: #2156925\nRelated-Bug: #2156432\nChange-Id: I30798ede5b0d3bbdaefc1d6e1e4962c59e1703e8\nSigned-off-by: Anatoli Barzev \u003canatoli.barzev@digits.schwarz\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6296a4b9f3d9328353c97ef6009e4a80aad1a3bf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/6296a4b9f3d9328353c97ef6009e4a80aad1a3bf"}]},"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":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","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":"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":{"label:Review-Priority\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":""}}}]}
