Skip to content

feat(adr0034): Gate sources on domain_config - #1217

Merged
gtema merged 1 commit into
mainfrom
claude/per-domain-assignments-provider-k0tp5e
Sep 7, 2026
Merged

feat(adr0034): Gate sources on domain_config#1217
gtema merged 1 commit into
mainfrom
claude/per-domain-assignments-provider-k0tp5e

Conversation

@gtema

@gtema gtema commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator
  • effective_domain_config_sources() takes the [domain_config]
    from_files/from_database keys where set, falling back to the
    deprecated [identity] switches; warns once per key when an
    operator set both to conflicting values
  • DomainConfigResolver::new consumes it instead of reading the
    [identity] switches directly
  • DomainConfigBackend::list_domains_with_option: sql runs a
    DISTINCT domain_id query on whitelisted_config, fs scans the
    parsed files and resolves each name to an id
  • DomainConfigResolver::bound_domains unions assignment/driver
    bindings across active sources for the §5 fan-out set

Signed-off-by: Artem Goncharov artem.goncharov@gmail.com

- effective_domain_config_sources() takes the [domain_config]
  from_files/from_database keys where set, falling back to the
  deprecated [identity] switches; warns once per key when an
  operator set both to conflicting values
- DomainConfigResolver::new consumes it instead of reading the
  [identity] switches directly
- DomainConfigBackend::list_domains_with_option: sql runs a
  DISTINCT domain_id query on whitelisted_config, fs scans the
  parsed files and resolves each name to an id
- DomainConfigResolver::bound_domains unions assignment/driver
  bindings across active sources for the §5 fan-out set

Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com>
@gtema
gtema enabled auto-merge September 7, 2026 14:57
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🦢 Load Test Results

Goose Attack Report

Plan Overview

Action Started Stopped Elapsed Users
Increasing 26-09-07 15:02:02 26-09-07 15:02:25 00:00:23 0 → 45
Maintaining 26-09-07 15:02:25 26-09-07 15:02:55 00:00:30 45
Decreasing 26-09-07 15:02:55 26-09-07 15:02:55 00:00:00 0 ← 45

Request Metrics

Method Name # Requests # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
DELETE DELETE /v3/auth/tokens 45 0 540.51 33 752 1.50 0.00
DELETE DELETE /v3/projects/:id (teardown) 1 0 57.00 57 57 0.03 0.00
DELETE DELETE /v3/roles/:id (teardown) 1 0 47.00 47 47 0.03 0.00
DELETE DELETE /v3/users/:id (teardown) 2 0 114.00 71 157 0.07 0.00
DELETE DELETE /v4/mappings/rulesets/:mapping_id (teardown) 1 0 142.00 142 142 0.03 0.00
DELETE DELETE /v4/oauth2/:domain_id/clients/:provider_id (teardown) 1 0 199.00 199 199 0.03 0.00
GET 599 0 588.24 260 877 19.97 0.00
GET GET /SCIM/v2/:domain_id/Users (sync reconcile list) 2158 2158 13.41 1 838 71.93 71.93
GET GET /v3/auth/tokens (validate new) 44 0 534.86 155 667 1.47 0.00
GET GET /v3/auth/tokens (validate revoked) 45 0 457.00 13 621 1.50 0.00
GET GET /v3/projects/:id 56 0 544.50 359 709 1.87 0.00
GET GET /v3/projects/:id (catalog) 83 0 551.54 226 740 2.77 0.00
GET GET /v3/role_assignments 41 0 573.07 406 758 1.37 0.00
GET GET /v3/role_assignments?role.id 42 0 539.57 427 662 1.40 0.00
GET GET /v3/role_assignments?scope.domain.id 43 0 546.07 366 711 1.43 0.00
GET GET /v3/role_assignments?user.id 42 0 515.79 370 632 1.40 0.00
GET GET /v3/roles 111 0 548.48 251 701 3.70 0.00
GET GET /v3/roles/:id 55 0 555.71 329 697 1.83 0.00
GET GET /v3/users/:id 106 0 578.39 427 876 3.53 0.00
GET GET /v3/users/:id (catalog) 104 0 567.95 422 748 3.47 0.00
GET GET /v4/api-keys 27 0 555.56 429 741 0.90 0.00
GET GET /v4/api-keys/:client_id 27 0 574.00 443 747 0.90 0.00
GET GET /v4/mappings/rulesets 28 0 516.64 438 603 0.93 0.00
GET GET /v4/mappings/rulesets/:mapping_id 29 0 549.93 291 677 0.97 0.00
GET GET /v4/oauth2/:domain_id/.well-known/openid-configuration 942 0 47.61 8 150 31.40 0.00
GET GET /v4/oauth2/:domain_id/clients 28 0 527.07 415 698 0.93 0.00
GET GET /v4/oauth2/:domain_id/clients/:provider_id 28 0 557.96 393 706 0.93 0.00
GET GET /v4/oauth2/:domain_id/jwks 941 0 47.31 9 161 31.37 0.00
GET GET /v4/scim_realms 17 0 553.41 424 687 0.57 0.00
GET GET /v4/scim_realms/:domain_id/:provider_id 18 0 545.67 411 686 0.60 0.00
POST POST /v3/auth/tokens 44 0 533.84 396 688 1.47 0.00
POST POST /v3/auth/tokens (password, invalid) 34 0 903.32 534 1618 1.13 0.00
POST POST /v3/auth/tokens (password, project-scoped) 55 0 1246.64 761 1666 1.83 0.00
POST POST /v3/auth/tokens (password, unscoped) 52 0 1051.13 660 1545 1.73 0.00
POST POST /v3/auth/tokens (rescope to system) 97 0 625.22 443 810 3.23 0.00
POST POST /v3/auth/tokens (rescope, invalid project) 59 0 520.78 348 689 1.97 0.00
POST POST /v3/auth/tokens (system-scoped, bootstrap admin) 48 0 1284.25 834 1807 1.60 0.00
POST POST /v4/api-keys/:client_id/revoke (teardown) 1 0 208.00 208 208 0.03 0.00
PUT PUT /v4/scim_realms/:domain_id/:provider_id 18 0 613.44 493 736 0.60 0.00
Aggregated 6073 2158 225.81 1 1807 202.43 71.93

