)]}'
{"id":"openstack%2Fopenstack-helm~1008170","triplet_id":"openstack%2Fopenstack-helm~master~I48d4e2208f453d05caa5e7a5d93a2878ba11fcaa","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-07 15:14:27.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I48d4e2208f453d05caa5e7a5d93a2878ba11fcaa","subject":"feat(nova): run the conductor and scheduler as StatefulSets","status":"MERGED","created":"2026-10-01 01:20:39.000000000","updated":"2026-10-07 15:15:34.000000000","submitted":"2026-10-07 15:14:27.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":"1008170","meta_rev_id":"0f01a49f8c4e007ef3c814b640cd6419c13620db","_number":1008170,"virtual_id_number":1008170,"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-07 15:14:26.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-06 16:27:18.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-06 20:23:30.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":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"all":[{"value":0,"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"value":1,"date":"2026-10-06 20:23:30.000000000","permitted_voting_range":{"min":1,"max":1},"_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-01 03:30:36.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-06 16:27:18.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"},{"updated":"2026-10-06 20:23:30.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"}],"messages":[{"id":"dc163a83551ce6d2ff653e8e063af2dc1b67e8f4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-10-01 01:20:39.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"088810beeb19dbf5fa68e3b9026d0dd99a676d58","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-01 03:30:36.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/451004fab1f040c79aa38005eb203229\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4e4b7412b2e04445ab76fbca2de2b170 : SUCCESS in 4m 40s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d66944a3f77e4db09bdc035c2b9c2318 : SUCCESS in 3m 32s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/9cec70685720470fb5a54dead8b16142 : SUCCESS in 3m 16s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/1f5ea725b1fc4c2a9bec2d8b3fc79e45 : SUCCESS in 2m 08s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/39f25c4e4ee74e4182045956caeaa664 : SUCCESS in 2m 57s\n- openstack-helm-compute-kit-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/066595a942e44137acf300ae2a8cb182 : SUCCESS in 1h 46m 55s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/c873494fc3a34db3a7b448690496682a : SUCCESS in 1h 53m 29s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/e25ecb062f864238a1e06db5802a27eb : SUCCESS in 1h 42m 00s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/16de717101be4563b5498c39f3ddef1f : SUCCESS in 2h 01m 59s\n- openstack-helm-dpdk-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/33afff2d9df24474b95ae2e80260a9b7 : SUCCESS in 59m 47s\n- openstack-helm-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/d7368fb50d864edeb9905604ce46c40d : SUCCESS in 1h 41m 05s\n- openstack-helm-operators-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/65df40854747467eaebe378ed86b04fb : SUCCESS in 1h 12m 19s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/f0d5988a4c49490b904a24c4b086b409 : SUCCESS in 31m 56s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/2b50bbfad65d4e88b705d531d61e216f : SUCCESS in 27m 50s","accounts_in_message":[],"_revision_number":1},{"id":"98880ebd89f4d4198e5ea46627c8c2ff8486b384","author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"date":"2026-10-06 16:27:18.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"3b24e6630d75a39af8a1f20887437b889ba56b7b","author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"date":"2026-10-06 20:23:30.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"ab3ddfd5b53b521365af16438b0fac2df1b62dff","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 13:17:01.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"ea7abfc3491f44d6069773d9cfbfe58ac9833bc9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 15:14:26.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4d8af059ae20457e9a7291f8e3ed7522\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cacb6232c694402eab203c38fe3d8cd9 : SUCCESS in 3m 05s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/91f8454355e84dce83bfa02f404442ce : SUCCESS in 3m 57s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/9793266ae5404f8c8ade79421fd4d6b9 : SUCCESS in 4m 43s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/4092866b08ce46d1866ca545baaf2838 : SUCCESS in 1h 42m 25s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/2b231c791b6942b4a033fbf51960566a : SUCCESS in 39m 45s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/a3b60d85885d48c693eeb8d79dd06579 : SUCCESS in 34m 53s","accounts_in_message":[],"_revision_number":1},{"id":"a94e7ed3622c88ac25a2d9d36f124cc49f62cc02","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 15:14:27.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"0f01a49f8c4e007ef3c814b640cd6419c13620db","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-07 15:15:34.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3e7fa04645ee462a9f3216271878d1cb\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4bf4fa5ebbfa498aabc172aba5129e49 : SUCCESS in 52s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/cdaf370fc1744df0b2ed186d373c9bdd : SUCCESS in 47s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"bfdcda80771cb121c9921aee6c3789c836be42bb","revisions":{"bfdcda80771cb121c9921aee6c3789c836be42bb":{"kind":"REWORK","_number":1,"created":"2026-10-01 01:20:39.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/70/1008170/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/70/1008170/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/70/1008170/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/70/1008170/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/70/1008170/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/70/1008170/1"}}},"commit":{"parents":[{"commit":"92a645000924e06da51b644c1d6ab84cb4f13398","subject":"fix(nova): select the serialproxy pods in the serialproxy service","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/92a645000924e06da51b644c1d6ab84cb4f13398"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-01 00:58:24.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-10-01 00:58:32.000000000","tz":-300},"subject":"feat(nova): run the conductor and scheduler as StatefulSets","message":"feat(nova): run the conductor and scheduler as StatefulSets\n\nnova\u0027s Service.start registers each service under CONF.host, which\ndefaults to the hostname and under a Deployment is the pod name, so it\nchanged on every rollout. Each new host added a services row, which the\nservice cleaner cron job prunes, and an RPC server Target(topic,\nserver\u003dhost) whose \u003ctopic\u003e.\u003chost\u003e queue oslo.messaging names after it.\nNow that the charts default to quorum queues, which cannot be declared\nauto_delete, every rollout left the previous pods\u0027 queues behind.\n\nThe chart already carried opt-in statefulset-conductor.yaml and\nstatefulset-scheduler.yaml templates next to the Deployments. Delete the\nDeployment templates and make manifests.statefulset_conductor and\nmanifests.statefulset_scheduler default to true. The StatefulSets keep\ntheir host handling: HOSTNAME comes from metadata.name and, unless\nconf.nova.DEFAULT.host is set, is written to /tmp/nova-\u003csvc\u003e-host.conf\nas the service\u0027s host.\n\nThe old manifests.deployment_conductor and deployment_scheduler values\ndefaulted to true, so an override that set one to false to disable the\nservice would be silently ignored after the removal and the service\nwould start. Fail rendering if either is set at all. Nothing else in\nthe repository referenced them.\n\nThe only pod spec difference between each Deployment and its\nStatefulSet, other than the host handling, was\nterminationGracePeriodSeconds from\npod.lifecycle.termination_grace_period.\u003csvc\u003e.timeout, which the\nStatefulSets lacked. Carry it over so the pods keep their 180 second\ngrace period instead of falling back to the 30 second default.\n\nThe governing headless services and pod.lifecycle.upgrades.statefulsets\nwere added in the previous change. The update strategy now comes from\nthe latter rather than pod.lifecycle.upgrades.deployments.\n\nAssisted-by: Claude Opus 5.5\nChange-Id: I48d4e2208f453d05caa5e7a5d93a2878ba11fcaa\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/bfdcda80771cb121c9921aee6c3789c836be42bb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/bfdcda80771cb121c9921aee6c3789c836be42bb"}]},"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":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}}]}],"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":""}}}]}
