)]}'
{"id":"openstack%2Fopenstack-helm~1002205","triplet_id":"openstack%2Fopenstack-helm~master~If054c4d1f0062b3fae296cdede3eb7d7a909a0fa","project":"openstack/openstack-helm","branch":"master","hashtags":[],"change_id":"If054c4d1f0062b3fae296cdede3eb7d7a909a0fa","subject":"[WIP] Spec: declarative Keystone identity management","status":"NEW","created":"2026-08-24 21:52:26.000000000","updated":"2026-08-24 22:10:44.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"work_in_progress":true,"has_review_started":false,"meta_rev_id":"0ea9499b3c7985330b61c45ef964b60bed496998","_number":1002205,"virtual_id_number":1002205,"owner":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-24 22:10:44.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"reviewer_updates":[{"updated":"2026-08-24 22:10:44.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":"1bfabe5bd2791370e034ca5b1174c8d9e49d8a96","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"date":"2026-08-24 21:52:26.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0ea9499b3c7985330b61c45ef964b60bed496998","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 22:10:44.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2d6f2cc3706f4c5cae402ad96c13a7d2\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8bd85d625c054907b0d1988b23880d3d : SUCCESS in 3m 20s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c528c780950449fd8f60e3f45c830926 : SUCCESS in 3m 26s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/17129fb6e06840d892dd9f6803a2b98f : SUCCESS in 2m 48s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/148a245f746b4d978cdc6cbb66929e7a : SUCCESS in 2m 17s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"02f67e92bb11b8e9ad069e1e901e0009ef9ec9b9","revisions":{"02f67e92bb11b8e9ad069e1e901e0009ef9ec9b9":{"kind":"REWORK","_number":1,"created":"2026-08-24 21:52:26.000000000","uploader":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"ref":"refs/changes/05/1002205/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/05/1002205/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/05/1002205/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/05/1002205/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/05/1002205/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/05/1002205/1"}}},"commit":{"parents":[{"commit":"0ee5adeffcaefb6f7a78bb23bf845414672e6827","subject":"Merge \"Migrate to RabbitMQ 4.x by default\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/0ee5adeffcaefb6f7a78bb23bf845414672e6827"}]}],"author":{"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","date":"2026-08-24 19:14:03.000000000","tz":-300},"committer":{"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","date":"2026-08-24 21:52:19.000000000","tz":-300},"subject":"[WIP] Spec: declarative Keystone identity management","message":"[WIP] Spec: declarative Keystone identity management\n\nEvery chart that owns a service catalog entry provisions it with three\none-shot jobs -- ks-service, ks-user and ks-endpoints -- each mounting the\nKeystone administrative openrc secret into a pod in the OpenStack namespace\nand driving the openstack CLI with it. Thirty-four charts render a ks-user\njob; eighty-seven of these jobs exist in total.\n\nThis proposes seven custom resource definitions in the Keystone chart --\nDomain, Project, Role, User, RoleAssignment, Service and Endpoint -- plus a\nsingle-file Python reconciler, so consumer charts declare the identity\nobjects they need and the administrative credentials stay in the chart that\nowns Keystone. It completes the pattern the MariaDB and RabbitMQ specs\nestablish for the other two shared backends.\n\nChange-Id: If054c4d1f0062b3fae296cdede3eb7d7a909a0fa\nSigned-off-by: Vladimir Kozhukalov \u003ckozhukalov@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/02f67e92bb11b8e9ad069e1e901e0009ef9ec9b9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/02f67e92bb11b8e9ad069e1e901e0009ef9ec9b9"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
