)]}'
{"id":"openstack%2Fopenstack-helm~1005638","triplet_id":"openstack%2Fopenstack-helm~master~I6c7d2ef74243ce922424f633624ad81429b3534f","project":"openstack/openstack-helm","branch":"master","hashtags":[],"change_id":"I6c7d2ef74243ce922424f633624ad81429b3534f","subject":"[WIP] Generate release notes into Chart.yaml, drop CHANGELOG.md","status":"NEW","created":"2026-09-15 01:38:27.000000000","updated":"2026-09-15 03:28:11.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"work_in_progress":true,"has_review_started":false,"meta_rev_id":"ec421da48bbed6c2053125cc166c89ae009aa1db","_number":1005638,"virtual_id_number":1005638,"owner":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-09-15 03:28:11.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-09-15 03:28:11.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":"f0a61dfbb0e5f224b21509492f0a08d7651b5089","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"date":"2026-09-15 01:38:27.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"66824d1a1076b35b58aef2b1e0b826e8e6a235df","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"date":"2026-09-15 01:40:30.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"ec421da48bbed6c2053125cc166c89ae009aa1db","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-15 03:28:11.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/2e6e71c9d6e44e9b80966fd29d2c3b71\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/af2a873038bd43f4ae8ec115efb3a82b : SUCCESS in 3m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/de866341107d416b8375d920f15d450b : SUCCESS in 3m 03s\n- openstack-helm-linter https://zuul.opendev.org/t/openstack/build/ce9fa9d2126c4461a405e8960936baae : SUCCESS in 2m 11s\n- openstack-helm-mariadb-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/f33e5dd9af334521a9ad7ab4b4134769 : SUCCESS in 1h 37m 30s\n- openstack-helm-mariadb-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/9a07e28c146d4176a02fd1c6d23f7652 : SUCCESS in 1h 39m 47s\n- openstack-helm-rabbitmq-crd-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/e3647ba4922242fd8fd1e281d00ccbde : SUCCESS in 1h 18m 02s\n- openstack-helm-rabbitmq-operator-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/84f9b907587a4a6aaaf8973d1bc4439b : SUCCESS in 48m 51s\n- openstack-helm-pre-commit https://zuul.opendev.org/t/openstack/build/7b527eabe6574be6b3893a0724d1a3e6 : SUCCESS in 2m 51s\n- openstack-helm-release-notes https://zuul.opendev.org/t/openstack/build/1270ebf280074f9aa26bdd77b6e9f94a : SUCCESS in 1m 37s\n- openstack-helm-bandit https://zuul.opendev.org/t/openstack/build/bea8a5dbefcf49cfa8acf1cbe7ba279b : SUCCESS in 3m 23s\n- openstack-helm-build-charts https://zuul.opendev.org/t/openstack/build/ddff17eede0540bb82df912373e672d2 : SUCCESS in 2m 19s\n- openstack-helm-cinder-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/fa33509b4d094c8f83818ed5f1723be9 : SUCCESS in 28m 46s\n- openstack-helm-compute-kit-2025-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/cbbbe2ccd5e94d648f74cea0d1da556b : SUCCESS in 47m 19s\n- openstack-helm-cinder-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/8ae0746e725d4544ba3aec2cd79dfc38 : SUCCESS in 38m 35s\n- openstack-helm-compute-kit-2025-2-ubuntu_noble https://zuul.opendev.org/t/openstack/build/9b5fcc70102a4d40b48c2d661093d78f : SUCCESS in 1h 19m 00s\n- openstack-helm-cinder-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/7d2c431f7bfb476f96a64eae7c5c7c4a : SUCCESS in 30m 53s\n- openstack-helm-compute-kit-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/c909b54cd273439f8a6ec9e7aa2ddb6d : SUCCESS in 1h 20m 44s\n- openstack-helm-tls-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/722601ca099c4479b5b1e9d6252c61eb : FAILURE in 12m 56s\n- openstack-helm-compute-kit-dpdk-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/6eedf7fc9a60423792658d364cec4e77 : SUCCESS in 58m 35s\n- openstack-helm-octavia-2026-1-ubuntu_noble https://zuul.opendev.org/t/openstack/build/1ae8f47c112e4f96b9907fa995b0592d : SUCCESS in 1h 19m 06s\n- openstack-helm-logging https://zuul.opendev.org/t/openstack/build/b0a7993d3ca840b0bf460e0f5a5ffe40 : SUCCESS in 38m 06s\n- openstack-helm-monitoring https://zuul.opendev.org/t/openstack/build/c5a23bd59de84f7884f8cd44261dc44e : SUCCESS in 30m 56s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"d8b8d3c208372ca96633b0e6ed4db7056765df2c","revisions":{"34e3120a2380eb35242bfd9c28483799666c2092":{"kind":"REWORK","_number":1,"created":"2026-09-15 01:38:27.000000000","uploader":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"ref":"refs/changes/38/1005638/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/38/1005638/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/1"}}},"commit":{"parents":[{"commit":"8debd7d2de969aafcf4d9d4f9c5ef94a09c0edc1","subject":"Retire the deployment scripts and dead tooling","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/8debd7d2de969aafcf4d9d4f9c5ef94a09c0edc1"}]}],"author":{"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","date":"2026-09-15 01:08:59.000000000","tz":-300},"committer":{"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","date":"2026-09-15 01:37:57.000000000","tz":-300},"subject":"[WIP] Generate release notes into Chart.yaml, drop CHANGELOG.md","message":"[WIP] Generate release notes into Chart.yaml, drop CHANGELOG.md\n\nRelease notes were written as reno note files and combined by\ntools/changelog.py into a \u003cchart\u003e/CHANGELOG.md. Nothing consumed that\nfile: Artifact Hub builds a chart\u0027s changelog from the\nartifacthub.io/changes annotation in Chart.yaml, and a markdown file in\nthe tarball is invisible to it.\n\nWrite the annotation instead, during the build, from two sources keyed\nby the commit that introduced them.\n\nNew release notes are Changelog: git trailers, which is the same\nmechanism Change-Id already rides on and avoids the merge conflicts a\nshared file would cause. A trailer carries an Artifact Hub kind, one of\nadded, changed, deprecated, removed, fixed and security, or skip to\nstate that a change needs no note, and takes the commit subject as its\ndescription unless one is given after a second colon. The trailer\nrepeats to attach several notes to one commit.\n\nCharts are inferred from the directories the commit touches, so a change\nto roles, playbooks, tools or doc reaches no chart and needs no trailer\nat all. A Charts: trailer overrides that with an explicit list, or with\nall or none. Note that a change to helm-toolkit infers helm-toolkit\nalone; a change visible to the charts depending on it wants Charts: all.\n\nThe reno notes under releasenotes/notes are frozen but still read, so\nnothing written so far is lost. A note is attributed to the commit that\nadded it and therefore lands in the version it always would have, and\nits sections map onto the Artifact Hub kinds. Routing them by file name\nnow takes the longest matching chart name rather than any prefix, so\nmariadb-backup-\u003chash\u003e.yaml belongs to mariadb-backup instead of leaking\ninto mariadb, and a section named after a chart reaches that chart\nwhatever the file is called, so nothing that used to be routed is\ndropped.\n\nA build carries the notes accumulated since the previous commit that\ntouched the chart, which is the commit whose build published the\nprevious version of it, so each version carries its own notes exactly\nonce and Artifact Hub can concatenate them. A note routed to a chart the\ncommit did not touch does not bump that chart\u0027s version and is carried\nby the next build of it.\n\nThe annotation is written into Chart.yaml only for as long as it takes\nhelm package to run and the file is restored afterwards, so a build\nleaves no modification behind. SKIP_ANNOTATIONS\u003d1 turns it off where the\nmetadata is of no interest, which is every deployment path.\n\nopenstack-helm-release-notes runs the tooling unit tests, checks the\ntrailers of the change under review and renders the annotation for the\ncharts it touches, so unparsable chart metadata fails in check rather\nthan in the post pipeline. It has no irrelevant-files: a change touching\nno chart still has to be free of stray trailers.\n\nThe reno configuration stays for the release notes site built by\ntox -e releasenotes, which is the only thing that still reads it.\n\nSigned-off-by: Vladimir Kozhukalov \u003ckozhukalov@gmail.com\u003e\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I6c7d2ef74243ce922424f633624ad81429b3534f\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/34e3120a2380eb35242bfd9c28483799666c2092"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/34e3120a2380eb35242bfd9c28483799666c2092"}]},"branch":"refs/heads/master"},"d8b8d3c208372ca96633b0e6ed4db7056765df2c":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-09-15 01:40:30.000000000","uploader":{"_account_id":3009,"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","username":"kozhukalov"},"ref":"refs/changes/38/1005638/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/openstack-helm","ref":"refs/changes/38/1005638/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/openstack-helm refs/changes/38/1005638/2"}}},"commit":{"parents":[{"commit":"8debd7d2de969aafcf4d9d4f9c5ef94a09c0edc1","subject":"Retire the deployment scripts and dead tooling","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/8debd7d2de969aafcf4d9d4f9c5ef94a09c0edc1"}]}],"author":{"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","date":"2026-09-15 01:08:59.000000000","tz":-300},"committer":{"name":"Vladimir Kozhukalov","email":"kozhukalov@gmail.com","date":"2026-09-15 01:40:24.000000000","tz":-300},"subject":"[WIP] Generate release notes into Chart.yaml, drop CHANGELOG.md","message":"[WIP] Generate release notes into Chart.yaml, drop CHANGELOG.md\n\nNothing consumed \u003cchart\u003e/CHANGELOG.md: Artifact Hub builds a chart\u0027s\nchangelog from the artifacthub.io/changes annotation in Chart.yaml, so\nwrite that during the build and drop tools/changelog.py.\n\nNew notes are Changelog: git trailers carrying an Artifact Hub kind,\none of added, changed, deprecated, removed, fixed, security and skip,\ndefaulting to the commit subject. Charts are inferred from the\ndirectories the commit touches, so a change to roles or tools needs no\ntrailer; a Charts: trailer overrides with a list, all or none.\n\nThe reno notes under releasenotes/notes are frozen but still read, each\nattributed to the commit that added it. They now route by the longest\nmatching chart name, so mariadb-backup-\u003chash\u003e.yaml no longer leaks into\nmariadb.\n\nA build carries the notes since the previous commit that touched the\nchart, and Chart.yaml is restored afterwards. A new gate job checks the\ntrailers; see doc/source/devref/release-notes.rst.\n\nSigned-off-by: Vladimir Kozhukalov \u003ckozhukalov@gmail.com\u003e\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nChange-Id: I6c7d2ef74243ce922424f633624ad81429b3534f\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/d8b8d3c208372ca96633b0e6ed4db7056765df2c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/openstack-helm/commit/d8b8d3c208372ca96633b0e6ed4db7056765df2c"}]},"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":""}}}]}
