Skip to content

[DPE-8774] docs(stereo-mode): add two-node HA explanation and deployment guide#1740

Merged
marceloneppel merged 2 commits into
16/edgefrom
stereo-mode-docs-for-review
Jun 10, 2026
Merged

[DPE-8774] docs(stereo-mode): add two-node HA explanation and deployment guide#1740
marceloneppel merged 2 commits into
16/edgefrom
stereo-mode-docs-for-review

Conversation

@marceloneppel

@marceloneppel marceloneppel commented Jun 2, 2026

Copy link
Copy Markdown
Member

Issue

Stereo mode — two-node high availability where two postgresql units are paired with a standalone postgresql-watcher that supplies a third Raft vote — shipped in 16/edge with no user-facing documentation. There was no explanation of why the extra vote is needed and no guide for deploying the topology.

Solution

Document stereo mode: a two-postgresql-unit topology paired with a standalone postgresql-watcher that contributes a third Raft vote, so high availability works with only two database copies.

  • explanation/stereo-mode.md: why an odd voter count is needed, how the watcher joins the Raft quorum (patroni-raft-controller on port 2222), when it votes vs. abstains, and availability-zone placement — with an architecture diagram.
  • how-to/deploy/stereo-mode.md: deploy the two units and the watcher, integrate over watcher-offer/watcher, and verify with a real juju status sample.
  • Wire both pages into the explanation, deploy, and home-page navigation.
  • Add "systemd" to the spelling wordlist.

Scoped to a single cluster. Stereo mode currently ships only in 16/edge; a TODO marks the deploy guide for a 16/stable update once released.

Out of scope (intentional): this pass covers only the single-cluster topology through the Explanation and How-to Diátaxis categories. It deliberately does not document:

  • the future multi-cluster watcher architecture (one watcher serving many clusters);
  • the get-cluster-status, show-topology, and trigger-health-check actions, which do not exist yet.

Branch strategy: This PR targets the stereo-mode-docs branch first. From there we'll decide whether these docs can be merged into 16/edge, or whether we need to wait for the VM and K8s charm docs unification before doing so.

Checklist

  • I have added or updated any relevant documentation.
  • I have cleaned any remaining cloud resources from my accounts.

Document stereo mode: a two-`postgresql`-unit topology paired with a
standalone `postgresql-watcher` that contributes a third Raft vote, so
high availability works with only two database copies.

- explanation/stereo-mode.md: why an odd voter count is needed, how the
  watcher joins the Raft quorum (patroni-raft-controller on port 2222),
  when it votes vs. abstains, and availability-zone placement — with an
  architecture diagram.
- how-to/deploy/stereo-mode.md: deploy the two units and the watcher,
  integrate over watcher-offer/watcher, and verify with a real
  `juju status` sample.
- Wire both pages into the explanation, deploy, and home-page navigation.
- Add "systemd" to the spelling wordlist.

Scoped to a single cluster. Stereo mode currently ships only in 16/edge;
a TODO marks the deploy guide for a 16/stable update once released.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
@marceloneppel marceloneppel changed the title docs(stereo-mode): add two-node HA explanation and deployment guide [DPE-8774] docs(stereo-mode): add two-node HA explanation and deployment guide Jun 2, 2026
@marceloneppel marceloneppel marked this pull request as ready for review June 2, 2026 19:46
@marceloneppel marceloneppel requested a review from a team as a code owner June 2, 2026 19:46
@marceloneppel marceloneppel requested review from a-velasco, carlcsaposs-canonical, dragomirp, juju-charm-bot and taurus-forever and removed request for a team June 2, 2026 19:46
Comment thread docs/explanation/stereo-mode.md Outdated
dragomirp
dragomirp previously approved these changes Jun 3, 2026

@taurus-forever taurus-forever left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!!!

Comment thread docs/how-to/deploy/stereo-mode.md Outdated
Comment thread docs/how-to/deploy/stereo-mode.md Outdated
Comment thread docs/how-to/deploy/stereo-mode.md
Address PR review feedback on the stereo-mode docs:

- Explanation: describe the watcher as stopping its Raft service and
  leaving the quorum on odd unit counts of three or more, rather than
  merely "abstaining" — this matches how the watcher charm actually
  behaves (it removes its Raft member and stops the service). Hedge the
  section heading to cover both the running and stopped states.
- How-to: require `postgresql` revision 1149 or higher instead of
  pointing at the 16/edge channel, since the channel will move on. Drop
  the obsolete 16/stable TODO and bump the sample `juju status`
  revision to 1150.

Signed-off-by: Marcelo Henrique Neppel <marcelo.neppel@canonical.com>
a-velasco
a-velasco previously approved these changes Jun 9, 2026

@a-velasco a-velasco left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great @marceloneppel, thank you :) Let's merge it here so that it's available in the current docs for the release.

I'll then integrate it manually into my branch for the single kernel migration.

taurus-forever
taurus-forever previously approved these changes Jun 10, 2026
@marceloneppel marceloneppel changed the base branch from stereo-mode-docs to 16/edge June 10, 2026 14:37
@marceloneppel marceloneppel dismissed stale reviews from taurus-forever, a-velasco, and dragomirp June 10, 2026 14:37

The base branch was changed.

@marceloneppel marceloneppel added documentation Improvements or additions to documentation not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes labels Jun 10, 2026
@marceloneppel marceloneppel merged commit df4d4bb into 16/edge Jun 10, 2026
3 of 5 checks passed
@marceloneppel marceloneppel deleted the stereo-mode-docs-for-review branch June 10, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants