)]}'
{"id":"openstack%2Fopenstacksdk~972237","triplet_id":"openstack%2Fopenstacksdk~master~Iab6fde785d9a7fb44088e951e5e8c3bc398a621f","project":"openstack/openstacksdk","branch":"master","topic":"bug/2137505","attention_set":{},"removed_from_attention_set":{"27900":{"account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"last_update":"2026-01-06 12:14:29.000000000","reason":"\u003cGERRIT_ACCOUNT_27900\u003e replied on the change","reason_account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}},"36393":{"account":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"last_update":"2026-01-06 14:15:54.000000000","reason":"Change was submitted"},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-01-06 14:15:54.000000000","reason":"Change was submitted"},"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-01-06 10:15:09.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}},"hashtags":[],"change_id":"Iab6fde785d9a7fb44088e951e5e8c3bc398a621f","subject":"Do not use the global Prometheus collector registry","status":"MERGED","created":"2026-01-05 19:20:45.000000000","updated":"2026-01-06 14:18:16.000000000","submitted":"2026-01-06 14:15:54.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":5,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"972237-bug/2137505","meta_rev_id":"0391157c278bfce0eb36fa6ee6d06181ae2e7550","_number":972237,"virtual_id_number":972237,"owner":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-01-06 14:15:54.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":2,"date":"2026-01-06 12:14:29.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-01-06 10:15:09.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"all":[{"value":1,"date":"2026-01-06 12:14:29.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Allow-Post-Review":{"all":[{"value":0,"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}],"values":{" 0":"Abstain","+1":"Approved for Zuul Post Review Pipeline"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-01-05 20:54:03.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"CC"},{"updated":"2026-01-05 20:54:03.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2026-01-05 22:43:32.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-01-06 08:55:35.000000000","updated_by":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"reviewer":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"state":"CC"},{"updated":"2026-01-06 10:15:09.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"state":"REVIEWER"}],"messages":[{"id":"67e05aca64a98bff77b260f389d41a2799ed5d83","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"date":"2026-01-05 19:20:45.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"d699219f8881854fa4dd05dd3a21750e48f0d0cb","author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"date":"2026-01-05 19:22:17.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d61f919c627272979d7b5d3c8107799869f3bfbe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"date":"2026-01-05 20:17:23.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"4564adf5c07cacbb33925ad95b0238f4dc44ba1a","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-01-05 20:55:28.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"bce05f38730b1bd822981ac8b8e299122e52736e","author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"date":"2026-01-05 21:02:33.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"b0007cab6046cddfc98240d2cef8e5efb15b8b54","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"date":"2026-01-05 21:03:30.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"3fe248b02ba6c18ebe63f8f324ebcf9ba94c3035","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"date":"2026-01-05 21:08:54.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"469699233fed05f019247cb56b6c20677bdc2b81","author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"date":"2026-01-05 21:09:35.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"3a8dcf54a006b90eadfd09dc1a7e0f4d7d10901e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-05 22:43:32.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/77b7d12613694bd4ace30471b2b51798\n\n- bifrost-integration-openstacksdk-src https://zuul.opendev.org/t/openstack/build/281ceb69dc1043b9b7a4da85d3f4832e : SUCCESS in 45m 02s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3d1f17c5fbaf4815b57ed73aa5998985 : SUCCESS in 3m 44s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/250018e24e7a4d6abff359013afebc03 : SUCCESS in 3m 43s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/f54568b31e7c43b6b3e057b7e1ee3043 : SUCCESS in 2m 16s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2c7de9bbfb8440d0b6a4bed33357dc69 : SUCCESS in 6m 59s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/863f9415009143c9a7aaaf7f4c552be4 : SUCCESS in 1h 08m 38s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/ad7de47bd97d46f4ac26a140fc972d51 : SUCCESS in 3m 03s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/4dd37593027e4dd2b7db3a1198116928 : SUCCESS in 4m 11s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/0c523ec0421747219672b8857024efcd : SUCCESS in 6m 51s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d5a7694776ae4b9083c2dcddf7fe2a1b : SUCCESS in 10m 26s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4d21a49a8dae4a30b0d24f42604b3215 : SUCCESS in 3m 45s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/69250a3109b741a6a36f290346e87e11 : SUCCESS in 1h 04m 53s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/5731ced4f8e54325ae1acc370323c581 : SUCCESS in 1h 10m 25s\n- openstacksdk-functional-devstack-networking-ext https://zuul.opendev.org/t/openstack/build/3e634ce6997e4816a2546db72b3f4fbb : SUCCESS in 58m 35s\n- openstacksdk-functional-devstack-magnum https://zuul.opendev.org/t/openstack/build/800eddc9365c40d4af95383a97cd1f92 : FAILURE in 58m 16s (non-voting)\n- openstacksdk-functional-devstack-manila https://zuul.opendev.org/t/openstack/build/be871cad6266422a9ece35a8820b2e1f : SUCCESS in 22m 03s\n- openstacksdk-functional-devstack-masakari https://zuul.opendev.org/t/openstack/build/04f6fcf12e9e45c1a50013f3ed7d8059 : SUCCESS in 12m 29s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/49ad7ca95f72425a8e620dbbbc05ba2d : SUCCESS in 29m 04s\n- osc-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/621ed7f08ce34c339a7357ba14c0d269 : SUCCESS in 1h 25m 20s (non-voting)\n- ansible-collections-openstack-functional-devstack https://zuul.opendev.org/t/openstack/build/4157a1c04c954e35aa6a4f013d0a10b0 : SUCCESS in 1h 04m 53s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"5a70ded37153c6214276304f3dd2983b3b1cfa87","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-01-06 10:15:09.000000000","message":"Patch Set 4: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"3d518e46c9df75bee3f96ed874c6563f9be28beb","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-01-06 12:14:29.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"83fc5ba76039f028ea30a2bb7873123ca0ef7913","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-06 12:15:21.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"c858bef80538b9c864df9337a2b49f6a645000f7","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-06 14:15:54.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f68d375fc3fb4fafb520b8f87fa8ddce\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/42460a2552b744fbb0d0a5a250022136 : SUCCESS in 4m 39s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c68c918e8fe24225abd1a1381cc07d37 : SUCCESS in 2m 26s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ac6828f740984597a33aa7eff70457ef : SUCCESS in 6m 33s\n- openstacksdk-functional-devstack-tips https://zuul.opendev.org/t/openstack/build/e20ddc2def9c4d08a56bc99338c362f9 : SUCCESS in 1h 03m 25s\n- os-client-config-tox-py311-tips https://zuul.opendev.org/t/openstack/build/1fa7971f0d97402897406674a246bdd0 : SUCCESS in 2m 33s\n- osc-tox-py310-tips https://zuul.opendev.org/t/openstack/build/0cef0b91c41c4c05ba5bf462be851ae5 : SUCCESS in 4m 50s\n- osc-tox-py313-tips https://zuul.opendev.org/t/openstack/build/106cbe9561c64ed992687fc979a4325c : SUCCESS in 7m 23s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/18d2ed9bfaac45c092b9686f0bdc6033 : SUCCESS in 10m 09s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d3bc841a20b1438a94cf76da1ea026ab : SUCCESS in 3m 00s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/fb8bba7774224cb9bd7559b96ead9018 : SUCCESS in 36m 29s\n- openstacksdk-functional-devstack-networking https://zuul.opendev.org/t/openstack/build/10f44ef956ab44e0be70bf4a243d0d52 : SUCCESS in 59m 39s\n- openstacksdk-functional-devstack-networking-ext https://zuul.opendev.org/t/openstack/build/4bc28b12954d436387d5453a112eb9a3 : SUCCESS in 58m 18s\n- openstacksdk-functional-devstack-ironic https://zuul.opendev.org/t/openstack/build/f515fc45682d43e2ad6f2b4e73431345 : SUCCESS in 45m 04s","accounts_in_message":[],"_revision_number":4},{"id":"8d4e2298e5f095ec7d0d0a44cb1a348b4858307a","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-06 14:15:54.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"0391157c278bfce0eb36fa6ee6d06181ae2e7550","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-01-06 14:18:16.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6c8ab97a6fac433ea1aeb4fd43bd8f0c\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2f981c96b0ed4f1d885366031d316488 : SUCCESS in 47s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9d1be9792e154442b098b93b61680bb7 : SUCCESS in 36s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"42509424ceb67509d057b2406781bc7aeedfd224","revisions":{"52ef1ab7dce1e01c524eaa108c7626d6083d65a6":{"kind":"REWORK","_number":1,"created":"2026-01-05 19:20:45.000000000","uploader":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"ref":"refs/changes/37/972237/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/37/972237/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/1"}}},"commit":{"parents":[{"commit":"12f9b903de8804494bb93f772350a9d4a429c8ef","subject":"Merge \"Add secure hash validation for image downloads\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/12f9b903de8804494bb93f772350a9d4a429c8ef"}]}],"author":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 19:20:20.000000000","tz":780},"committer":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 19:20:20.000000000","tz":780},"subject":"Do not use the global Prometheus collector registry","message":"Do not use the global Prometheus collector registry\n\nThe openstacksdk documentation states that if applications want to\nopt-in to Prometheus metrics provided by openstacksdk,\ncollector_registry should have a prometheus_client.CollectorRegistry\nobject passed to it when instantiating the openstack.Connection object.\n\nHowever, with way it is currently implemented, openstacksdk will use\nthe global prometheus_client.REGISTRY object if collector_registry\nwas not set to a non-None value. This means that if the\nprometheus-client is installed, but not configured in openstacksdk,\nopenstacksdk *always* publishes metrics to the global Prometheus\ncollector registry, even if it is not used.\n\nThis not only has the potential to cause unintended pollution of\nthe global Prometheus collector registry with unwanted metrics,\nit also can be a potential cause of memory leaks if openstacksdk\nis used to make a large amount/variety of requests. This potentially\naffects a wide variety of OpenStack services due to oslo.messaging\ndepending on oslo.metrics, which requires prometheus-client.\n\nChange-Id: Iab6fde785d9a7fb44088e951e5e8c3bc398a621f\nSigned-off-by: Callum Dickinson \u003ccallum.dickinson@catalystcloud.nz\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/52ef1ab7dce1e01c524eaa108c7626d6083d65a6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/52ef1ab7dce1e01c524eaa108c7626d6083d65a6"}]},"branch":"refs/heads/master"},"6471eef8bc64d87ab99b01c289d14dc2ba8db2ff":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-01-05 20:17:23.000000000","uploader":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"ref":"refs/changes/37/972237/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/37/972237/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/2"}}},"commit":{"parents":[{"commit":"12f9b903de8804494bb93f772350a9d4a429c8ef","subject":"Merge \"Add secure hash validation for image downloads\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/12f9b903de8804494bb93f772350a9d4a429c8ef"}]}],"author":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 19:20:20.000000000","tz":780},"committer":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 20:15:38.000000000","tz":780},"subject":"Do not use the global Prometheus collector registry","message":"Do not use the global Prometheus collector registry\n\nThe openstacksdk documentation states that if applications want to\nopt-in to Prometheus metrics provided by openstacksdk,\ncollector_registry should have a prometheus_client.CollectorRegistry\nobject passed to it when instantiating the openstack.Connection object.\n\nHowever, with the way it is currently implemented, openstacksdk will\nuse the global prometheus_client.REGISTRY object if collector_registry\nwas not set to a non-None value. This means that if the\nprometheus-client package is installed, but not configured in\nopenstacksdk, openstacksdk *always* publishes metrics to the global\nPrometheus collector registry, even if it is not used.\n\nThis not only has the potential to cause unintended pollution of\nthe global Prometheus collector registry with unwanted metrics,\nit also can be a potential cause of memory leaks if openstacksdk\nis used to make a large amount/variety of requests. This potentially\naffects a wide variety of OpenStack services due to oslo.messaging\ndepending on oslo.metrics, which requires prometheus-client.\n\nChange-Id: Iab6fde785d9a7fb44088e951e5e8c3bc398a621f\nSigned-off-by: Callum Dickinson \u003ccallum.dickinson@catalystcloud.nz\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/6471eef8bc64d87ab99b01c289d14dc2ba8db2ff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/6471eef8bc64d87ab99b01c289d14dc2ba8db2ff"}]},"branch":"refs/heads/master"},"249bf4e650ecd175b6a88dd9705f469b7b5f4c0d":{"kind":"REWORK","_number":3,"created":"2026-01-05 21:03:30.000000000","uploader":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"ref":"refs/changes/37/972237/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/37/972237/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/3"}}},"commit":{"parents":[{"commit":"12f9b903de8804494bb93f772350a9d4a429c8ef","subject":"Merge \"Add secure hash validation for image downloads\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/12f9b903de8804494bb93f772350a9d4a429c8ef"}]}],"author":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 19:20:20.000000000","tz":780},"committer":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 21:03:17.000000000","tz":780},"subject":"Do not use the global Prometheus collector registry","message":"Do not use the global Prometheus collector registry\n\nThe openstacksdk documentation states that if applications want to\nopt-in to Prometheus metrics provided by openstacksdk,\ncollector_registry should have a prometheus_client.CollectorRegistry\nobject passed to it when instantiating the openstack.Connection object.\n\nHowever, with the way it is currently implemented, openstacksdk will\nuse the global prometheus_client.REGISTRY object if collector_registry\nwas not set to a non-None value. This means that if the\nprometheus-client package is installed, but not configured in\nopenstacksdk, openstacksdk *always* publishes metrics to the global\nPrometheus collector registry, even if it is not used.\n\nThis not only has the potential to cause unintended pollution of\nthe global Prometheus collector registry with unwanted metrics,\nit also can be a potential cause of memory leaks if openstacksdk\nis used to make a large amount/variety of requests. This potentially\naffects a wide variety of OpenStack services due to oslo.messaging\ndepending on oslo.metrics, which requires prometheus-client.\n\nChange-Id: Iab6fde785d9a7fb44088e951e5e8c3bc398a621f\nSigned-off-by: Callum Dickinson \u003ccallum.dickinson@catalystcloud.nz\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/249bf4e650ecd175b6a88dd9705f469b7b5f4c0d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/249bf4e650ecd175b6a88dd9705f469b7b5f4c0d"}]},"branch":"refs/heads/master"},"42509424ceb67509d057b2406781bc7aeedfd224":{"kind":"REWORK","_number":4,"created":"2026-01-05 21:08:54.000000000","uploader":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"ref":"refs/changes/37/972237/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstacksdk","ref":"refs/changes/37/972237/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstacksdk refs/changes/37/972237/4"}}},"commit":{"parents":[{"commit":"12f9b903de8804494bb93f772350a9d4a429c8ef","subject":"Merge \"Add secure hash validation for image downloads\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/12f9b903de8804494bb93f772350a9d4a429c8ef"}]}],"author":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 19:20:20.000000000","tz":780},"committer":{"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","date":"2026-01-05 21:07:57.000000000","tz":780},"subject":"Do not use the global Prometheus collector registry","message":"Do not use the global Prometheus collector registry\n\nThe openstacksdk documentation states that if applications want to\nopt-in to Prometheus metrics provided by openstacksdk,\ncollector_registry should have a prometheus_client.CollectorRegistry\nobject passed to it when instantiating the openstack.Connection object.\n\nHowever, with the way it is currently implemented, openstacksdk will\nuse the global prometheus_client.REGISTRY object if collector_registry\nwas not set to a non-None value. This means that if the\nprometheus-client package is installed, but not configured in\nopenstacksdk, openstacksdk *always* publishes metrics to the global\nPrometheus collector registry, even if it is not used.\n\nThis not only has the potential to cause unintended pollution of\nthe global Prometheus collector registry with unwanted metrics,\nit also can be a potential cause of memory leaks if openstacksdk\nis used to make a large amount/variety of requests. This potentially\naffects a wide variety of OpenStack services due to oslo.messaging\ndepending on oslo.metrics, which requires prometheus-client.\n\nChange-Id: Iab6fde785d9a7fb44088e951e5e8c3bc398a621f\nCloses-Bug: 2137505\nSigned-off-by: Callum Dickinson \u003ccallum.dickinson@catalystcloud.nz\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/42509424ceb67509d057b2406781bc7aeedfd224"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstacksdk/commit/42509424ceb67509d057b2406781bc7aeedfd224"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"}},{"label":"Allow-Post-Review","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Allow-Post-Review","description":"Allow Post Review","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
