)]}'
{"id":"openstack%2Fglance~1003797","triplet_id":"openstack%2Fglance~master~Ib19e23998c54b771f9fad3004d5c84b18ccbda64","project":"openstack/glance","branch":"master","attention_set":{"9816":{"account":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"last_update":"2026-09-03 16:19:59.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Ib19e23998c54b771f9fad3004d5c84b18ccbda64","subject":"Parse environment variables in a single place","status":"NEW","created":"2026-09-03 14:24:31.000000000","updated":"2026-09-04 09:23:53.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"c44190430dacd81ae0931b6fc1ed3687ceb2b071","_number":1003797,"virtual_id_number":1003797,"owner":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-04 09:23:53.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":-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":[{"_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":[{"_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":{"CC":[{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-03 14:46:27.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-09-03 16:19:59.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-09-04 07:46:30.000000000","updated_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"CC"}],"messages":[{"id":"91f7396fe74df34d3cff9eb48809a7a2b6beca7a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-09-03 14:24:31.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5432aa4f72044b9900c4d07d4bd46a00f7c7c7e2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-03 14:46:27.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b82597263ea64d26a48be5c6542dfe2d\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/7df97b5b83a749499054b989a70ddc58 : FAILURE in 6m 42s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/643546bb35844316a7fe8c7d703ad417 : FAILURE in 7m 18s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/e2374df8d5fe4adcb44781196fe95e78 : FAILURE in 14m 55s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"e1fb11e7a4af0a39f7e3a32c189e127ccc828df7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-03 16:19:59.000000000","message":"Patch Set 1: Verified-1\n\n(1 comment)\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/3f7c1050f33d4ebf9fbab71134217283\n\n- grenade https://zuul.opendev.org/t/openstack/build/ba48240bc7ca4b8bacf640af0d4f5955 : SUCCESS in 40m 35s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/9c0b465de1644d20806ac29a9da512de : SUCCESS in 1h 17m 35s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/129937627b9747eb90f389b673535c74 : SUCCESS in 1h 15m 23s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/443af262b98344c99ad5ce2843fbc1c4 : SUCCESS in 1h 00m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/2e0e21d661ba4a17a58e3939ce69fa7d : FAILURE in 4m 55s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2be1073daa7d454e88b7cb92ca197c29 : FAILURE in 6m 00s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ab1e573081fa46a5a2b2523ce09dbc96 : FAILURE in 5m 26s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9aaf615a19db42f8bf57fd8d7e15e026 : FAILURE in 8m 34s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8765e225b2ba412d9e70a6aed13688c5 : SUCCESS in 6m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1da8e5a75a1741f4928cab7241735a57 : SUCCESS in 10m 17s\n- openstack-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/a3779ddd96414aae9a3ed4104e1a12fd : SUCCESS in 7m 04s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/9d086d553161482a9def7ce5466b296f : SUCCESS in 10m 22s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/f5409d7d1b4c4064aa9da2c75cdab045 : SUCCESS in 1h 32m 19s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/e344c12ae8a746888e8c69ae13e58d3b : SUCCESS in 1h 44m 44s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/2e9331e568484cbd8bb0f5e6dbcf2ca1 : SUCCESS in 1h 47m 59s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0521522c33f341ec8f9c1b3ff9d02e61 : SUCCESS in 1h 08m 52s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/8de5c2758f434aabb96d879d57c4d803 : SUCCESS in 1h 23m 20s\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/eb07b123f8c046b1a0b5db88a121c3f0 : FAILURE in 19m 02s (non-voting)\n- glance-multistore-add-location-do-secure-hash-false https://zuul.opendev.org/t/openstack/build/145cc4bfd66d4e83a3585b1d9918c2f3 : FAILURE in 34m 35s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/b03e92123d0f4372b756ed142528027a : SUCCESS in 35m 25s\n- glance-rally-task-uwsgi https://zuul.opendev.org/t/openstack/build/e39f81727b544fbda0fadbd37b9f565d : SUCCESS in 23m 00s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"9ccbe90282085d5a95df5a19d1953f29db098924","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"date":"2026-09-03 16:27:39.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"44167e25c9315ae0719d44fa81e6599965d577a7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-03 16:42:50.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/39aaa9ff038f42349d768e5473fcbac5\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/7993bef44c4b4b69a96aed6ec64cbf02 : SUCCESS in 10m 47s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/6fc4d6cb2b6644edb61e60683f59b998 : SUCCESS in 5m 59s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/6022d618567f405b82fc185aab0eb398 : SUCCESS in 7m 55s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"63fa2e03c51613d21396482dcfb4f36331e79b9c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-03 18:22:24.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/fb733f3a4a184fd8a9e33ad5bc2bc431\n\n- grenade https://zuul.opendev.org/t/openstack/build/249f04a03e8342a6b792b809e7ed7e4f : SUCCESS in 1h 11m 34s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/bb095e4fe8914054b90660dda9825804 : SUCCESS in 32m 20s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/737c30f8ee74462b980cf67980d32fe2 : SUCCESS in 1h 41m 57s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1b060aeb37b34df68f8b074ca1f548f1 : SUCCESS in 30m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9d63d40f05a6442db16ac4f6d786b54f : SUCCESS in 3m 05s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/6b84561d6bf54d3d8ca046a62550e15d : SUCCESS in 3m 09s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7469644df1dd495c9eb2eaa68de69ab8 : SUCCESS in 7m 56s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f46903ea0faa4e209cb59b04f70b1538 : SUCCESS in 9m 03s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/adac68f3c4e445cebf41c93da23088ed : SUCCESS in 5m 58s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/baab83cbeefc4f35912dd1de63754488 : SUCCESS in 7m 14s\n- openstack-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/006c3597a84d44afacbdf7326676d51c : SUCCESS in 6m 02s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/978641b2de1842df9c4e7e3ed1e4c313 : SUCCESS in 7m 10s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/eaca2a7725714c51a1e95c9f7bc21c59 : SUCCESS in 52m 05s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/bd25087bc8a9436d9b1b0970295d35e1 : SUCCESS in 1h 48m 23s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/32a5ec0615084a57b20ba2f4bd2e4944 : FAILURE in 51m 35s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2e419af2e0984dcba8ef4a78f5032a02 : SUCCESS in 1h 07m 55s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/73eaa5f57df445a89b82c1b6c4115816 : SUCCESS in 53m 16s\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/0cdd5b54a99a4969a642fbafa8d59fe3 : FAILURE in 29m 42s (non-voting)\n- glance-multistore-add-location-do-secure-hash-false https://zuul.opendev.org/t/openstack/build/b119b6e410c442ae8090965cb9295a33 : FAILURE in 28m 30s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/632cf7d6b69d44e6ab4692b4a0ef6d4c : SUCCESS in 39m 27s\n- glance-rally-task-uwsgi https://zuul.opendev.org/t/openstack/build/cf34e3e46d4a4880b2cf824cf0cfc811 : SUCCESS in 54m 07s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"e280e69d0aef0395d1df8a7394d889e7bb239f07","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2026-09-04 07:46:30.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"1c873a7c5e8549fc9e63d34ed2ede48873c140ad","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 08:42:18.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/289615a5b9244f4fb4ee346ec9b1a557\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/35e5f6c182274a29b5517087cdb51e2a : SUCCESS in 7m 15s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/3ef53c45eb584da7b5a2a09a54833756 : SUCCESS in 9m 00s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/24a71b9461b04c1cb8e775b528ab4be3 : SUCCESS in 12m 39s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"c44190430dacd81ae0931b6fc1ed3687ceb2b071","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 09:23:53.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/41c8edb8d8754bf8bb053d2787d4f265\n\n- grenade https://zuul.opendev.org/t/openstack/build/2a57743fc9ca4ce7b71d590811f362e0 : SUCCESS in 36m 38s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/51829f6c8cf7446785dff3a7fc39b2ed : SUCCESS in 35m 47s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/651a012023f645dfb9f9f8d38b6d56dc : SUCCESS in 1h 00m 40s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/5fb44c00e0f645e49c4af898ba0b4eca : SUCCESS in 27m 49s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/826e39181529442db8bbc0329540c877 : SUCCESS in 5m 09s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d5155318bb1f4be8bcc2531503820446 : SUCCESS in 3m 20s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/be60830e73d04d43920823f564d10ac0 : SUCCESS in 4m 28s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ec0a38f758be4b6ebfe8cf28ad51f92f : SUCCESS in 7m 58s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0820c48ccd974e08a05f30fb638737f0 : SUCCESS in 5m 49s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/17ac90a9b3b5499f9563a24f8a521721 : SUCCESS in 8m 18s\n- openstack-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/33cc3900b76345b5b9ee85e0ed04ea40 : SUCCESS in 6m 27s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/f49f16b835744895a48d51dbd4e9de34 : SUCCESS in 7m 30s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/d9206f0f8403434c8a58672393375260 : SUCCESS in 1h 31m 47s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/2981072cea174fe3810e715fd9e5ea94 : SUCCESS in 54m 23s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/1e23268b30124cccadaf55608b48845e : SUCCESS in 53m 48s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ae26a6af0ebc43eaa581d91dd854a5f3 : SUCCESS in 48m 48s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/c6fd1ba42dd84fa4a4f043fdd365125d : SUCCESS in 1h 18m 45s\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/b47e407d4ba547ea854f53bb069f574f : FAILURE in 25m 50s (non-voting)\n- glance-multistore-add-location-do-secure-hash-false https://zuul.opendev.org/t/openstack/build/d701cf061cf146b1869f86e7a911c725 : FAILURE in 24m 20s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/82786ca7148a4aa79800f3ab52c46c2e : SUCCESS in 33m 12s\n- glance-rally-task-uwsgi https://zuul.opendev.org/t/openstack/build/de898a2d45cf4aaa81f38a2853c1071e : SUCCESS in 49m 20s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"0ebed4517fcbc485ac1f539375e7ce192d150954","revisions":{"299bbfacfbb288e11060318a969110af24c51369":{"kind":"REWORK","_number":1,"created":"2026-09-03 14:24:31.000000000","uploader":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"ref":"refs/changes/97/1003797/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/1003797/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/1003797/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/1003797/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/1003797/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/1003797/1"}}},"commit":{"parents":[{"commit":"7b94aa74046f1cc867bc98464083b0e7df1fce65","subject":"Do not add version element to identity url","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/7b94aa74046f1cc867bc98464083b0e7df1fce65"}]}],"author":{"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","date":"2026-09-03 14:20:24.000000000","tz":540},"committer":{"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","date":"2026-09-03 14:23:01.000000000","tz":540},"subject":"Parse environment variables in a single place","message":"Parse environment variables in a single place\n\nMerge parse logic of environment variables into the command layer.\nThe existing implementation had similar but slightly different logics\nin\n - glance.cmd.cache_manage.parse_args\n - glance.image_cache.client.get_client\nand made it difficult to predict the actual behavior.\n\nBecause the glance.image_cache.client module is now used only by\nthe glance-cache-manage command we can move the parse logic to\nthe command definition layer to reduce the duplicated logic.\n\nAlso rename the project argument so that developers can understand\nthat it expects only name, not id .\n\nChange-Id: Ib19e23998c54b771f9fad3004d5c84b18ccbda64\nSigned-off-by: Takashi Kajinami \u003ckajinamit@oss.nttdata.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/299bbfacfbb288e11060318a969110af24c51369"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/299bbfacfbb288e11060318a969110af24c51369"}]},"branch":"refs/heads/master"},"0ebed4517fcbc485ac1f539375e7ce192d150954":{"kind":"REWORK","_number":2,"created":"2026-09-03 16:27:39.000000000","uploader":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"ref":"refs/changes/97/1003797/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/97/1003797/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/1003797/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/1003797/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/97/1003797/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/97/1003797/2"}}},"commit":{"parents":[{"commit":"7b94aa74046f1cc867bc98464083b0e7df1fce65","subject":"Do not add version element to identity url","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/7b94aa74046f1cc867bc98464083b0e7df1fce65"}]}],"author":{"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","date":"2026-09-03 14:20:24.000000000","tz":540},"committer":{"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","date":"2026-09-03 16:27:20.000000000","tz":540},"subject":"Parse environment variables in a single place","message":"Parse environment variables in a single place\n\nMerge parse logic of environment variables into the command layer.\nThe existing implementation had similar but slightly different logics\nin\n - glance.cmd.cache_manage.parse_args\n - glance.image_cache.client.get_client\nand made it difficult to predict the actual behavior.\n\nBecause the glance.image_cache.client module is now used only by\nthe glance-cache-manage command we can move the parse logic to\nthe command definition layer to reduce the duplicated logic.\n\nAlso rename the project argument so that developers can understand\nthat it expects only name, not id .\n\nChange-Id: Ib19e23998c54b771f9fad3004d5c84b18ccbda64\nSigned-off-by: Takashi Kajinami \u003ckajinamit@oss.nttdata.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/0ebed4517fcbc485ac1f539375e7ce192d150954"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/0ebed4517fcbc485ac1f539375e7ce192d150954"}]},"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"},{"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":""}}}]}