Response Time Metrics

Method Name 50%ile (ms) 60%ile (ms) 70%ile (ms) 80%ile (ms) 90%ile (ms) 95%ile (ms) 99%ile (ms) 100%ile (ms)
DELETE DELETE /v3/auth/tokens 600 600 600 600 700 700 752 752
DELETE DELETE /v3/projects/:id (teardown) 57 57 57 57 57 57 57 57
DELETE DELETE /v3/roles/:id (teardown) 47 47 47 47 47 47 47 47
DELETE DELETE /v3/users/:id (teardown) 71 71 71 157 157 157 157 157
DELETE DELETE /v4/mappings/rulesets/:mapping_id (teardown) 142 142 142 142 142 142 142 142
DELETE DELETE /v4/oauth2/:domain_id/clients/:provider_id (teardown) 199 199 199 199 199 199 199 199
GET 600 600 600 700 700 700 800 877
GET GET /SCIM/v2/:domain_id/Users (sync reconcile list) 6 7 8 11 15 20 360 800
GET GET /v3/auth/tokens (validate new) 500 500 600 600 600 600 667 667
GET GET /v3/auth/tokens (validate revoked) 480 500 500 500 600 600 600 600
GET GET /v3/projects/:id 500 600 600 600 600 600 700 700
GET GET /v3/projects/:id (catalog) 600 600 600 600 600 700 700 700
GET GET /v3/role_assignments 600 600 600 600 700 700 758 758
GET GET /v3/role_assignments?role.id 500 600 600 600 600 600 662 662
GET GET /v3/role_assignments?scope.domain.id 500 600 600 600 600 700 700 700
GET GET /v3/role_assignments?user.id 500 500 500 600 600 600 600 600
GET GET /v3/roles 500 600 600 600 600 700 700 700
GET GET /v3/roles/:id 600 600 600 600 697 697 697 697
GET GET /v3/users/:id 600 600 600 600 700 700 700 876
GET GET /v3/users/:id (catalog) 600 600 600 600 700 700 700 700
GET GET /v4/api-keys 600 600 600 600 600 700 700 700
GET GET /v4/api-keys/:client_id 600 600 600 600 600 700 700 700
GET GET /v4/mappings/rulesets 500 500 600 600 600 600 600 600
GET GET /v4/mappings/rulesets/:mapping_id 600 600 600 600 600 600 677 677
GET GET /v4/oauth2/:domain_id/.well-known/openid-configuration 42 48 56 67 78 92 120 150
GET GET /v4/oauth2/:domain_id/clients 500 500 600 600 600 698 698 698
GET GET /v4/oauth2/:domain_id/clients/:provider_id 600 600 600 600 600 700 700 700
GET GET /v4/oauth2/:domain_id/jwks 42 48 56 66 79 91 120 160
GET GET /v4/scim_realms 600 600 600 600 600 687 687 687
GET GET /v4/scim_realms/:domain_id/:provider_id 600 600 600 600 686 686 686 686
POST POST /v3/auth/tokens 500 500 600 600 600 600 688 688
POST POST /v3/auth/tokens (password, invalid) 800 900 900 1,000 1,000 1,000 1,618 1,618
POST POST /v3/auth/tokens (password, project-scoped) 1,000 1,000 1,000 1,000 1,666 1,666 1,666 1,666
POST POST /v3/auth/tokens (password, unscoped) 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,545
POST POST /v3/auth/tokens (rescope to system) 600 600 700 700 700 800 800 800
POST POST /v3/auth/tokens (rescope, invalid project) 500 500 500 600 600 600 689 689
POST POST /v3/auth/tokens (system-scoped, bootstrap admin) 1,000 1,000 1,000 1,807 1,807 1,807 1,807 1,807
POST POST /v4/api-keys/:client_id/revoke (teardown) 208 208 208 208 208 208 208 208
PUT PUT /v4/scim_realms/:domain_id/:provider_id 600 600 700 700 700 700 700 700
Aggregated 41 67 470 600 600 700 1,000 1,807

