)]}'
{"id":"openstack%2Fceilometer~983232","triplet_id":"openstack%2Fceilometer~master~Iea7d4079d86ec368a8537443f7c9d109e23df92e","project":"openstack/ceilometer","branch":"master","topic":"ceilometer_use_openstack_sdk","attention_set":{},"removed_from_attention_set":{"32968":{"account":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"last_update":"2026-04-21 06:49:53.000000000","reason":"\u003cGERRIT_ACCOUNT_32968\u003e replied on the change","reason_account":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"}},"13177":{"account":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"last_update":"2026-05-04 10:47:58.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Iea7d4079d86ec368a8537443f7c9d109e23df92e","subject":"Expand FakeConnection with identity resources and SDK test fixtures","status":"MERGED","created":"2026-04-02 17:04:02.000000000","updated":"2026-05-04 10:49:57.000000000","submitted":"2026-05-04 10:47:58.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":2,"has_review_started":true,"submission_id":"983232-ceilometer_use_openstack_sdk","meta_rev_id":"6449fcbc40b89d5d36a966297c2ae671cc0e3671","_number":983232,"virtual_id_number":983232,"owner":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-04 10:47:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"value":0,"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"}],"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":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-04-17 06:32:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"value":2,"date":"2026-04-21 06:49:53.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"}],"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":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"value":1,"date":"2026-04-21 06:49:53.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-02 17:21:15.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-04-14 07:25:58.000000000","updated_by":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"reviewer":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"state":"REVIEWER"},{"updated":"2026-04-17 06:32:58.000000000","updated_by":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"reviewer":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"state":"REVIEWER"}],"messages":[{"id":"b4f41bcdfae3767903ae3d8358680a60aee177f7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"date":"2026-04-02 17:04:02.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6f252e08ee9bebfa8df5693f0020b733a1078784","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-02 17:21:15.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/ead6051440354af6bb524aab867ede99\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ef619ea00a73436191eca14bf8e05897 : FAILURE in 6m 07s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8c78ec46e07b4c75b522d601a3c0a6d5 : FAILURE in 3m 10s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/2ad387fd95ec4a22ae263771094216ae : FAILURE in 4m 38s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d1a673c8d3ed458296cfd3ce961f7100 : FAILURE in 3m 48s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/52635aad1b01466892c677528bf984bb : FAILURE in 7m 05s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a81d9c9b4ba147efbfdd09eea01dd41e : SUCCESS in 8m 08s","accounts_in_message":[],"_revision_number":1},{"id":"31608198567dc49906902e6f61297dd073daff52","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"date":"2026-04-09 22:45:24.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"8d6ad0a5a54cba1cac8adc2a11d351f8737d5130","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 22:58:31.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4e10495275994b84ad9d4ce6e6b2ac09\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/e4b1d1f946cc46d89e4a714af7224b29 : SUCCESS in 6m 40s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f87b0be9703e4145851c9e376216b797 : SUCCESS in 3m 52s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/ec59c5f86226468f80d3f671a4a657a2 : SUCCESS in 4m 29s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/3640e19cab4447818d7ea8ddd1fc6927 : SUCCESS in 5m 04s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d5f5460cb2df48e6826a28edb594a6ec : SUCCESS in 7m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f8c94aedfa6e4b0c87f2ddf28baaee01 : SUCCESS in 4m 09s","accounts_in_message":[],"_revision_number":2},{"id":"7904b4278ad57de2000626cfbe7b701182131e61","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"date":"2026-04-13 18:17:31.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"ae8915dad36d919c6736062cf32764f8bc023dcd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-13 18:29:45.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/236cbc5014814ac8b54f99f38b7cd56c\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4ce40a8b2242448ebaad4d3f4e8a53ae : SUCCESS in 5m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/453e1427f6f046188ce6d46fd698f1bd : SUCCESS in 5m 36s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/ffc9f7343c004563a5ef83ede94aac19 : SUCCESS in 4m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ce9a06ee43db4509b590e3dc4547bc3b : SUCCESS in 4m 37s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9bff0458880d4b37b53bd793ecf04ce3 : SUCCESS in 8m 12s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fe919bfbe58b47f6bdb1e00bb68d7d06 : SUCCESS in 7m 55s","accounts_in_message":[],"_revision_number":3},{"id":"4f32c9dc7d9c5c7f5e170a3dea1c8d9a98967970","author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"date":"2026-04-13 18:57:55.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"9cd81caa128dc41083dbc8755af5a8c8a47cbdc1","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-14 07:25:58.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"9a1f121cda94b9147ca6f6d62dec44ce813b9862","author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"date":"2026-04-14 11:36:52.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"4204a0ca79df80779b5b2456f204c590c0747a04","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"date":"2026-04-14 12:13:28.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"fca291eafad70a846074c63323cb5b88366b48db","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-14 12:29:19.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dc37eb9a53db49d7963d3a809521516e\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d614cab7858a49a29686f0501780f16d : SUCCESS in 5m 18s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1897346fb83545aca6d5c2145dafd2aa : SUCCESS in 3m 54s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6afbc2b58aaf400c82e32bcd3228fd99 : SUCCESS in 6m 49s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/970d18e2f7ff4f7593873c86523a7d9c : SUCCESS in 5m 10s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9e1adf96eef947bfa29f8d884063fd8d : SUCCESS in 10m 13s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5ee9b6ad06194c15ac7c8a733d4dc6f7 : SUCCESS in 8m 35s","accounts_in_message":[],"_revision_number":4},{"id":"094c7cef5942c19421243eadff861930aa662e32","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"date":"2026-04-16 11:49:06.000000000","message":"Uploaded patch set 5: Patch Set 4 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"43646dd9ee5543a8e27993f2aeec6fc56be64702","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-16 12:03:56.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/82b4fbe7015743e0b97afb1f56ab0927\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7fd6f8d56fc64b6e9b3a45d92f6888e4 : SUCCESS in 8m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/12dbe484cb03466cb93653e1b9d75a02 : SUCCESS in 3m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/58b903e9a1a64b129e9a01ca3dc3bc7e : SUCCESS in 3m 10s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a80719f3794044f2a857ad7587f4b2e2 : SUCCESS in 5m 40s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/07d5fb9a0c7d489babc1e2f4b49b0867 : SUCCESS in 7m 00s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d27c5b2718d947d0bf23d00f018f00ee : SUCCESS in 8m 29s","accounts_in_message":[],"_revision_number":5},{"id":"513fc2def200dae1913f62aef04ba96bcee31f07","author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"date":"2026-04-17 06:32:58.000000000","message":"Patch Set 5: Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"b8462615ea9b1e29571a4a64b86e52d958c42512","author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"date":"2026-04-21 06:49:53.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"469500981514bc21937b8e87a57b0f63dfad8242","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-04 09:25:11.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"eca5818a1c68c14c1b4064c44ac08d47abe557c6","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-04 10:47:57.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/aaa3d8fff878469bb3fc0fdb99137201\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/21bc5c471f7647268e6030c5b3ff29c4 : SUCCESS in 3m 39s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/9f549f5f00684368afd379cb4a1df53c : SUCCESS in 4m 16s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/2d7d1d9adebe43199a16324eb3a43fd3 : SUCCESS in 4m 40s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f9e32c0710b74322909798abba15a57b : SUCCESS in 7m 37s","accounts_in_message":[],"_revision_number":5},{"id":"eb4d2692d303eb3560394e006c972b25d0e7f777","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-04 10:47:58.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":5},{"id":"6449fcbc40b89d5d36a966297c2ae671cc0e3671","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-04 10:49:57.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2f4b7261cefb40faafe581de3cce34e1\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/94eeadcbb38c4b1caa0291a457a45339 : SUCCESS in 44s","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"1045dd8933d708c5dcde0ccab1169bccf3115e45","revisions":{"4920fb49bddf6b1ff9b5110582d2e33855336fbb":{"kind":"REWORK","_number":1,"created":"2026-04-02 17:04:02.000000000","uploader":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"ref":"refs/changes/32/983232/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/32/983232/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/1"}}},"commit":{"parents":[{"commit":"9a01e2fd79f05d3a099ba84fd157f0bc17dd5ba4","subject":"[WIP] Add Project and Domain classes to keystoneclient abstraction","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/9a01e2fd79f05d3a099ba84fd157f0bc17dd5ba4"}]}],"author":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-01-12 21:46:19.000000000","tz":-300},"committer":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-04-02 17:03:21.000000000","tz":-240},"subject":"[WIP] Update FakeConnection to include keystone","message":"[WIP] Update FakeConnection to include keystone\n\nChange-Id: Iea7d4079d86ec368a8537443f7c9d109e23df92e\nSigned-off-by: Emma Foley \u003cefoley@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/4920fb49bddf6b1ff9b5110582d2e33855336fbb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/4920fb49bddf6b1ff9b5110582d2e33855336fbb"}]},"branch":"refs/heads/master"},"fee3d9d8538acb8849b5605c641722c37db720ed":{"kind":"REWORK","_number":2,"created":"2026-04-09 22:45:24.000000000","uploader":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"ref":"refs/changes/32/983232/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/32/983232/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/2"}}},"commit":{"parents":[{"commit":"0ac3bfaa337de2282318224607afc3ad5555eb2d","subject":"[WIP] Add Project and Domain classes to keystoneclient abstraction","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/0ac3bfaa337de2282318224607afc3ad5555eb2d"}]}],"author":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-01-12 21:46:19.000000000","tz":-300},"committer":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-04-09 22:29:42.000000000","tz":-240},"subject":"Expand FakeConnection with identity resources and SDK test fixtures","message":"Expand FakeConnection with identity resources and SDK test fixtures\n\nAdd openstacksdk-native Project and Domain fixture objects\n(DOMAIN_DEFAULT_sdk, PROJECT_ADMIN_sdk, etc.) alongside the existing\nkeystoneclient variants, plus DEFAULT_PROJECTS_sdk and DEFAULT_DOMAINS_sdk\nas the default population for FakeConnection.\n\nAdd FakeSession: a minimal fake for keystoneauth1.session.Session,\nexposing only the auth.get_access() path used by ceilometer\u0027s\nkeystone_client helpers.\n\nExpand FakeConnection.__init__() to accept optional session, projects,\nand domains parameters, defaulting to the new SDK fixtures. An explicit\n`is not None` guard (rather than `or`) allows callers to pass an empty\nlist to simulate a cloud with no resources.\n\nAdd list_projects(), search_projects(), search_domains(), and\nlist_domains() to FakeConnection, emulating the openstacksdk cloud layer\n(openstack/cloud/_identity.py). Filters fall back to the is_\u003ckey\u003e\nattribute name to match the SDK\u0027s boolean field naming convention\n(e.g. is_enabled).\n\nThis makes FakeConnection a self-contained identity fake that tests can\nconfigure per-scenario, matching the configurability already present in\nFakeKeystoneClient.\n\nChange-Id: Iea7d4079d86ec368a8537443f7c9d109e23df92e\nSigned-off-by: Emma Foley \u003cefoley@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/fee3d9d8538acb8849b5605c641722c37db720ed"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/fee3d9d8538acb8849b5605c641722c37db720ed"}]},"branch":"refs/heads/master"},"dcb1477aef7db9beb2e1dee2c574c3c6e32478f4":{"kind":"REWORK","_number":3,"created":"2026-04-13 18:17:31.000000000","uploader":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"ref":"refs/changes/32/983232/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/32/983232/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/3"}}},"commit":{"parents":[{"commit":"901a68568e1b88cf7cdbd8324b5aebb381435887","subject":"Add Project and Domain classes to keystoneclient abstraction","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/901a68568e1b88cf7cdbd8324b5aebb381435887"}]}],"author":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-01-12 21:46:19.000000000","tz":-300},"committer":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-04-13 18:17:11.000000000","tz":-240},"subject":"Expand FakeConnection with identity resources and SDK test fixtures","message":"Expand FakeConnection with identity resources and SDK test fixtures\n\nAdd openstacksdk-native Project and Domain fixture objects\n(DOMAIN_DEFAULT_sdk, PROJECT_ADMIN_sdk, etc.) alongside the existing\nkeystoneclient variants, plus DEFAULT_PROJECTS_sdk and DEFAULT_DOMAINS_sdk\nas the default population for FakeConnection.\n\nAdd FakeSession: a minimal fake for keystoneauth1.session.Session,\nexposing only the auth.get_access() path used by ceilometer\u0027s\nkeystone_client helpers.\n\nExpand FakeConnection.__init__() to accept optional session, projects,\nand domains parameters, defaulting to the new SDK fixtures. An explicit\n`is not None` guard (rather than `or`) allows callers to pass an empty\nlist to simulate a cloud with no resources.\n\nAdd list_projects(), search_projects(), search_domains(), and\nlist_domains() to FakeConnection, emulating the openstacksdk cloud layer\n(openstack/cloud/_identity.py). Filters fall back to the is_\u003ckey\u003e\nattribute name to match the SDK\u0027s boolean field naming convention\n(e.g. is_enabled).\n\nThis makes FakeConnection a self-contained identity fake that tests can\nconfigure per-scenario, matching the configurability already present in\nFakeKeystoneClient.\n\nChange-Id: Iea7d4079d86ec368a8537443f7c9d109e23df92e\nSigned-off-by: Emma Foley \u003cefoley@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/dcb1477aef7db9beb2e1dee2c574c3c6e32478f4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/dcb1477aef7db9beb2e1dee2c574c3c6e32478f4"}]},"branch":"refs/heads/master"},"9ecef58e3d777238b17dac8e632ba23d1e8d809d":{"kind":"REWORK","_number":4,"created":"2026-04-14 12:13:28.000000000","uploader":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"ref":"refs/changes/32/983232/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/32/983232/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/4"}}},"commit":{"parents":[{"commit":"762b9e4b282ba6b7bd7ce23ed9adf9d84b9c6685","subject":"Add Project and Domain classes to keystoneclient abstraction","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/762b9e4b282ba6b7bd7ce23ed9adf9d84b9c6685"}]}],"author":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-01-12 21:46:19.000000000","tz":-300},"committer":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-04-14 12:13:07.000000000","tz":-240},"subject":"Expand FakeConnection with identity resources and SDK test fixtures","message":"Expand FakeConnection with identity resources and SDK test fixtures\n\nAdd openstacksdk-native Project and Domain fixture objects\n(DOMAIN_DEFAULT_sdk, PROJECT_ADMIN_sdk, etc.) alongside the existing\nkeystoneclient variants, plus DEFAULT_PROJECTS_sdk and DEFAULT_DOMAINS_sdk\nas the default population for FakeConnection.\n\nAdd FakeSession: a minimal fake for keystoneauth1.session.Session,\nexposing only the auth.get_access() path used by ceilometer\u0027s\nkeystone_client helpers.\n\nExpand FakeConnection.__init__() to accept optional session, projects,\nand domains parameters, defaulting to the new SDK fixtures. An explicit\n`is not None` guard (rather than `or`) allows callers to pass an empty\nlist to simulate a cloud with no resources.\n\nAdd list_projects(), search_projects(), search_domains(), and\nlist_domains() to FakeConnection, emulating the openstacksdk cloud layer\n(openstack/cloud/_identity.py). Filters fall back to the is_\u003ckey\u003e\nattribute name to match the SDK\u0027s boolean field naming convention\n(e.g. is_enabled).\n\nThis makes FakeConnection a self-contained identity fake that tests can\nconfigure per-scenario, matching the configurability already present in\nFakeKeystoneClient.\n\nChange-Id: Iea7d4079d86ec368a8537443f7c9d109e23df92e\nSigned-off-by: Emma Foley \u003cefoley@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/9ecef58e3d777238b17dac8e632ba23d1e8d809d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/9ecef58e3d777238b17dac8e632ba23d1e8d809d"}]},"branch":"refs/heads/master"},"1045dd8933d708c5dcde0ccab1169bccf3115e45":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2026-04-16 11:49:06.000000000","uploader":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"ref":"refs/changes/32/983232/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/32/983232/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/32/983232/5"}}},"commit":{"parents":[{"commit":"d1abb065b35f274765faf6516d08151eb870dcbf","subject":"Add Project and Domain classes to keystoneclient abstraction","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/d1abb065b35f274765faf6516d08151eb870dcbf"}]}],"author":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-01-12 21:46:19.000000000","tz":-300},"committer":{"name":"Emma Foley","email":"efoley@redhat.com","date":"2026-04-16 11:48:53.000000000","tz":-240},"subject":"Expand FakeConnection with identity resources and SDK test fixtures","message":"Expand FakeConnection with identity resources and SDK test fixtures\n\nAdd openstacksdk-native Project and Domain fixture objects\n(DOMAIN_DEFAULT_sdk, PROJECT_ADMIN_sdk, etc.) alongside the existing\nkeystoneclient variants, plus DEFAULT_PROJECTS_sdk and DEFAULT_DOMAINS_sdk\nas the default population for FakeConnection.\n\nAdd FakeSession: a minimal fake for keystoneauth1.session.Session,\nexposing only the auth.get_access() path used by ceilometer\u0027s\nkeystone_client helpers.\n\nExpand FakeConnection.__init__() to accept optional session, projects,\nand domains parameters, defaulting to the new SDK fixtures. An explicit\n`is not None` guard (rather than `or`) allows callers to pass an empty\nlist to simulate a cloud with no resources.\n\nAdd list_projects(), search_projects(), search_domains(), and\nlist_domains() to FakeConnection, emulating the openstacksdk cloud layer\n(openstack/cloud/_identity.py). Filters fall back to the is_\u003ckey\u003e\nattribute name to match the SDK\u0027s boolean field naming convention\n(e.g. is_enabled).\n\nThis makes FakeConnection a self-contained identity fake that tests can\nconfigure per-scenario, matching the configurability already present in\nFakeKeystoneClient.\n\nChange-Id: Iea7d4079d86ec368a8537443f7c9d109e23df92e\nSigned-off-by: Emma Foley \u003cefoley@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/1045dd8933d708c5dcde0ccab1169bccf3115e45"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/1045dd8933d708c5dcde0ccab1169bccf3115e45"}]},"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":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"}}]}],"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":""}}}]}
