)]}'
{"id":"openstack%2Fpython-freezerclient~988319","triplet_id":"openstack%2Fpython-freezerclient~master~I3e163accffb34ab3ef36b7eec0c309e1af03a67a","project":"openstack/python-freezerclient","branch":"master","hashtags":[],"change_id":"I3e163accffb34ab3ef36b7eec0c309e1af03a67a","subject":"Introduce client manager base class","status":"MERGED","created":"2026-05-12 18:09:14.000000000","updated":"2026-05-13 11:12:22.000000000","submitted":"2026-05-13 11:11:14.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":"988319","meta_rev_id":"6f041349a7b2fc7f5c375a96eab94d9ad064e8dd","_number":988319,"virtual_id_number":988319,"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":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-13 11:11:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}],"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":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-05-13 10:47:05.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}],"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":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-05-13 10:47:05.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}],"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-05-12 18:27:04.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-05-12 18:51:19.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":"e910567913faf98aa19d893e4322a1dba6769281","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-05-12 18:09:14.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ae2f341286410918df241ec85457f3df899a26f2","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-12 18:27:04.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a0a153c04b2f406d844e332391365b4f\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/82d12bf52452476bb3421131b9ed9cd4 : SUCCESS in 5m 08s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/7b51b7bc7ea846be927cfdfdeabff6f8 : SUCCESS in 4m 53s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/a8d5f0f60a9449cea6ecbf93a65cfbc8 : SUCCESS in 6m 50s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"35147635584e7d1749dc21eca0f9307c56de9339","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-12 18:51:19.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e03666a8ea124be592d563f71932b4a0\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7b9d8a6f929148d3a89d0c7595492b52 : SUCCESS in 3m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0f7db88c78c549938709d605d88b7759 : SUCCESS in 1m 48s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2bcc2c3d983447c7bbf7c4f4dd679b45 : SUCCESS in 3m 15s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/333daea21ede46eda51d00fc50960ec2 : SUCCESS in 3m 15s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/698d3d3398a04414b91b62ae0e85e679 : SUCCESS in 4m 11s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2888ae6a26a84321aebfdd48ccdb59ea : SUCCESS in 2m 03s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d0cc72e243294094a27599bd8f3d3bc1 : SUCCESS in 2m 31s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/4ec0126de3b0439f9badaec0b597b238 : SUCCESS in 2m 50s\n- freezer-tempest-client https://zuul.opendev.org/t/openstack/build/e7d710e14ab349f7ade8b55738d0edc2 : SUCCESS in 36m 05s","accounts_in_message":[],"_revision_number":1},{"id":"3b1f764b5b81aaae3d8d6e5915c947194e1fa58f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-05-13 09:11:48.000000000","message":"Patch Set 2: Patch Set 1 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"cf742b1928232dc3b38b8410ddde60f5b126ad75","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 09:34:27.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/25c549a23b3e420fa5fa2e04951d08be\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/80fca991818b4dc09e6d4e0a694aefd4 : SUCCESS in 4m 50s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/eac25a99317247cb93949b837a7d69a8 : SUCCESS in 5m 12s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/25a06a995da8465b9c840a943ca677e0 : SUCCESS in 8m 32s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"73a7ed6ff2e635a5ba5649c8b0664028d4abd4fc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 09:54:47.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0c0f23e825964252a916879a70cd5987\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/1f751ab848114b1d8dae2d26f5b29df3 : SUCCESS in 3m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/24ac5c98f5b44a5097fb11eb2c879d54 : SUCCESS in 3m 12s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/88e1a8d2b27743c391404a4d07b04ac5 : SUCCESS in 3m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8dbf78e6cf18469cb12ef6493c957737 : SUCCESS in 2m 17s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/6c008b74220e4725b6f2b6ae257fc120 : SUCCESS in 7m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b43d677d34ed478fba4d1f26b0f155e7 : SUCCESS in 2m 31s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4571af86708b4b88875b77f282284047 : SUCCESS in 2m 51s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/628799edfb8a47a689e357545e5bf478 : SUCCESS in 4m 48s\n- freezer-tempest-client https://zuul.opendev.org/t/openstack/build/aadbcb54ae634aedb870304b78187794 : SUCCESS in 34m 24s","accounts_in_message":[],"_revision_number":2},{"id":"cf54538af4f75e181ce30906be07f95f9e192f5a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-05-13 09:57:43.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"e32e9f4fe31b8e937dfb39e06723722f7721a7e0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-05-13 09:59:04.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"6d04eb5d32fc697a4238bc8c00202ff9e508e97c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 10:14:30.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fee67b45702b4383be8731c97e4e37c5\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/e64f910f4cd94c53ae4cd7c63d13afda : SUCCESS in 4m 41s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/5f6031c46329495f822daf9da06e94aa : SUCCESS in 5m 20s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/8b861ee63fb34fa080826aec7ba5fcc5 : SUCCESS in 8m 14s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"c91aee64f38ce6474cdc82e22a7b4c5b6e38eb58","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 10:44:22.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0044b3cd50ce4349a12cda15e92c9a91\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/04b4f374bf8b42b99465ccc1d6fa9eca : SUCCESS in 3m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c7d0e760e7dc4d448e5d7c2dfa6f436b : SUCCESS in 2m 31s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d448862045214ff1a99da1203061a651 : SUCCESS in 3m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7bbac72d22a84fd1995ec502f50ea978 : SUCCESS in 3m 17s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/22ab32f460434189ad8069502a6ca60c : SUCCESS in 5m 59s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d1a8e0818cab4648adfd424e71eea182 : SUCCESS in 3m 07s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8f858f5729d3473aa5242c43b68ad09f : SUCCESS in 3m 17s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/8f11cdde3cc7433b90aa51afdb550238 : SUCCESS in 3m 27s\n- freezer-tempest-client https://zuul.opendev.org/t/openstack/build/4f947f603ef9444497d4d044832d257c : SUCCESS in 41m 02s","accounts_in_message":[],"_revision_number":4},{"id":"f446d7be2990afb2280f4d6ad76f1bfaec30ca5c","author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"date":"2026-05-13 10:47:05.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"b6a20b52f1eae6f55d1e14cb3312d825ab2d4a29","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 10:47:34.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"236de9b4b7fdcf245eff5b201afc53179d32b4ce","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 11:11:14.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9d6a685e971f404398549d23b188eb7c\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/458c2debf40b40e085452565cbcc35c7 : SUCCESS in 3m 08s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/170365585d234d74a2cf0ca97b4aae68 : SUCCESS in 2m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/396f936595544302bc7f13862c6de94d : SUCCESS in 2m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6f435477e1894fa69c5629343574904d : SUCCESS in 2m 08s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/416c060faa2644b183ae1e7b1c0aff0a : SUCCESS in 4m 30s\n- openstack-tox-pylint https://zuul.opendev.org/t/openstack/build/d9b957987a724e488ec0d48755df739e : SUCCESS in 3m 23s\n- freezer-tempest-client https://zuul.opendev.org/t/openstack/build/380c45b34d204629bdbd05615cb3bb7a : SUCCESS in 23m 11s","accounts_in_message":[],"_revision_number":4},{"id":"075ea3fa3b7dee5e91e9ca817bccd2cfec32d7a4","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 11:11:14.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"6f041349a7b2fc7f5c375a96eab94d9ad064e8dd","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-13 11:12:22.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a20e92cbb13743de83f58ac9a59a5e0e\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/42b130b1f72346d2bbbbc807d39b495c : SUCCESS in 40s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"15be334c4b7635432119e9a71aac90fd856a94d2","revisions":{"48d5e4fc7323c0d601fc5fb5d4d06c2f5c059870":{"kind":"REWORK","_number":1,"created":"2026-05-12 18:09:14.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/19/988319/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-freezerclient","ref":"refs/changes/19/988319/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/1"}}},"commit":{"parents":[{"commit":"0560bc5b18da58a7a20b3ee9c473517ce74aad5d","subject":"Add trust ID support for client auth","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/0560bc5b18da58a7a20b3ee9c473517ce74aad5d"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-12 18:09:01.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-12 18:09:01.000000000","tz":120},"subject":"Move endpoint defenition to property","message":"Move endpoint defenition to property\n\nRight now endpoint is constructed statically on client init.\n\nWhile this does work, it may result in an unexpected behavior, when\nclient is being re-used.\n\nTo be more error-prone, let\u0027s move endpoint construction to a\nproperty.\n\nChange-Id: I3e163accffb34ab3ef36b7eec0c309e1af03a67a\nSigned-off-by: Dmitriy Rabotyagov \u003cdmitriy.rabotyagov@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/48d5e4fc7323c0d601fc5fb5d4d06c2f5c059870"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/48d5e4fc7323c0d601fc5fb5d4d06c2f5c059870"}]},"branch":"refs/heads/master"},"3b2b392d27137f958539711df7de720a7d1443ff":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-05-13 09:11:48.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/19/988319/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-freezerclient","ref":"refs/changes/19/988319/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/2"}}},"commit":{"parents":[{"commit":"4179b1b28fb465e71db432479af683d3a787a9b0","subject":"Add trust ID support for client auth","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/4179b1b28fb465e71db432479af683d3a787a9b0"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-12 18:09:01.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-13 09:11:48.000000000","tz":0},"subject":"Move endpoint defenition to property","message":"Move endpoint defenition to property\n\nRight now endpoint is constructed statically on client init.\n\nWhile this does work, it may result in an unexpected behavior, when\nclient is being re-used.\n\nTo be more error-prone, let\u0027s move endpoint construction to a\nproperty.\n\nChange-Id: I3e163accffb34ab3ef36b7eec0c309e1af03a67a\nSigned-off-by: Dmitriy Rabotyagov \u003cdmitriy.rabotyagov@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/3b2b392d27137f958539711df7de720a7d1443ff"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/3b2b392d27137f958539711df7de720a7d1443ff"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"ours":"48d5e4fc7323c0d601fc5fb5d4d06c2f5c059870","theirs":"4179b1b28fb465e71db432479af683d3a787a9b0","contains_conflicts":false}},"433f2702ec9197045e7f038fdcb17a4622f0b05f":{"kind":"REWORK","_number":3,"created":"2026-05-13 09:57:43.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/19/988319/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-freezerclient","ref":"refs/changes/19/988319/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/3"}}},"commit":{"parents":[{"commit":"4179b1b28fb465e71db432479af683d3a787a9b0","subject":"Add trust ID support for client auth","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/4179b1b28fb465e71db432479af683d3a787a9b0"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-12 18:09:01.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-13 09:57:33.000000000","tz":120},"subject":"Introduce client manager base class","message":"Introduce client manager base class\n\nEach manager class is initialized from the object,\nwhich means that some logic, like endpoint defenition, is\nduplicated over all managers.\n\nIn order to solve that, and also efficiently refactor endpoint\ndefenition for being a property, base manager class is being\nintroduced.\n\nRegarding the endpoint defenition, right now it is constructed\nstatically on client init.\nWhile this does work, it may result in an unexpected behavior, when\nclient is being re-used.\n\nTo be more error-prone, it\u0027s construction moved to a\nproperty.\n\nChange-Id: I3e163accffb34ab3ef36b7eec0c309e1af03a67a\nSigned-off-by: Dmitriy Rabotyagov \u003cdmitriy.rabotyagov@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/433f2702ec9197045e7f038fdcb17a4622f0b05f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/433f2702ec9197045e7f038fdcb17a4622f0b05f"}]},"branch":"refs/heads/master"},"15be334c4b7635432119e9a71aac90fd856a94d2":{"kind":"REWORK","_number":4,"created":"2026-05-13 09:59:04.000000000","uploader":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"ref":"refs/changes/19/988319/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-freezerclient","ref":"refs/changes/19/988319/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-freezerclient refs/changes/19/988319/4"}}},"commit":{"parents":[{"commit":"4179b1b28fb465e71db432479af683d3a787a9b0","subject":"Add trust ID support for client auth","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/4179b1b28fb465e71db432479af683d3a787a9b0"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-12 18:09:01.000000000","tz":120},"committer":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2026-05-13 09:58:42.000000000","tz":120},"subject":"Introduce client manager base class","message":"Introduce client manager base class\n\nEach manager class is initialized from the object,\nwhich means that some logic, like endpoint defenition, is\nduplicated over all managers.\n\nIn order to solve that, and also efficiently refactor endpoint\ndefenition for being a property, base manager class is being\nintroduced.\n\nRegarding the endpoint defenition, right now it is constructed\nstatically on client init.\nWhile this does work, it may result in an unexpected behavior, when\nclient is being re-used.\n\nTo be more error-prone, it\u0027s construction moved to a\nproperty.\n\nAssisted-By: Gemini 3.1\nChange-Id: I3e163accffb34ab3ef36b7eec0c309e1af03a67a\nSigned-off-by: Dmitriy Rabotyagov \u003cdmitriy.rabotyagov@cleura.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/15be334c4b7635432119e9a71aac90fd856a94d2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-freezerclient/commit/15be334c4b7635432119e9a71aac90fd856a94d2"}]},"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":""}}}]}