Status Code Metrics

Method Name Status Codes
DELETE DELETE /v3/auth/tokens 45 [204]
DELETE DELETE /v3/projects/:id (teardown) 1 [204]
DELETE DELETE /v3/roles/:id (teardown) 1 [204]
DELETE DELETE /v3/users/:id (teardown) 2 [204]
DELETE DELETE /v4/mappings/rulesets/:mapping_id (teardown) 1 [204]
DELETE DELETE /v4/oauth2/:domain_id/clients/:provider_id (teardown) 1 [204]
GET 599 [200]
GET GET /SCIM/v2/:domain_id/Users (sync reconcile list) 2,128 [429], 30 [401]
GET GET /v3/auth/tokens (validate new) 44 [200]
GET GET /v3/auth/tokens (validate revoked) 45 [404]
GET GET /v3/projects/:id 56 [200]
GET GET /v3/projects/:id (catalog) 83 [200]
GET GET /v3/role_assignments 41 [200]
GET GET /v3/role_assignments?role.id 42 [200]
GET GET /v3/role_assignments?scope.domain.id 43 [200]
GET GET /v3/role_assignments?user.id 42 [200]
GET GET /v3/roles 111 [200]
GET GET /v3/roles/:id 55 [200]
GET GET /v3/users/:id 106 [200]
GET GET /v3/users/:id (catalog) 104 [200]
GET GET /v4/api-keys 27 [200]
GET GET /v4/api-keys/:client_id 27 [200]
GET GET /v4/mappings/rulesets 28 [200]
GET GET /v4/mappings/rulesets/:mapping_id 29 [200]
GET GET /v4/oauth2/:domain_id/.well-known/openid-configuration 942 [200]
GET GET /v4/oauth2/:domain_id/clients 28 [200]
GET GET /v4/oauth2/:domain_id/clients/:provider_id 28 [200]
GET GET /v4/oauth2/:domain_id/jwks 941 [200]
GET GET /v4/scim_realms 17 [200]
GET GET /v4/scim_realms/:domain_id/:provider_id 18 [200]
POST POST /v3/auth/tokens 44 [201]
POST POST /v3/auth/tokens (password, invalid) 34 [401]
POST POST /v3/auth/tokens (password, project-scoped) 55 [201]
POST POST /v3/auth/tokens (password, unscoped) 52 [201]
POST POST /v3/auth/tokens (rescope to system) 97 [201]
POST POST /v3/auth/tokens (rescope, invalid project) 59 [401]
POST POST /v3/auth/tokens (system-scoped, bootstrap admin) 48 [201]
POST POST /v4/api-keys/:client_id/revoke (teardown) 1 [200]
PUT PUT /v4/scim_realms/:domain_id/:provider_id 18 [200]
Aggregated 123 [401], 51 [204], 2,128 [429], 45 [404], 296 [201], 3,430 [200]

