Skip to content

Docs: PV migration to SSD - #155

Open
ArtisKrumins wants to merge 5 commits into
masterfrom
docs/pv-type-migration
Open

Docs: PV migration to SSD#155
ArtisKrumins wants to merge 5 commits into
masterfrom
docs/pv-type-migration

Conversation

@ArtisKrumins

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI lite review requested due to automatic review settings September 3, 2026 09:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Several runbook steps/wording are internally inconsistent or overly hardcoded (e.g., StatefulSet orphaning references and StorageClass values), which could lead to operators executing incorrect actions during a migration/rollback.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds an operational runbook documenting how to migrate a GKE Persistent Volume from the legacy in-tree kubernetes.io/gce-pd driver to the GKE PD CSI driver (pd.csi.storage.gke.io) by snapshotting the underlying disk, creating a new SSD-backed disk, and re-binding a PVC with the original name (plus a rollback path).

Changes:

  • Introduces a step-by-step PV/PVC migration procedure (snapshot → new disk → static PV/PVC bind).
  • Documents a rollback procedure using the retained original PV.
  • Provides reusable placeholders for environment-specific values (namespace, PV/PVC names, project, zone, etc.).
File summaries
File Description
docs/gke-pv-migration-runbook.md New runbook describing PV migration to CSI/SSD plus rollback steps
Review details

Suppressed comments (2)

docs/gke-pv-migration-runbook.md:122

  • This PVC hardcodes storageClassName: premium-rwo. For static binding, it must match the PV’s storageClassName; use the same placeholder to avoid mismatches.
  storageClassName: premium-rwo

docs/gke-pv-migration-runbook.md:201

  • Rollback instructions are vague ("Edit storage type back to previous") and again say "Remove StatefulSet orphaning" while the command orphan-deletes the StatefulSet. Make the instruction explicit (update Helm values/manifests back to the original StorageClass) and fix the wording to match the command.
Edit storage type back to previous. 
Remove StatefulSet orphaning to allow Helm to manage the new PVC and PV definitions cleanly.
  • Files reviewed: 1/1 changed files
  • Comments generated: 8
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +9 to +20
| Placeholder | Meaning |
| --- | --- |
| `[namespace]` | Namespace of the workload |
| `[original-pvc-name]` | Existing PVC name (reused at the end) |
| `[statefulset-name]` | Workload StatefulSet |
| `[snapshot-name]` | Name for the GCP disk snapshot |
| `[new-disk-name]` | Name for the new `pd-ssd` disk |
| `[migrated-pv-name]` | Name for the new statically bound PV |
| `[original-pv-name]` | Original PV name (value of `$PV_NAME`) |
| `[gke-project-id]` | GCP project ID |
| `[gcp-zone]` | Zone of the disk (value of `$GCP_ZONE`) |
| `[disk-size]` | Disk size, e.g. `500Gi` |
Comment thread docs/gke-pv-migration-runbook.md
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: premium-rwo
Comment thread docs/gke-pv-migration-runbook.md Outdated
Comment thread docs/gke-pv-migration-runbook.md Outdated
Comment thread docs/gke-pv-migration-runbook.md Outdated
Comment thread docs/gke-pv-migration-runbook.md Outdated
spec:
accessModes:
- ReadWriteOnce
storageClassName: standard # Original storage class
ArtisKrumins and others added 3 commits September 3, 2026 12:56
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.

3 participants