)]}'
{"id":"openstack%2Fopenstack-helm~1010667","triplet_id":"openstack%2Fopenstack-helm~master~I4bd63573daa6ec9971f13dfa4d5309318acce360","project":"openstack/openstack-helm","branch":"master","attention_set":{},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-10-17 10:09:41.000000000","reason":"Change was submitted"},"7156":{"account":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"last_update":"2026-10-16 21:29:13.000000000","reason":"\u003cGERRIT_ACCOUNT_7156\u003e replied on the change","reason_account":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}}},"hashtags":[],"change_id":"I4bd63573daa6ec9971f13dfa4d5309318acce360","subject":"feat(designate): run central, worker and producer as StatefulSets","status":"MERGED","created":"2026-10-15 12:36:01.000000000","updated":"2026-10-17 10:11:21.000000000","submitted":"2026-10-17 10:09:41.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":"1010667","meta_rev_id":"f5528871775a207aa38babb410b71e8e190e279b","_number":1010667,"virtual_id_number":1010667,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"value":0,"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-10-17 10:09:41.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"all":[{"value":2,"date":"2026-10-17 08:03:34.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"value":2,"date":"2026-10-16 21:29:13.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"all":[{"value":1,"date":"2026-10-17 08:03:34.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"value":0,"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-10-15 13:15:01.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-10-16 15:19:40.000000000","updated_by":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"reviewer":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"state":"REVIEWER"},{"updated":"2026-10-17 08:03:34.000000000","updated_by":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"reviewer":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"state":"REVIEWER"}],"messages":[{"id":"cedbe7f2e2e98ff6c7ae87247ccfa45b73a1ad18","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-10-15 12:36:01.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7afc1596bef8113653c5b8495817ff07da8ca454","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-15 13:15:01.000000000","message":"Patch Set 1: Verified-1\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/ef56bae2f754490b854d4646b6643a72\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ff71e546eeea4a4a8c59c66fa179ead5 : SUCCESS in 2m 50s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/8f220eedc0954ae98a99559aa72d88df : SUCCESS in 4m 06s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/e8114759023c4df39264db9f6b8db511 : SUCCESS in 2m 39s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/397b1e74298b4ce7acbe7f96a6f0ba15 : SUCCESS in 2m 01s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/c80d88ecb539414fab03ba34fe58fd6f : SUCCESS in 2m 27s\n- openstack-helm-designate-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/59f40efb0fc5411096d4f48ac5e4fb74 : FAILURE in 36m 07s","accounts_in_message":[],"_revision_number":1},{"id":"736ad2c5889da41b3f221b00a37f2c041faf2289","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-10-16 15:02:06.000000000","message":"Uploaded 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":"d3d8ff729d431b620599c2061a91fc54b8c8ad9f","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-16 15:19:40.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"0fb461cea400695a28107788ce0ed6d417cd6782","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 15:55:43.000000000","message":"Patch Set 2: Verified-1\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/6b20d26f775d4989bd94ba44de3a4dc2\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/560bb6ab9ea840cc89f9e454edce0c41 : SUCCESS in 5m 51s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/6a3fe835c3644211ba1c23d84b7dfc70 : SUCCESS in 4m 36s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/1c4f8abac4ff4e6aa6d1a402d92f24fa : SUCCESS in 2m 17s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/3ed8509e8b274af1a5d3f145c1750421 : SUCCESS in 1m 56s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/61f4e2ad888349b286000cac4246c6de : SUCCESS in 2m 30s\n- openstack-helm-designate-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/1db9af617df5496ebffc0b49f609036e : FAILURE in 38m 42s","accounts_in_message":[],"_revision_number":2},{"id":"3e328fb80c8059ff922481aead427339b40739d7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-10-16 20:27:27.000000000","message":"Uploaded patch set 3.\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":3},{"id":"340b64f4e45202322ef56c3f9678ba35a49f8445","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-16 20:59:30.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a1ffefd87a964311929bef6a53fbbaf3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6fc73fa9535f46acb840eb42e1152862 : SUCCESS in 3m 16s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/8e607a2b17714f8bae69a8a474bc0361 : SUCCESS in 3m 16s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/6061ad06925a431586d5d8ab223e9856 : SUCCESS in 2m 43s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/4e2061a341c1439ab1ff2d14f672cebc : SUCCESS in 1m 42s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/542aac1625d146778588971df7507d47 : SUCCESS in 1m 55s\n- openstack-helm-designate-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/95355c425ff24270a8ac253bdbdb2fa4 : SUCCESS in 30m 12s","accounts_in_message":[],"_revision_number":3},{"id":"90acc758b1c03732da34a108ef30d2a62e452d75","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-16 21:29:13.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"66f99ef5cdfa93b141a092c3ef4a1a5a607d8035","author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"date":"2026-10-17 08:03:34.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"28fa9d817f948ad251eeee067a76a9789524751b","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-17 08:03:44.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"6c202117a979596fe3be2f65724205cce13b0931","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-17 10:09:41.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3c7325cfd1d64b26acf0a27352ed7dec\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b2409a555ced47469ff59fd0d51280c9 : SUCCESS in 3m 30s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/a31f6f23a36f422fa70ab1b36e82a4b3 : SUCCESS in 3m 59s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/c2909d0eeb9e4875bd70ef244482cf43 : SUCCESS in 2m 00s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/4f56fee5a95542ce9580c5b1dd0c1c28 : SUCCESS in 1h 36m 37s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/1194f24654c74dd5845672b9dc8c4252 : SUCCESS in 39m 58s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/2155945a439a4f5fba4223d4c46f773b : SUCCESS in 32m 24s","accounts_in_message":[],"_revision_number":3},{"id":"f78159c44004c6605fb9de2f36830e983984aeb2","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-17 10:09:41.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"f5528871775a207aa38babb410b71e8e190e279b","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-17 10:11:21.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fc5576e4475b424fb8a5dd9cf9a8227e\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0d7bb8d804774de1b616cc021ff41bea : SUCCESS in 42s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"c8cd32ab38b3adab268bdb20b1cb29ae81b75603","revisions":{"7545bb6b1637986fd04dadedf60110635d1aff21":{"kind":"REWORK","_number":1,"created":"2026-10-15 12:36:01.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/67/1010667/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/67/1010667/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/1"}}},"commit":{"parents":[{"commit":"3bb916f835015b92eff312ff1b1259491141208f","subject":"fix(designate): define the pod and container security contexts","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/3bb916f835015b92eff312ff1b1259491141208f"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-01 00:53:29.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-15 12:35:55.000000000","tz":-300},"subject":"feat(designate): run central, worker and producer as StatefulSets","message":"feat(designate): run central, worker and producer as StatefulSets\n\ndesignate central, worker and producer are RPC servers: RPCService\nlistens on a Target(topic, server\u003dself.host), and CONF.host defaults to\nsocket.gethostname(). oslo.messaging names the per-server \u003ctopic\u003e.\u003chost\u003e\nqueue after it, and under a Deployment the hostname is the pod name, so\nit changed on every rollout. Now that the charts default to quorum\nqueues, which cannot be declared auto_delete, every rollout left the\nprevious pods\u0027 queues behind. Each service also heartbeats a\nservice_status row per hostname; the service cleaner cron job already\nprunes the stale ones.\n\nReplace the three Deployment templates with StatefulSets and rename\nmanifests.deployment_{central,worker,producer} to\nmanifests.statefulset_{central,worker,producer}. The pod specs are\nunchanged. mdns, which serves DNS and runs no RPC server, and sink,\nwhich runs a notification listener with no host-derived pool, stay\nDeployments.\n\nThe old values defaulted to true, so an override that set one to false\nto disable that component would be silently ignored after the rename.\nFail rendering if any of the old values is set at all. Nothing in the\nrepository set them.\n\nRender a headless service for each as its governing service, under the\nsame manifests value: a serviceName that names a service which does not\nexist publishes no per-ordinal DNS, so the two are never useful apart.\nNone of them listens on anything, so the services declare no ports, and\nnone publishes not-ready addresses because there are no readiness\nprobes.\n\nThe update strategy now comes from pod.lifecycle.upgrades.statefulsets,\nwhich the chart did not define until now.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: I4bd63573daa6ec9971f13dfa4d5309318acce360\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/7545bb6b1637986fd04dadedf60110635d1aff21"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/7545bb6b1637986fd04dadedf60110635d1aff21"}]},"branch":"refs/heads/master"},"aa921856f33175f88043989889718bb2bebbcad8":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-10-16 15:02:06.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/67/1010667/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/67/1010667/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/2"}}},"commit":{"parents":[{"commit":"967bcf02ecf78497ee689e7eaac1ed864eba7ee4","subject":"fix(designate): define the pod and container security contexts","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/967bcf02ecf78497ee689e7eaac1ed864eba7ee4"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-01 00:53:29.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-16 14:59:39.000000000","tz":-300},"subject":"feat(designate): run central, worker and producer as StatefulSets","message":"feat(designate): run central, worker and producer as StatefulSets\n\ndesignate central, worker and producer are RPC servers: RPCService\nlistens on a Target(topic, server\u003dself.host), and CONF.host defaults to\nsocket.gethostname(). oslo.messaging names the per-server \u003ctopic\u003e.\u003chost\u003e\nqueue after it, and under a Deployment the hostname is the pod name, so\nit changed on every rollout. Now that the charts default to quorum\nqueues, which cannot be declared auto_delete, every rollout left the\nprevious pods\u0027 queues behind. Each service also heartbeats a\nservice_status row per hostname; the service cleaner cron job already\nprunes the stale ones.\n\nReplace the three Deployment templates with StatefulSets and rename\nmanifests.deployment_{central,worker,producer} to\nmanifests.statefulset_{central,worker,producer}. The pod specs are\nunchanged. mdns, which serves DNS and runs no RPC server, and sink,\nwhich runs a notification listener with no host-derived pool, stay\nDeployments.\n\nThe old values defaulted to true, so an override that set one to false\nto disable that component would be silently ignored after the rename.\nFail rendering if any of the old values is set at all. Nothing in the\nrepository set them.\n\nRender a headless service for each as its governing service, under the\nsame manifests value: a serviceName that names a service which does not\nexist publishes no per-ordinal DNS, so the two are never useful apart.\nNone of them listens on anything, so the services declare no ports, and\nnone publishes not-ready addresses because there are no readiness\nprobes.\n\nThe update strategy now comes from pod.lifecycle.upgrades.statefulsets,\nwhich the chart did not define until now.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: I4bd63573daa6ec9971f13dfa4d5309318acce360\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/aa921856f33175f88043989889718bb2bebbcad8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/aa921856f33175f88043989889718bb2bebbcad8"}]},"branch":"refs/heads/master"},"c8cd32ab38b3adab268bdb20b1cb29ae81b75603":{"kind":"REWORK","_number":3,"created":"2026-10-16 20:27:27.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/67/1010667/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/67/1010667/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/67/1010667/3"}}},"commit":{"parents":[{"commit":"02656876710ee3eed5596bdd5106436561d1741f","subject":"fix(designate): define the pod and container security contexts","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/02656876710ee3eed5596bdd5106436561d1741f"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-01 00:53:29.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-16 20:26:57.000000000","tz":-300},"subject":"feat(designate): run central, worker and producer as StatefulSets","message":"feat(designate): run central, worker and producer as StatefulSets\n\ndesignate central, worker and producer are RPC servers: RPCService\nlistens on a Target(topic, server\u003dself.host), and CONF.host defaults to\nsocket.gethostname(). oslo.messaging names the per-server \u003ctopic\u003e.\u003chost\u003e\nqueue after it, and under a Deployment the hostname is the pod name, so\nit changed on every rollout. Now that the charts default to quorum\nqueues, which cannot be declared auto_delete, every rollout left the\nprevious pods\u0027 queues behind. Each service also heartbeats a\nservice_status row per hostname; the service cleaner cron job already\nprunes the stale ones.\n\nReplace the three Deployment templates with StatefulSets and rename\nmanifests.deployment_{central,worker,producer} to\nmanifests.statefulset_{central,worker,producer}. The pod specs are\nunchanged. mdns, which serves DNS and runs no RPC server, and sink,\nwhich runs a notification listener with no host-derived pool, stay\nDeployments.\n\nThe old values defaulted to true, so an override that set one to false\nto disable that component would be silently ignored after the rename.\nFail rendering if any of the old values is set at all. Nothing in the\nrepository set them.\n\nRender a headless service for each as its governing service, under the\nsame manifests value: a serviceName that names a service which does not\nexist publishes no per-ordinal DNS, so the two are never useful apart.\nNone of them listens on anything, so the services declare no ports, and\nnone publishes not-ready addresses because there are no readiness\nprobes.\n\nThe update strategy now comes from pod.lifecycle.upgrades.statefulsets,\nwhich the chart did not define until now.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: I4bd63573daa6ec9971f13dfa4d5309318acce360\nSigned-off-by: Doug Goldstein \u003ccardoe@cardoe.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/c8cd32ab38b3adab268bdb20b1cb29ae81b75603"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/c8cd32ab38b3adab268bdb20b1cb29ae81b75603"}]},"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":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"}}]}],"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":""}}}]}