Transaction Metrics

Transaction # Times Run # Fails Average (ms) Min (ms) Max (ms) RPS Failures/s
ReadHeavy
0.0 1 0 26.00 26 26 0.03 0.00
0.1 107 0 594.89 398 740 3.57 0.00
0.2 106 0 552.34 390 815 3.53 0.00
0.3 108 0 557.97 260 714 3.60 0.00
TokenLifecycle
1.0 0 0 0.00 0 0 0.00 0.00
1.1 45 0 2069.24 727 2455 1.50 0.00
ValidateToken
2.0 0 0 0.00 0 0 0.00 0.00
2.1 92 0 661.90 482 877 3.07 0.00
UserCRUD
3.0 0 0 0.00 0 0 0.00 0.00
3.1 0 0 0.00 0 0 0.00 0.00
3.2 106 0 578.41 427 876 3.53 0.00
3.3 2 0 114.00 71 157 0.07 0.00
ProjectCRUD
4.0 0 0 0.00 0 0 0.00 0.00
4.1 0 0 0.00 0 0 0.00 0.00
4.2 56 0 544.50 359 709 1.87 0.00
4.3 1 0 57.00 57 57 0.03 0.00
RoleCRUD
5.0 0 0 0.00 0 0 0.00 0.00
5.1 0 0 0.00 0 0 0.00 0.00
5.2 55 0 555.71 329 697 1.83 0.00
5.3 1 0 47.00 47 47 0.03 0.00
RoleList
6.0 0 0 0.00 0 0 0.00 0.00
6.1 111 0 548.51 251 701 3.70 0.00
RoleAssignmentList
7.0 0 0 0.00 0 0 0.00 0.00
7.1 41 0 573.12 406 758 1.37 0.00
7.2 42 0 515.79 370 632 1.40 0.00
7.3 43 0 546.12 366 711 1.43 0.00
7.4 42 0 539.57 427 662 1.40 0.00
UserRead
8.0 0 0 0.00 0 0 0.00 0.00
8.1 104 0 609.92 432 825 3.47 0.00
8.2 104 0 567.98 422 748 3.47 0.00
ProjectRead
9.0 0 0 0.00 0 0 0.00 0.00
9.1 82 0 555.96 418 753 2.73 0.00
9.2 83 0 551.55 226 740 2.77 0.00
PasswordAuth
10.0 52 0 1051.21 660 1545 1.73 0.00
10.1 55 0 1246.65 761 1666 1.83 0.00
PasswordAuthNegative
11.0 34 0 903.35 534 1618 1.13 0.00
Rescope
12.0 0 0 0.00 0 0 0.00 0.00
12.1 97 0 625.25 443 810 3.23 0.00
RescopeNegative
13.0 0 0 0.00 0 0 0.00 0.00
13.1 59 0 520.80 348 689 1.97 0.00
SystemScopeAuth
14.0 48 0 1284.29 834 1807 1.60 0.00
ApiKeyCRUD
15.0 0 0 0.00 0 0 0.00 0.00
15.1 0 0 0.00 0 0 0.00 0.00
15.2 27 0 574.00 443 747 0.90 0.00
15.3 27 0 555.56 429 741 0.90 0.00
15.4 1 0 208.00 208 208 0.03 0.00
MappingCRUD
16.0 0 0 0.00 0 0 0.00 0.00
16.1 0 0 0.00 0 0 0.00 0.00
16.2 29 0 549.97 291 677 0.97 0.00
16.3 28 0 516.64 438 603 0.93 0.00
16.4 1 0 142.00 142 142 0.03 0.00
OAuth2ClientCRUD
17.0 0 0 0.00 0 0 0.00 0.00
17.1 0 0 0.00 0 0 0.00 0.00
17.2 28 0 558.00 393 706 0.93 0.00
17.3 28 0 527.07 415 698 0.93 0.00
17.4 1 0 199.00 199 199 0.03 0.00
OAuth2Discovery
18.0 941 0 47.33 9 161 31.37 0.00
18.1 942 0 47.63 8 150 31.40 0.00
ScimRealmRead
19.0 0 0 0.00 0 0 0.00 0.00
19.1 18 0 545.67 411 686 0.60 0.00
19.2 17 0 553.47 424 687 0.57 0.00
19.3 18 0 613.50 493 736 0.60 0.00
ScimSync
20.0 0 0 0.00 0 0 0.00 0.00
20.1 0 0 0.00 0 0 0.00 0.00
20.2 0 0 0.00 0 0 0.00 0.00
20.3 2158 0 13.43 1 838 71.93 0.00
20.4 2157 0 0.00 0 2 71.90 0.00
20.5 2157 0 0.00 0 0 71.90 0.00
20.6 1 0 0.00 0 0 0.03 0.00
Aggregated 10256 0 133.71 1 2455 341.87 0.00

