)]}'
{"id":"openstack%2Ffreezer-api~985810","triplet_id":"openstack%2Ffreezer-api~master~I17c91015819fd20a0600047a63e247dfe8c97d84","project":"openstack/freezer-api","branch":"master","topic":"service_client","hashtags":[],"change_id":"I17c91015819fd20a0600047a63e247dfe8c97d84","subject":"Refactor freezer user ID fetch for trust creation","status":"MERGED","created":"2026-04-22 12:26:17.000000000","updated":"2026-04-23 11:27:00.000000000","submitted":"2026-04-23 11:25:52.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"985810-service_client","meta_rev_id":"c975595c69d046ea45c496cfc3ef5f14878cc581","_number":985810,"virtual_id_number":985810,"owner":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-23 11:25:51.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":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"all":[{"value":2,"date":"2026-04-23 10:49:06.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_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":{"approved":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"all":[{"value":1,"date":"2026-04-23 10:49:06.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},{"value":0,"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-22 12:51:57.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-04-22 12:56:23.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"}],"messages":[{"id":"d651ff747b9ab9a3836a543ae3461bb96c6b1bb9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-04-22 12:26:17.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"70c605fcba355210aeeb29b398f2fcc4706620f8","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-22 12:51:57.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9c0eda5b2267490f9bdafc3a42d8a1af\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/9f4c8b7d1e224ceb8a84d70be4a4c2c0 : SUCCESS in 4m 38s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/479bcc236f4a4505883d444d59665245 : SUCCESS in 4m 09s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/99118d29b4e1466b99a62582084ac7e7 : SUCCESS in 7m 04s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"2282a4c189dce091ce0ca509d17889035a51f79c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-22 12:56:23.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e5be4636387a498792126b70013c7154\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0dc85b3befd8447b8cecc76feb476368 : SUCCESS in 3m 22s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/ad1a853dae8f49b6a2ab96af87e39cc1 : SUCCESS in 2m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/dfc26dca7f6542d4869e7c0c46b8ae63 : SUCCESS in 2m 56s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/60b89a30146d43a3946a7284f622bdf4 : SUCCESS in 4m 25s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/254691b2d5694bf9b16706a3824ef498 : SUCCESS in 3m 33s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/69c33a6eb49745798e08957b8e4926b5 : SUCCESS in 2m 39s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/eba29598eece40a8b71dab4fd9c7c301 : SUCCESS in 3m 03s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/d3615ac0c2b84d1f8c0b791ad7eaef1b : SUCCESS in 28m 24s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/2d8a3e940a1e49a49f91007502785e53 : SUCCESS in 15m 44s","accounts_in_message":[],"_revision_number":1},{"id":"8ccdf5c8b25cdb1dcaa26b7a4c00aee3b7f6a3a3","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-04-23 10:49:06.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"5e66144bc0ee8be42982412e434a69ab1f322928","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-23 10:49:33.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"190e55f05cd5caeb993807a59e78165befa2e966","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-23 11:25:51.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c6944ef9f31941cc893ba85dc07ae291\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/70e5521ab94c4d5598238ea8f5680344 : SUCCESS in 3m 05s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2d0e8bde2e50439fac9abb28789cd6c7 : SUCCESS in 4m 33s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/fc4d7eea4f334f36a1039aa26303244f : SUCCESS in 4m 03s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/530ebf3ea20144adb4203bd2054fa2e1 : SUCCESS in 3m 53s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/23bf66335e8c4974b1e03fa0d47dafbc : SUCCESS in 2m 34s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/5f1f7d0b84d64da7ad93236ccbf26c99 : SUCCESS in 5m 33s\n- freezer-tempest-basic https://zuul.opendev.org/t/openstack/build/e3fa84c0251241148fc0fa166e53e3af : SUCCESS in 14m 52s\n- freezer-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c0d6d61dc6e842bda457160a02d84b4f : SUCCESS in 34m 52s","accounts_in_message":[],"_revision_number":1},{"id":"00dc5d53785f7b804c72972f76ca37a7b48d919a","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-23 11:25:52.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"c975595c69d046ea45c496cfc3ef5f14878cc581","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-23 11:27:00.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/00f502ac7b594d3fbbde459fbcc53181\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3a2df308795b4a8a84c4d5ec1174e717 : SUCCESS in 42s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/210d42ce03624f3fa4f063f7a707d522 : SUCCESS in 42s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"c1ed989528fd216e40dc6752707f5dbabb956d48","revisions":{"c1ed989528fd216e40dc6752707f5dbabb956d48":{"kind":"REWORK","_number":1,"created":"2026-04-22 12:26:17.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/10/985810/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/freezer-api","ref":"refs/changes/10/985810/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/10/985810/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/10/985810/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/freezer-api refs/changes/10/985810/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/freezer-api refs/changes/10/985810/1"}}},"commit":{"parents":[{"commit":"0ff4646dd9e2e2e868bd3bdb6eb1b122bcab64bf","subject":"Merge \"Optimize logic of trusts creation\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/0ff4646dd9e2e2e868bd3bdb6eb1b122bcab64bf"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-04-22 12:25:47.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-04-22 12:26:10.000000000","tz":120},"subject":"Refactor freezer user ID fetch for trust creation","message":"Refactor freezer user ID fetch for trust creation\n\nCurrent logic assumes that freezer api logic obtains\nan admin role with project scope  for searching for the user by name.\nThis is problematic, as services are assumed to have only `service`\nrole, which is not allowed to list users.\n\nThough, we only need to fetch \"self\" user ID, while providing an option\nto use a different credentials for API and scheduler.\n\nThis also allows to avoid constly mistakes during configuration, if\nuser is defined incorrectly, as that requires\nauth against the keystone.\n\nThis significantly simplifies the logic and improves stability.\n\nChange-Id: I17c91015819fd20a0600047a63e247dfe8c97d84\nSigned-off-by: Dmitriy Rabotyagov \u003cdmitriy.rabotyagov@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/c1ed989528fd216e40dc6752707f5dbabb956d48"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/freezer-api/commit/c1ed989528fd216e40dc6752707f5dbabb956d48"}]},"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":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
