)]}'
{"id":"openstack%2Fopenstack-helm~1006665","triplet_id":"openstack%2Fopenstack-helm~master~I5dca6bcea3ed96a466f89fc6f4df16103cd0b5ac","project":"openstack/openstack-helm","branch":"master","attention_set":{"3009":{"account":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"last_update":"2026-09-23 00:34:42.000000000","reason":"\u003cGERRIT_ACCOUNT_5890\u003e replied on the change","reason_account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}},"7156":{"account":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"last_update":"2026-09-22 17:51:44.000000000","reason":"\u003cGERRIT_ACCOUNT_7156\u003e replied on the change","reason_account":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"}}},"removed_from_attention_set":{"5890":{"account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"last_update":"2026-09-23 00:34:42.000000000","reason":"\u003cGERRIT_ACCOUNT_5890\u003e replied on the change","reason_account":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}}},"hashtags":[],"change_id":"I5dca6bcea3ed96a466f89fc6f4df16103cd0b5ac","subject":"feat(neutron): run the ironic agent as a StatefulSet","status":"NEW","created":"2026-09-21 23:22:45.000000000","updated":"2026-09-23 00:34:42.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"83594f8bee1a27b0d60247b09f72b738079f8117","_number":1006665,"virtual_id_number":1006665,"owner":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-22 18:48:52.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":-2,"max":2},"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"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":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},{"_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-09-22 01:07:38.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-09-22 17:51:44.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-09-23 00:34:42.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"state":"REVIEWER"}],"messages":[{"id":"efadea70206736b096bb4b34de2c2930e463c953","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-09-21 23:22:45.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8dbf0009bd42ad467b9fd2f69149a118e057b66b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-22 01:07:38.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/8bb39aef75f746d4ae66930d23b56494\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aa80a9c5ae3f450caea2cdd0796f8541 : SUCCESS in 3m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c873a6e8d729486db29dfd1b24dd427c : SUCCESS in 4m 13s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/ce3feab381254a09a992aa3890123c88 : FAILURE in 2m 44s\n- openstack-helm-mariadb-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/781c4d188617405b803d765da8b60649 : SUCCESS in 1h 20m 08s\n- openstack-helm-mariadb-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/b17081a5866f4b72be0f254d907a9601 : SUCCESS in 1h 39m 21s\n- openstack-helm-rabbitmq-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/39e038e7f259437ea4be93171d295f2f : SUCCESS in 1h 18m 31s\n- openstack-helm-rabbitmq-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/ae5cd413c063445da8373fe8f3b03902 : SUCCESS in 1h 06m 18s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/651b70b4930b45a7abef8878076019be : SUCCESS in 3m 55s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/68f302089a264b679e58f629ffa2b8b2 : SUCCESS in 2m 37s\n- openstack-helm-cinder-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/e1cf2c95d72d42a5a9e4fb82a1152f6e : SUCCESS in 44m 01s\n- openstack-helm-compute-kit-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/31c9b225be244819bc1a852a4f46f852 : SUCCESS in 1h 19m 40s\n- openstack-helm-cinder-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/f9b7f899374e45b38ae9c5405854acdd : SUCCESS in 48m 03s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/d1d11bff7d9543f1b6f1072b6c7d66e1 : SUCCESS in 1h 14m 38s\n- openstack-helm-cinder-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/7801ebcc262e4c5b92d9b7927e6dccf4 : SUCCESS in 46m 54s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/dd8ee29ef32e4446ad5833fdb9cdeca0 : SUCCESS in 1h 04m 34s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/94d03f76e78b413f9e9d9f54cf228606 : SUCCESS in 1h 26m 42s\n- openstack-helm-compute-kit-dpdk-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/9b82916739f0480d9bc610eb30957d75 : SUCCESS in 58m 21s\n- openstack-helm-octavia-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/81c8169612dc4999aa1d3ff4c14c481e : SUCCESS in 1h 16m 14s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/a979c8a5ebae4d19ab46b67de6107d9c : SUCCESS in 38m 27s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/107808ca5eb641118e55e7407c51c831 : SUCCESS in 29m 57s","accounts_in_message":[],"_revision_number":1},{"id":"ba151c6e7a024e8eacd3a9db323df3d01c03a534","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-09-22 14:09:52.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"6645cf9483b9616e1054b0b9c81dccaebc468113","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-22 15:54:41.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d1b3b31f6e824cb799eac396258d2879\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/944b1f7f5a174290b66b640690823692 : SUCCESS in 3m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fa4519cf3ce34a0991b30b0192b8829b : SUCCESS in 3m 13s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/86dd1f0f41294d17b567228e780c361f : SUCCESS in 3m 21s\n- openstack-helm-mariadb-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/e1bcf2621c5d41fb908d4de1a3506d83 : SUCCESS in 1h 39m 14s\n- openstack-helm-mariadb-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/71c924ce5ffc4bd8a420f6e09db33e7e : SUCCESS in 59m 18s\n- openstack-helm-rabbitmq-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/fd894d540a99413bacdccafe66066563 : SUCCESS in 1h 07m 34s\n- openstack-helm-rabbitmq-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/f09f1023f8e24c00a9f229d93d21f88e : SUCCESS in 1h 19m 34s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/d98a699ab5134597993674fc6d610327 : SUCCESS in 2m 45s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/58662a6aa18d4543b93258f62a7bedf0 : SUCCESS in 2m 59s\n- openstack-helm-cinder-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/5c56cfbb18ea467cbf1da90f83eb22c3 : SUCCESS in 29m 47s\n- openstack-helm-compute-kit-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/7f320db1776b48de867b8ed4d135e996 : SUCCESS in 1h 15m 41s\n- openstack-helm-cinder-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/08050abdfdce419cbe99ea184ace9b23 : SUCCESS in 47m 38s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/ed577b45320a4b3ea90d9293c4fbaa5b : SUCCESS in 1h 21m 53s\n- openstack-helm-cinder-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/33bf4c7e34c245f1a0d59c8ae38b964d : SUCCESS in 28m 14s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/d24aaab499334c20a8a4241586eed6c1 : SUCCESS in 1h 19m 57s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/d1165786fcfe49d29392394d67837543 : SUCCESS in 1h 33m 35s\n- openstack-helm-compute-kit-dpdk-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/2e94124594644edca5e791157b0303e8 : SUCCESS in 59m 23s\n- openstack-helm-octavia-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/9bdf303705e849e595049de759a433fd : SUCCESS in 1h 18m 18s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/e35657b3b5c2487d80b186d784a2bb5c : SUCCESS in 40m 21s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/e6e9d7cac19d4a91ab79ce6275eac0cc : SUCCESS in 20m 21s","accounts_in_message":[],"_revision_number":2},{"id":"16f3088c2555eb62e75f2817406713b64aff4bda","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-09-22 17:02:37.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"13d67c2fd4a0ab1d3ffa6534b75ea996fa88cab4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-22 18:48:52.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c11b6b0b154249bd8e6a120eee2600e5\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ceebf14c26054edaa6616eefc1693bd9 : SUCCESS in 3m 57s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/891c4e902fce4aa48677fb445f95d44c : SUCCESS in 3m 45s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/1d9445b2885840a7a98d3b08d4352fd6 : SUCCESS in 2m 12s\n- openstack-helm-mariadb-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/c40ca49247ac4938a3acaa343960b59a : SUCCESS in 1h 39m 25s\n- openstack-helm-mariadb-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/6ce27fb0f6844f23beecebd9fd4e4d00 : SUCCESS in 1h 42m 43s\n- openstack-helm-rabbitmq-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/b74bb701262748b38a06304673fe4da6 : SUCCESS in 1h 20m 51s\n- openstack-helm-rabbitmq-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/e89825673d9b4b6589338f65db8591f4 : SUCCESS in 49m 13s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/4db8dcb201fd4c218de829c29bede29a : SUCCESS in 2m 09s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/bc1ec5a2d9e94522a32ece6081d79c5d : SUCCESS in 2m 00s\n- openstack-helm-cinder-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/139f0da96e3c45c5b409e8df407fc586 : SUCCESS in 29m 15s\n- openstack-helm-compute-kit-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/1d29b028a0b7455492e91e973cd14b51 : SUCCESS in 1h 11m 34s\n- openstack-helm-cinder-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/3a966e6058d8430b9a40fd1318910ff9 : SUCCESS in 49m 42s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/ccf4533d7a454a1ca0d625ba10edb87c : SUCCESS in 1h 08m 48s\n- openstack-helm-cinder-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/0878a4918aba4f349c47652b50fcf35e : SUCCESS in 28m 18s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/bde37f8a54c14a63b7756a07f3a97e1e : SUCCESS in 1h 18m 53s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/b12e12f661b4438db45d4bab2ff6b7e2 : SUCCESS in 1h 30m 03s\n- openstack-helm-compute-kit-dpdk-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/d846ca89a293493ebf057aba46daf8a6 : SUCCESS in 58m 36s\n- openstack-helm-octavia-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/dfd05c699ef349cb9096e812554778d7 : SUCCESS in 1h 23m 10s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/9c7524e97a4e440b8150f3cf74922ddb : SUCCESS in 34m 56s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/2c2b082ef76c41fca4b6816642a81b89 : SUCCESS in 26m 40s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"b8f149325444ac16168894751731e04ff4c0c3e0","revisions":{"5c5a7419984dffe876bdad0bf1c9059ba3e562ad":{"kind":"REWORK","_number":1,"created":"2026-09-21 23:22:45.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/65/1006665/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/65/1006665/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/1"}}},"commit":{"parents":[{"commit":"6a45d0ecf1ab5341eb9e606b615e27f085056dd4","subject":"Merge \"neutron: Noop change to rebuild and republish the chart\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6a45d0ecf1ab5341eb9e606b615e27f085056dd4"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-09-21 22:43:32.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-09-21 23:22:03.000000000","tz":-300},"subject":"feat(neutron): run the ironic agent as a StatefulSet","message":"feat(neutron): run the ironic agent as a StatefulSet\n\nThe ironic-neutron-agent names its oslo.messaging notification listener\npool queue after its own hostname, which under a Deployment is the pod\nname and so changed on every rollout.\n\nThis matters more now that the charts default to quorum queues\n(rabbit_quorum_queue, since \"Migrate to RabbitMQ 4.x by default\").\nnetworking-baremetal forces amqp_auto_delete\u003dtrue on its notification\ntransport precisely so that per-host pool queue disappears with the\nagent, but it skips that workaround when quorum queues are in use,\nbecause quorum queues cannot be declared auto_delete. Leaving a stale\npool queue behind on every rollout is therefore now the default\nbehaviour rather than an edge case.\n\nA stable hostname also keeps the agent\u0027s hash ring membership stable\nacross restarts.\n\nReplace deployment-ironic-agent.yaml with statefulset-ironic-agent.yaml\nand rename manifests.deployment_ironic_agent to\nmanifests.statefulset_ironic_agent. The pod spec is unchanged. No\nchanges are needed to the agent scripts: with use_fqdn.neutron_agent\nfalse the agent falls back to the pod hostname, and with it true the\ninit container writes the pod FQDN, both of which are stable per\nordinal under a StatefulSet.\n\nAssisted-By: Claude Opus 5\nChange-Id: I5dca6bcea3ed96a466f89fc6f4df16103cd0b5ac\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/5c5a7419984dffe876bdad0bf1c9059ba3e562ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/5c5a7419984dffe876bdad0bf1c9059ba3e562ad"}]},"branch":"refs/heads/master"},"cf8fdcb7108501ec3223bc616ccfcde3ffa8bee6":{"kind":"REWORK","_number":2,"created":"2026-09-22 14:09:52.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/65/1006665/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/65/1006665/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/2"}}},"commit":{"parents":[{"commit":"6a45d0ecf1ab5341eb9e606b615e27f085056dd4","subject":"Merge \"neutron: Noop change to rebuild and republish the chart\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6a45d0ecf1ab5341eb9e606b615e27f085056dd4"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-09-21 22:43:32.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-09-22 14:09:44.000000000","tz":-300},"subject":"feat(neutron): run the ironic agent as a StatefulSet","message":"feat(neutron): run the ironic agent as a StatefulSet\n\nThe ironic-neutron-agent names its oslo.messaging notification listener\npool queue after its own hostname, which under a Deployment is the pod\nname and so changed on every rollout.\n\nThis matters more now that the charts default to quorum queues\n(rabbit_quorum_queue, since \"Migrate to RabbitMQ 4.x by default\").\nnetworking-baremetal forces amqp_auto_delete\u003dtrue on its notification\ntransport precisely so that per-host pool queue disappears with the\nagent, but it skips that workaround when quorum queues are in use,\nbecause quorum queues cannot be declared auto_delete. Leaving a stale\npool queue behind on every rollout is therefore now the default\nbehaviour rather than an edge case.\n\nA stable hostname also keeps the agent\u0027s hash ring membership stable\nacross restarts.\n\nReplace deployment-ironic-agent.yaml with statefulset-ironic-agent.yaml\nand rename manifests.deployment_ironic_agent to\nmanifests.statefulset_ironic_agent. The pod spec is unchanged. No\nchanges are needed to the agent scripts: with use_fqdn.neutron_agent\nfalse the agent falls back to the pod hostname, and with it true the\ninit container writes the pod FQDN, both of which are stable per\nordinal under a StatefulSet.\n\nAssisted-By: Claude Opus 5\nChange-Id: I5dca6bcea3ed96a466f89fc6f4df16103cd0b5ac\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/cf8fdcb7108501ec3223bc616ccfcde3ffa8bee6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/cf8fdcb7108501ec3223bc616ccfcde3ffa8bee6"}]},"branch":"refs/heads/master"},"b8f149325444ac16168894751731e04ff4c0c3e0":{"kind":"REWORK","_number":3,"created":"2026-09-22 17:02:37.000000000","uploader":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"ref":"refs/changes/65/1006665/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/65/1006665/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/65/1006665/3"}}},"commit":{"parents":[{"commit":"6a45d0ecf1ab5341eb9e606b615e27f085056dd4","subject":"Merge \"neutron: Noop change to rebuild and republish the chart\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/6a45d0ecf1ab5341eb9e606b615e27f085056dd4"}]}],"author":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-09-21 22:43:32.000000000","tz":-300},"committer":{"name":"Doug Goldstein","email":"cardoe@cardoe.com","date":"2026-09-22 16:59:41.000000000","tz":-300},"subject":"feat(neutron): run the ironic agent as a StatefulSet","message":"feat(neutron): run the ironic agent as a StatefulSet\n\nThe ironic-neutron-agent names its oslo.messaging notification listener\npool queue after its own hostname, which under a Deployment is the pod\nname and so changed on every rollout.\n\nThis matters more now that the charts default to quorum queues\n(rabbit_quorum_queue, since \"Migrate to RabbitMQ 4.x by default\").\nnetworking-baremetal forces amqp_auto_delete\u003dtrue on its notification\ntransport precisely so that per-host pool queue disappears with the\nagent, but it skips that workaround when quorum queues are in use,\nbecause quorum queues cannot be declared auto_delete. Leaving a stale\npool queue behind on every rollout is therefore now the default\nbehaviour rather than an edge case.\n\nA stable hostname also keeps the agent\u0027s hash ring membership stable\nacross restarts.\n\nReplace deployment-ironic-agent.yaml with statefulset-ironic-agent.yaml\nand rename manifests.deployment_ironic_agent to\nmanifests.statefulset_ironic_agent. The pod spec is unchanged. No\nchanges are needed to the agent scripts: with use_fqdn.neutron_agent\nfalse the agent falls back to the pod hostname, and with it true the\ninit container writes the pod FQDN, both of which are stable per\nordinal under a StatefulSet.\n\nRender a headless service named neutron-ironic-agent as the StatefulSet\u0027s\ngoverning service, under the same manifests.statefulset_ironic_agent value:\na serviceName that names a service which does not exist publishes no\nper-ordinal DNS, so the two are never useful apart. The service publishes\nthe DNS names through which the FQDN the init container writes as the\nagent\u0027s host resolves. The agent listens on nothing, so the service\ndeclares no ports, which Kubernetes allows for a headless service, and it\npublishes not-ready addresses because the agent\u0027s readiness probe reports\nreachability of neutron-server rather than of the agent itself.\n\nDefine pod.lifecycle.upgrades.statefulsets.pod_replacement_strategy, which\nthe chart did not carry, so kubernetes_upgrades_statefulset renders an\nexplicit updateStrategy instead of nothing.\n\nAssisted-By: Claude Opus 5\nChange-Id: I5dca6bcea3ed96a466f89fc6f4df16103cd0b5ac\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/b8f149325444ac16168894751731e04ff4c0c3e0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/b8f149325444ac16168894751731e04ff4c0c3e0"}]},"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":""}}}]}