Scenario Metrics

Transaction # Users # Times Run Average (ms) Min (ms) Max (ms) Scenarios/s Iterations
ReadHeavy 6 106 1717.60 1409 2068 3.53 17.67
TokenLifecycle 3 42 2141.26 1902 2455 1.40 14.00
ValidateToken 2 90 663.24 482 877 3.00 45.00
UserCRUD 2 104 579.96 433 876 3.47 52.00
ProjectCRUD 1 55 547.87 410 709 1.83 55.00
RoleCRUD 1 54 559.91 413 697 1.80 54.00
RoleList 2 109 551.81 374 701 3.63 54.50
RoleAssignmentList 3 41 2188.80 1865 2535 1.37 13.67
UserRead 4 101 1178.97 954 1498 3.37 25.25
ProjectRead 3 81 1118.96 912 1398 2.70 27.00
PasswordAuth 4 52 2274.42 1569 3142 1.73 13.00
PasswordAuthNegative 1 33 906.82 534 1618 1.10 33.00
Rescope 2 95 627.67 443 810 3.17 47.50
RescopeNegative 1 58 523.78 355 689 1.93 58.00
SystemScopeAuth 2 46 1295.76 834 1807 1.53 23.00
ApiKeyCRUD 1 27 1137.37 989 1457 0.90 27.00
MappingCRUD 1 28 1076.29 862 1216 0.93 28.00
OAuth2ClientCRUD 1 27 1086.41 890 1325 0.90 27.00
OAuth2Discovery 3 940 95.44 23 234 31.33 313.33
ScimRealmRead 1 18 1729.06 1459 1994 0.60 18.00
ScimSync 1 2157 13.44 1 838 71.90 2157.00
Aggregated 45 4264 316.55 1 3142 142.13 3102.92

Error Metrics

Method Name # Error
GET GET /SCIM/v2/:domain_id/Users (sync reconcile list) 48 401 Unauthorized: GET /SCIM/v2/:domain_id/Users (sync reconcile list)
POST POST /SCIM/v2/:domain_id/Users (sync provision) 1 401 Unauthorized: POST /SCIM/v2/:domain_id/Users (sync provision)
POST POST /v3/auth/tokens (password, invalid) 80 401 Unauthorized: POST /v3/auth/tokens (password, invalid)
POST POST /v3/auth/tokens (rescope, invalid project) 148 401 Unauthorized: POST /v3/auth/tokens (rescope, invalid project)
GET GET /v3/auth/tokens (validate revoked) 154 404 Not Found: GET /v3/auth/tokens (validate revoked)
GET GET /SCIM/v2/:domain_id/Users (sync reconcile list) 2463 429 Too Many Requests: GET /SCIM/v2/:domain_id/Users (sync reconcile list)

View full report

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🧪 Tempest Identity Compatibility Results (advisory, non-blocking)

rust

