Skip to content

Document Longhorn deployment guidance - #414

Merged
viliakov merged 25 commits into
rancher:stagingfrom
viliakov:longhorn-deployment-guidance
Sep 16, 2026
Merged

viliakov merged 25 commits into
rancher:stagingfrom
viliakov:longhorn-deployment-guidance

Conversation

@viliakov

@viliakov viliakov commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Document Longhorn storage classes and node maintenance, including replicated ClickHouse and replication checks with sts-backup v0.10.0.

Storage overrides require SUSE Observability 2.11.1 or later. The upcoming HA-default checker Deployment is documented with dedicated RBAC, interrupted-check handling and a local CLI alternative. Drain-policy examples guard against restoring an empty value; unsupported checker configurations are linked to the CLI documentation.

Keep this PR on staging: resolve the remaining next-release placeholder for the bundled checker before promotion to main. Chart change: https://github.com/StackVista/helm-charts-internal/pull/201.

Validation: English Antora build, navigation/link checks, shell syntax and mocked failure/restore cases.

Tracking: https://github.com/StackVista/stackstate/issues/501

dependabot Bot and others added 3 commits September 7, 2026 12:44
Bumps [product-docs-common](https://github.com/rancher/product-docs-common) from `c5b3d01` to `fb66443`.
- [Commits](rancher/product-docs-common@c5b3d01...fb66443)

---
updated-dependencies:
- dependency-name: product-docs-common
  dependency-version: fb6644346522bdefc897a9ad425d20ddf24d285e
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…duct-docs-common-fb66443

Bump product-docs-common from `c5b3d01` to `fb66443`
@viliakov
viliakov requested a review from a team as a code owner September 8, 2026 15:14
@netlify

netlify Bot commented Sep 8, 2026

Copy link
Copy Markdown

Deploy Preview for suse-obs ready!

Name Link
🔨 Latest commit deb190e
🔍 Latest deploy log https://app.netlify.com/projects/suse-obs/deploys/6aaa885ce997fa00081e988e
😎 Deploy Preview https://deploy-preview-414--suse-obs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Target the upcoming-release branch because the mixed StorageClass overrides and Kafka transaction-state migration have not shipped in a stable chart. Keep staging's shared documentation assets when resolving the submodule conflict.
Use two storage replicas as the default for both deployment modes, with three as an explicitly assessed alternative. Describe HDFS replication overhead without attributing customer data loss to the replica count alone.

Gate mixed storage classes on the upcoming release and use the sanctioned release placeholder. Separate the Kafka data override from diagnostics and require actual topic replication verification because an upgrade can defer migration. Document optional PVC class exceptions, durable assistant state and application replication checks before maintenance.
@viliakov
viliakov changed the base branch from main to staging September 10, 2026 08:40
Show how to describe all Kafka partitions and compare replica assignments with ISR membership. Include StorageClass examples for Collector claim templates and component transaction-log PVCs; remove the requested diagnostic-log explanation and redundant Kafka prerequisites.
Identify the affected HA profiles and verify only __transaction_state for this migration. Explain that Non-HA replication factor one is expected and retains durable storage. Remove the unused Collector PVC customization while retaining the component transaction-log example.
viliakov and others added 4 commits September 11, 2026 14:55
…es_openshift/longhorn.adoc

Co-authored-by: rb3ckers <remco.beckers@suse.com>
Remove the three-replica alternative and recommend transient storage for optional component debugging logs. Rename the application-replicated class to longhorn-ha-database and include replicated ClickHouse, keeping single-replica profiles on durable storage.
Include Kafka in the general HA storage example and remove the topic-specific migration discussion and checks.
Describe sts-backup v0.10.0 status and wait commands, permissions, result interpretation, and an automation step that stops on failure. Link restart and replacement procedures to the wait command while retaining the checks outside its scope.
Describe the default workload-observer sidecar, its RBAC and the local CLI fallback. Align wait examples with released sts-backup v0.10.0, which does not expose the interval, audit-timeout or custom connection flags from the earlier PR revision.
@viliakov

Copy link
Copy Markdown
Contributor Author

The comments from omnigent

The {next-release-version} gate on the mixed-StorageClass examples appears wrong. It tells current-release customers not to apply them, but the Elasticsearch VCT override and the Kafka/ZooKeeper per-component precedence over global.storageClass already exist at released tag suse-observability/2.11.1 (local/elasticsearch/templates/statefulset.yaml:105-115, local/common/templates/_storageclass.yaml:7-12). Effect: customers are steered away from a working layout. Worth confirming yourself — chart tags carry snapshot appVersions, so the chart→product mapping wasn't conclusively verifiable.
The placeholder will redden the staging→main promotion PR. block-placeholders-in-prs.yml fails any PR targeting main containing {next-release-version}; it already failed on this branch on 2026-09-10 before retargeting to staging. The cost lands on a batch promotion PR.
Drain-policy restore can silently write an empty policy. ${LONGHORN_DRAIN_POLICY} is captured in an earlier, separate code block; in a fresh shell it's unset and the patch sends {"value":""}. Add : "${LONGHORN_DRAIN_POLICY:?...}".
The unsupported-configuration list is narrower than the CLI's own. v0.10.0 also excludes custom images/container names, overridden component labels, external databases, alternative NameNode topologies, ZooKeeper TLS-only, and erasure-coded HDFS. All degrade to unknown, so it fails safe — but broaden the sentence or xref the CLI doc.
Minor, unverified: prose says Allow If Last Replica Is Stopped; upstream Longhorn's setting may be Allow If Replica Is Stopped.

Use the shipped 2.11.1 storage-class behavior independently of the upcoming bundled checker. Describe dedicated RBAC, supported configurations and interrupted checks, and stop drain-policy restoration when its original value is missing.
@viliakov

Copy link
Copy Markdown
Contributor Author

Brittle auto-generated anchor. Three cross-references at 381, 392 and 440 target <<_wait_for_recovery_during_maintenance,…>>, an Asciidoctor auto-ID. It resolves correctly today, but renaming that heading silently breaks all three. The page already uses an explicit [#check-replication-status] anchor for the sibling section — adding [#wait-for-recovery] at line 300 would be consistent and rename-safe.
{next-release-version} at line 260 is now correctly scoped to checker availability only (the storage examples no longer depend on it). It still fails the staging→main promotion PR, since that workflow greps the whole tree. Known, and called out in the PR body — a release-process task rather than a defect.

@viliakov

Copy link
Copy Markdown
Contributor Author

Addressed the anchor comment in deb190e: added wait-for-recovery and updated all three references. The Antora build and rendered-link checks pass. The remaining release placeholder stays on staging until the checker release is confirmed, as noted in the PR description.

@viliakov
viliakov dismissed rb3ckers’s stale review September 16, 2026 15:42

it was addressed

@viliakov
viliakov merged commit 8e3bfef into rancher:staging Sep 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants