chore(mariadb): consolidate replication cmpds into single canonical cmpd#2933
Conversation
leon-ape
left a comment
There was a problem hiding this comment.
This PR reuses the existing mariadb-replication-* ComponentDefinition name for the merged replication spec. The previous chart kept the merged spec under mariadb-replication-merged-* specifically because changing the existing CmpD spec under the same name is an immutable ComponentDefinition mutation during addon upgrade.\n\nThe ShellSpec suite still references the deleted cmpd-semisync.yaml and cmpd-replication-merged.yaml templates, so the PR currently removes the files while leaving their contract tests pointing at missing paths.
…l CmpD
Delete the old async-only cmpd-replication.yaml and semisync-only
cmpd-semisync.yaml, then rename the merged CmpD
(cmpd-replication-merged.yaml) to cmpd-replication.yaml. This makes
`mariadb-replication-{ChartVersion}` the single canonical replication
CmpD name supporting both async and semisync modes via the
replicationMode parameter.
Updates across all referencing files:
- _helpers.tpl: remove semisync/merged CmpD name helpers and regex
patterns; simplify replication regex from `^mariadb-replication-[0-9]`
to `^mariadb-replication-`
- paramsdef.yaml: collapse three PDs (replication, semisync, merged)
into one `mariadb-replication-pd`
- cmpv.yaml: remove semisync and merged compDef patterns from
compatibility rules
- clusterdefinition.yaml: point replication topology at
`mariadb.replication.cmpdName` helper
- backuppolicytemplate.yaml: update topology list comment
5f3ae5c to
e0c9a88
Compare
Update test file references from deleted cmpd-semisync.yaml and cmpd-replication-merged.yaml to consolidated cmpd-replication.yaml. Remove obsolete structural tests for old 3-CMPD architecture. Restore memberJoin/memberLeave lifecycle actions dropped during consolidation rewrite.
|
Current head still folds the merged replication spec into |
d9603d0 to
7803afb
Compare
leon-ape
left a comment
There was a problem hiding this comment.
This PR changes the canonical replication CmpD runtime surface by adding memberJoin/memberLeave and deleting the old replication/semisync CmpDs, but the PR only has static Helm/ShellSpec/CI evidence; the provision, service connectivity, scale-out, switchover, and reconfigure validation items in the PR body are still unchecked.
Summary
MariaDB previously shipped three separate replication ComponentDefinitions:
cmpd-replication.yaml- async-only (legacy, ~1029 lines)cmpd-semisync.yaml- semisync-only (~2634 lines)cmpd-replication-merged.yaml- unified async+semisync (~3097 lines)The merged CMPD already supersedes the other two, supporting both async and semisync modes in a single definition. Keeping all three causes:
This PR consolidates to a single canonical replication CmpD and bumps the chart version to
1.2.0-alpha.26so existing1.2.0-alpha.25ComponentDefinitions are not mutated in place during addon upgrade.Changes
cmpd-replication.yamlcmpd-replication-merged.yamlcmpd-replication.yaml)cmpd-semisync.yaml_helpers.tplsemisync.cmpdName,replication.merged.cmpdName; widened replication regexparamsdef.yamlmariadb-replication-pdcmpv.yamlclusterdefinition.yamlmariadb.replication.cmpdNamebackuppolicytemplate.yamlChart.yaml1.2.0-alpha.26for versioned CmpD namesValidation status
shellspec-testis green on headbfc2aa23.513066bb/ chart1.2.0-alpha.25fresh install upgraded to this PR's1.2.0-alpha.26chart without mutating old*-1.2.0-alpha.25CmpDs.1.2.0-alpha.26CmpDs became Available for standalone, galera, and replication-merged.mariadb-replication-merged-1.2.0-alpha.26; old async topology still points to the old alpha.25 CmpD.max_connections=300OpsRequest Succeed and both pods reported 300 after bounded polling.Evidence:
/tmp/mariadb-2933-v26-upgrade-evidence.tar.gz, sha25657d41a6884692a9fa3dab54fd262aad61a75640111a79c18904928fe92bff195./tmp/mariadb-2933-gaps-v2-36170.tar.gz, sha2567378afec9d89458741d7b9be80ca93023203cfe4ea87a0036551d3f1e7f48d0a./tmp/mariadb-2933-gaps-61289.tar.gz, sha2560f0bdd9e50129e50841f027f184cab13faee327953994cf46916caeffab3e330. This bounded observation showed the secondary semisync status converged toONwithin the first 30-second poll and stayedONfor 20 samples; the initial failure was a test-helper expectation issue, not counted as product failure.Conclusion boundary: this is PR/head scoped validation for the listed completed items only. It is not release-ready evidence.