Totals
======
Ran: 133 tests in 30.0043 sec.
 - Passed: 66
 - Skipped: 4
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 63
Sum of execute time for each test: 23.3985 sec.
Failed test IDs
===== FAILED TESTS (target=rust) =====
setUpClass (tempest.api.identity.admin.v3.test_endpoint_groups.EndPointGroupsTest)
tempest.api.identity.admin.v3.test_application_credentials.ApplicationCredentialsV3AdminTest.test_create_application_credential_with_roles[id-3b3dd48f-3388-406a-a9e6-4d078a552d0e]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_domain_without_description[id-2abf8764-309a-4fa9-bc58-201b799817ad]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_create_update_delete_domain[id-f2f5b44a-82e8-4dad-8084-0661ea3b18cf,smoke]
tempest.api.identity.admin.v3.test_default_project_id.TestDefaultProjectId.test_default_project_id[id-d6110661-6a71-49a7-a453-b5e26640ff6d]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_domain_delete_cascades_content[id-d8d318b7-d1b3-4c37-94c5-3c5ba0b121ea]
tempest.api.identity.admin.v3.test_domains.DomainsTestJSON.test_list_domains_filter_by_enabled[id-3fd19840-65c1-43f8-b48c-51bdd066dff9]
tempest.api.identity.admin.v3.test_credentials.CredentialsTestJSON.test_credentials_create_get_update_delete[id-7cd59bf9-bda4-4c72-9467-d21cab278355,smoke]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_domain_config_and_show_config_groups_and_options[id-9e3ff13c-f597-4f01-9377-d6c06c2a1477]
tempest.api.identity.admin.v3.test_domains_negative.DomainsNegativeTestJSON.test_create_domain_with_name_length_over_64[id-37b1bbf2-d664-4785-9a11-333438586eae,negative]
tempest.api.identity.admin.v3.test_domains_negative.DomainsNegativeTestJSON.test_delete_active_domain[gate,id-1f3fbff5-4e44-400d-9ca1-d953f05f609b,negative]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_create_update_and_delete_domain_config_groups_and_opts[id-c7510fa2-6661-4170-9c6b-4783a80651e9]
tempest.api.identity.admin.v3.test_domain_configuration.DomainConfigurationTestJSON.test_show_default_group_config_and_options[id-11a02bf0-6f94-4380-b3b0-c8dc18fc0d22]
tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_group_users_add_list_delete[id-1598521a-2f36-4606-8df9-30772bd51339,smoke]
tempest.api.identity.admin.v3.test_groups.GroupsV3TestJSON.test_list_user_groups[id-64573281-d26a-4a52-b899-503cb0f4e4ec]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsStaticTestJSON.test_list_projects[id-1d830662-22ad-427c-8c3e-4ec854b0af44]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_check_revoke_roles_on_projects_group[id-26021436-d5a4-4256-943c-ded01e0d4b45]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_check_revoke_roles_on_projects_user[id-18b70e45-7687-4b72-8277-b8f1a47d7591]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_check_revoke_roles_on_domains_group[id-c7a8dda2-be50-4fb4-9a9c-e830771078b1]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_check_revoke_roles_on_domains_user[id-4e6f0366-97c8-423c-b2be-41eae6ac91c8]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_revoke_user_roles_on_domain[id-3acf666e-5354-42ac-8e17-8b68893bcd36]
tempest.api.identity.admin.v3.test_inherits.InheritsV3TestJSON.test_inherit_assign_list_revoke_user_roles_on_project_tree[id-9f02ccd9-9b57-46b4-8f77-dd5a736f3a06]
tempest.api.identity.admin.v3.test_projects_negative.ProjectsNegativeStaticTestJSON.test_create_projects_name_length_over_64[id-502b6ceb-b0c8-4422-bf53-f08fdb21e2f0,negative]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsTestJSON.test_list_projects_with_enabled[id-0fe7a334-675a-4509-b00e-1c4b95d5dae8]
tempest.api.identity.admin.v3.test_list_projects.ListProjectsTestJSON.test_list_projects_with_parent[id-6edc66f5-2941-4a17-9526-4073311c1fac]
tempest.api.identity.admin.v3.test_list_users.UsersV3TestJSON.test_list_users_with_not_enabled[id-bff8bf2f-9408-4ef5-b63a-753c8c2124eb]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_all[id-4773ebd5-ecbf-4255-b8d8-b63e6f72b65d,smoke]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_create_and_show_consumer[id-c8307ea6-a86c-47fd-ae7b-5b3b2caca76d]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_delete_consumer[id-fdfa1b7f-2a31-4354-b2c7-f6ae20554f93]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_list_consumers[id-09ca50de-78f2-4ffb-ac71-f2254036b2b8]
tempest.api.identity.admin.v3.test_oauth_consumers.OAUTHConsumersV3Test.test_update_consumer[id-080a9b1a-c009-47c0-9979-5305bf72e3dc]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_get_trusts_query[id-6268b345-87ca-47c0-9ce3-37792b43403a]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_expire[id-0ed14b66-cefd-4b5c-a964-65759453e292]
tempest.api.identity.admin.v3.test_tokens.TokensV3TestJSON.test_get_available_domain_scopes[id-ec5ecb05-af64-4c04-ac86-4d9f6f12f185]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_impersonate[id-5a0a91a4-baef-4a14-baba-59bf4d7fcace]
tempest.api.identity.admin.v3.test_tokens.TokensV3TestJSON.test_rescope_token[id-565fa210-1da1-4563-999b-f7b5b67cf112]
tempest.api.identity.admin.v3.test_trusts.TrustsV3TestJSON.test_trust_noimpersonate[id-ed2a8779-a7ac-49dc-afd7-30f32f936ed2]
tempest.api.identity.admin.v3.test_project_tags.IdentityV3ProjectTagsTest.test_list_update_delete_project_tags[id-7c123aac-999d-416a-a0fb-84b915ab10de]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_media_types[id-657c1970-4722-4189-8831-7325f3bc4265,smoke]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_api_version_resources[id-b9232f5e-d9e5-4d97-b96c-28d3db4de1bd,smoke]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_identity_v3_existence[id-79aec9ae-710f-4c54-a4fc-3aa25b4feac3]
tempest.api.identity.v3.test_api_discovery.TestApiDiscovery.test_list_api_versions[id-721f480f-35b6-46c7-846e-047e6acea0dc,smoke]
tempest.api.identity.admin.v3.test_users_negative.UsersNegativeTest.test_create_user_for_non_existent_domain[id-e75f006c-89cc-477b-874d-588e4eab4b17,negative]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_create_is_domain_project[id-a7eb9416-6f9b-4dbb-b71b-7f73aaef59d5]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_project_create_with_parent[id-1854f9c0-70bc-4d11-a08a-1c789d339e3d]
tempest.api.identity.admin.v3.test_users.UsersV3TestJSON.test_list_user_projects[id-a831e70c-e35b-430b-92ed-81ebbc5437b8]
tempest.api.identity.admin.v3.test_projects.ProjectsTestJSON.test_project_get_equals_list[id-d1db68b6-aebe-4fa0-b79d-d724d2e21162]
tempest.api.identity.v3.test_projects.IdentityV3ProjectsTest.test_list_projects_returns_only_authorized_projects[id-86128d46-e170-4644-866a-cc487f699e1d]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_assignments_for_domain_roles[id-3859df7e-5b78-4e4d-b10e-214c8953842a]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_assignments_for_implied_roles_create_delete[id-c8828027-df48-4021-95df-b65b92c7429e]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_domain[id-4bf8a70b-e785-413a-ad53-9f91ce02faa7]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_project[id-cbf11737-1904-4690-9613-97bcbb3df1c4]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_group_on_system[id-c888fe4f-8018-48db-b959-542225c1b4b6]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_grant_list_revoke_role_to_user_on_domain[id-6c9a2940-3625-43a3-ac02-5dcec62ef3bd]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_implied_domain_roles[id-eb1e1c24-1bc4-4d47-9748-e127a1852c82]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_implied_roles_create_check_show_delete[id-c90c316c-d706-4728-bcba-eb1912081b69]
tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list[id-18afc6c0-46cf-4911-824e-9989cc056c3a,smoke]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential[id-8080c75c-eddc-4786-941a-c2da7039ae61]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_create_application_credential_expires[id-852daf0c-42b5-4239-8466-d193d0543ed3]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_list_application_credentials[id-ff0cd457-6224-46e7-b79e-0ada4964a8a6]
tempest.api.identity.v3.test_application_credentials.ApplicationCredentialsV3Test.test_query_application_credentials[id-9bb5e5cc-5250-493a-8869-8b665f6aa5f6]
tempest.api.identity.v3.test_catalog.IdentityCatalogTest.test_catalog_standardization[id-56b57ced-22b8-4127-9b8a-565dfb0207e2]
tempest.api.identity.v3.test_tokens.TokensV3Test.test_validate_token[id-a9512ac3-3909-48a4-b395-11f438e16260]
===== END FAILED TESTS (target=rust) =====

