Summary
The chart exposes updateStrategy.rollingUpdate.partition and type: OnDelete, but the README only lists them in the values tables. There is no procedural upgrade documentation, and nothing covers how availability zones interact with WaitForFirstConsumer storage, which pins each existing ordinal to a zone at first volume bind. Add two README sections.
Details
Current state: partition exists for both tiers (values.yaml:246-250 and 395-399) and renders in both StatefulSets. The README describes it in one line per values table, there is no Upgrading section (Maintenance covers only MongoDB backup and restore), and no AZ content exists in the README or docs/. topologySpreadConstraints is not exposed. The scheduling knobs are nodeSelector, tolerations, and affinity, and setting affinity replaces the default anti-affinity for that tier. One gotcha: values.schema.json (lines 352 and 540) types partition as string or null, so a plain --set with an integer fails validation. Use --set-string or a quoted values-file entry.
Section 1, Upgrading:
Section 2, Multi-AZ:
Reference: U-05, U-06, J-05 (Production Readiness Review)
Impact
Operators upgrade without a canary because nothing tells them how, hit the --set schema error with no documented workaround, and first learn about zone pinning when a pod sticks in Pending after a node failure.
Notes for maintainers
Both sections go in charts/graylog/README.md plus its table of contents. The partition schema typing deserves a small follow-up fix to also accept integers. Related: #14 tracks HA behavior changes, while this issue only documents current behavior.
Summary
The chart exposes
updateStrategy.rollingUpdate.partitionandtype: OnDelete, but the README only lists them in the values tables. There is no procedural upgrade documentation, and nothing covers how availability zones interact withWaitForFirstConsumerstorage, which pins each existing ordinal to a zone at first volume bind. Add two README sections.Details
Current state:
partitionexists for both tiers (values.yaml:246-250and 395-399) and renders in both StatefulSets. The README describes it in one line per values table, there is no Upgrading section (Maintenance covers only MongoDB backup and restore), and no AZ content exists in the README ordocs/.topologySpreadConstraintsis not exposed. The scheduling knobs arenodeSelector,tolerations, andaffinity, and settingaffinityreplaces the default anti-affinity for that tier. One gotcha:values.schema.json(lines 352 and 540) typespartitionas string or null, so a plain--setwith an integer fails validation. Use--set-stringor a quoted values-file entry.Section 1, Upgrading:
GET /api/system/cluster/nodesplus actual throughput, then walk partition down to 0. Same for the Datanode, adding OpenSearch health checks.type: OnDeletefor full manual cadence control.ingress.web.annotations, with one controller-specific example.upgrade-notes.mdwith the next release and wire it intodocs/RELEASING.md.Section 2, Multi-AZ:
Pending. The chart's own AWS gp3 class usesWaitForFirstConsumer(templates/config/sc/aws-gp3.yaml:19).affinityoverride (documenting that it replaces the default anti-affinity), or add atopologySpreadConstraintspassthrough to both StatefulSets and document that instead.existingClaimor disabled persistence.Reference: U-05, U-06, J-05 (Production Readiness Review)
Impact
Operators upgrade without a canary because nothing tells them how, hit the
--setschema error with no documented workaround, and first learn about zone pinning when a pod sticks inPendingafter a node failure.Notes for maintainers
Both sections go in
charts/graylog/README.mdplus its table of contents. Thepartitionschema typing deserves a small follow-up fix to also accept integers. Related: #14 tracks HA behavior changes, while this issue only documents current behavior.