Repository navigation
add wpb-28803: add documentation for Wire in a Box maintenance - #138
Open
mohitrajain wants to merge 1 commit into
Open
mohitrajain wants to merge 1 commit into
mohitrajain wants to merge 1 commit into
Conversation
…rolled shutdown and startup
There was a problem hiding this comment.
🟡 Changes recommended
Critical and moderate runbook issues could cause credential exposure, data loss, incorrect node or service targeting, and incomplete workload restoration.
7 open issues
Abort scaling when StatefulSet retention is set to Delete · New Use the discovered PostgreSQL instance instead of hardcoded 17-main · New Use the recorded primary instead of assuming datanode1 · New Suspend HPA reconciliation during datastore shutdown · New Prevent plaintext credentials from being captured in recordings · New Release and start replica nodes before checking topology · New Reinitialize the inventory path after opening a new shell · New
What changed in this PR
This pull request adds operational documentation for controlled Wire in a Box shutdown, relocation, startup, backup handling, and post-maintenance validation.
Changes:
- Adds a comprehensive maintenance runbook covering Kubernetes, databases, messaging, storage, VMs, networking, and service restoration.
- Links the maintenance manual from the administration guide.
- Adds the manual to the MkDocs Administration navigation.
| File | Summary | Review findings |
|---|---|---|
src/how-to/administrate/README.md |
Adds the maintenance manual to the administration contents. | Moderate: The link nesting conflicts with its top-level MkDocs navigation entry (1 vote). |
src/how-to/administrate/maintenance-manual.md |
Documents the controlled shutdown, relocation, startup, backup, and validation procedure. | Critical: Protect StatefulSet PVCs before scaling, use the recorded PostgreSQL instance, avoid fixed-node assumptions, and suspend/restore HPA reconciliation (1–4 votes). Moderate: Prevent credentials from entering recordings; start and release all replicas; restore whenScaled state; guard nftables checks; reinitialize inventory and service variables in new shells (1–2 votes). Nit: Correct the heading hierarchy and grammar (1 vote). |
mkdocs.yml |
Adds the maintenance manual to the generated Administration navigation. | No findings. |
Review effort: Lite
| ### 2.2 Scale down applications, temporarily retaining `wire-utility` | ||
|
|
||
| ```bash | ||
| while IFS=$'\t' read -r kind name replicas; do |
| Record the actual instance and port, then set these variables on that VM: | ||
|
|
||
| ```bash | ||
| PG_INSTANCE='17-main' |
|
|
||
| **Current primary VM - inspect databases, schemas and tables:** | ||
|
|
||
| *Only from primary VM i.e. datanode1 or postgresql1* |
| ) | ||
| ``` | ||
|
|
||
| Watch for catch-up Jobs when schedules resume. Restore any temporary PVC-retention changes only after the intended replicas are back, then resume the previously paused autoscaling/reconciliation. ([Kubernetes CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/)) |
| sudo -u postgres psql -p "$PG_PORT" -X -d postgres \ | ||
| -c 'SELECT pg_is_in_recovery();' | ||
|
|
||
| sudo -u postgres repmgr -f "$RM_CONF" cluster show |
Comment on lines
+751
to
+759
| Start the **recorded primary first**, then both recorded replicas: | ||
|
|
||
| ```bash | ||
| release_units "$PG_UNIT" | ||
| sudo systemctl start "$PG_UNIT" | ||
|
|
||
| sudo -u postgres psql -p "$PG_PORT" -X -d postgres \ | ||
| -c 'SELECT pg_is_in_recovery();' | ||
| ``` |
|
|
||
| ```bash | ||
| cd wire-server-deploy/ | ||
| source bin/offline-env.sh |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


add documentation for Wire in a Box maintenance - controlled shutdown and startup
Change type
Basic information
Testing
Tracking