View full run

@gtema
gtema added this pull request to the merge queue Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🐰 Bencher Report

Projectkeystone
Branchclaude/per-domain-assignments-provider-k0tp5e
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
Command_Serde/apply/remove📈 view plot
🚷 view threshold
89,369.00 ns
(-66.15%)Baseline: 264,013.53 ns
1,326,178.27 ns
(6.74%)
Command_Serde/apply/set📈 view plot
🚷 view threshold
94,333.00 ns
(-77.71%)Baseline: 423,185.39 ns
3,222,627.37 ns
(2.93%)
Command_Serde/pack/delete📈 view plot
🚷 view threshold
126.62 ns
(+7.03%)Baseline: 118.30 ns
155.45 ns
(81.45%)
Command_Serde/pack/delete_index📈 view plot
🚷 view threshold
113.47 ns
(+7.51%)Baseline: 105.54 ns
138.42 ns
(81.97%)
Command_Serde/pack/set📈 view plot
🚷 view threshold
199.15 ns
(+4.25%)Baseline: 191.04 ns
245.41 ns
(81.15%)
Command_Serde/pack/set_index📈 view plot
🚷 view threshold
114.38 ns
(+8.42%)Baseline: 105.50 ns
139.03 ns
(82.27%)
Command_Serde/unpack/delete📈 view plot
🚷 view threshold
223.09 ns
(+19.19%)Baseline: 187.17 ns
269.10 ns
(82.90%)
Command_Serde/unpack/delete_index📈 view plot
🚷 view threshold
195.64 ns
(+25.51%)Baseline: 155.88 ns
217.44 ns
(89.97%)
Command_Serde/unpack/set📈 view plot
🚷 view threshold
287.78 ns
(+9.57%)Baseline: 262.65 ns
356.78 ns
(80.66%)
Command_Serde/unpack/set_index📈 view plot
🚷 view threshold
189.86 ns
(+23.76%)Baseline: 153.41 ns
211.80 ns
(89.64%)
Payload_encryption/pack/remove_cmd📈 view plot
🚷 view threshold
118.56 ns
(+5.22%)Baseline: 112.68 ns
149.34 ns
(79.39%)
Payload_encryption/pack/set_cmd📈 view plot
🚷 view threshold
194.61 ns
(-1.95%)Baseline: 198.47 ns
261.09 ns
(74.54%)
Payload_encryption/unpack/remove_cmd📈 view plot
🚷 view threshold
228.86 ns
(+16.93%)Baseline: 195.73 ns
283.31 ns
(80.78%)
Payload_encryption/unpack/set_cmd📈 view plot
🚷 view threshold
312.52 ns
(+14.76%)Baseline: 272.32 ns
375.24 ns
(83.29%)
Raft_1Node_Latency/prefix/1node📈 view plot
🚷 view threshold
4,883,500.00 ns
(+61.48%)Baseline: 3,024,306.70 ns
7,859,126.54 ns
(62.14%)
Raft_1Node_Latency/read/1node📈 view plot
🚷 view threshold
35,953.00 ns
(-3.84%)Baseline: 37,386.98 ns
51,486.85 ns
(69.83%)
Raft_1Node_Latency/remove/1node📈 view plot
🚷 view threshold
263,200.00 ns
(-78.75%)Baseline: 1,238,582.03 ns
11,619,007.02 ns
(2.27%)
Raft_1Node_Latency/write/1node📈 view plot
🚷 view threshold
277,700.00 ns
(-72.49%)Baseline: 1,009,517.97 ns
7,604,756.53 ns
(3.65%)
build_snapshot/default📈 view plot
🚷 view threshold
106,370.00 ns
(-15.14%)Baseline: 125,343.45 ns
277,017.04 ns
(38.40%)
fernet token/project📈 view plot
🚷 view threshold
1,561.20 ns
(+9.56%)Baseline: 1,424.98 ns
1,793.60 ns
(87.04%)
get_data_keyspace📈 view plot
🚷 view threshold
0.35 ns
(+11.24%)Baseline: 0.32 ns
0.39 ns
(90.90%)
get_db📈 view plot
🚷 view threshold
0.35 ns
(+11.11%)Baseline: 0.32 ns
0.39 ns
(90.95%)
get_fernet_token_timestamp/project📈 view plot
🚷 view threshold
151.18 ns
(+7.89%)Baseline: 140.12 ns
179.36 ns
(84.29%)
get_keyspace📈 view plot
🚷 view threshold
4.72 ns
(-20.26%)Baseline: 5.92 ns
13.81 ns
(34.16%)
🐰 View full continuous benchmarking report in Bencher

Merged via the queue into main with commit 7a6904a Sep 7, 2026
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant