Skip to content

feat(GSP1312): NetApp snapshots automation and Hashnode manual guide - #53

Draft
hoangsvit wants to merge 2 commits into
mainfrom
scout/gsp1312-netapp-snapshots-20261031
Draft

hoangsvit wants to merge 2 commits into
mainfrom
scout/gsp1312-netapp-snapshots-20261031

Conversation

@hoangsvit

@hoangsvit hoangsvit commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

New lab: GSP1312 — Protect your Google Cloud NetApp Volumes data with snapshots

Official lab: https://www.skills.google/focuses/124381?parent=catalog
Other official sources: https://docs.cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.volumes and https://docs.cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.volumes/patch
Game: Google Skills Catalog; October Arcade membership not verified.

Scope

  • New labs/GSP1312/lab.sh and labs/GSP1312/HASHNODE.md only.
  • Five official tasks: mount preprovisioned volume1 on vm1; create snapshot1; restore a file; configure hourly/daily/weekly/monthly snapshot schedules; revert volume1 to snapshot1.
  • Dynamic project/VM zone/volume location/NFS export; bounded SSH and snapshot polling; idempotent mount/snapshot creation; FORCE_COLOR with NO_COLOR priority.
  • Short-lived lab-account token is used for the documented NetApp PATCH endpoint, never hardcoded or committed.
  • Copyright (c) 2026 ePlus.DEV | Unlicense.

Evidence and validation

  • Official indexed Google Skills result identifies GSP1312 and the five Task headings.
  • Known source inconsistency: the public live page sometimes displays GSPxxxx and mismatched legacy checkpoint labels. The five Task procedures match, but checkpoint numbers/labels require confirmation from an active authorized lab before merge. No grader PASS is claimed.
  • Local bash -n: PASS; embedded snapshot policy JSON parsed successfully.
  • ShellCheck severity error: PASS in GitHub CI.
  • static validated only; runtime/grader unverified. No GCP/lab account was used.
  • Snapshot revert is intentionally destructive to the temporary lab volume. Review policy updateMask behavior, snapshot visibility and revert timing before merge.

Test latest PR commit

REPO="ePlus-DEV/storage"
BRANCH="scout/gsp1312-netapp-snapshots-20261031"
SHA="$(git ls-remote "https://github.com/$REPO.git" "refs/heads/$BRANCH" | awk '{print $1}')"
test -n "$SHA" || { echo "Cannot resolve latest PR branch SHA"; exit 1; }
curl -fL --retry 3 "https://raw.githubusercontent.com/ePlus-DEV/storage/$SHA/labs/GSP1312/lab.sh" -o lab-test.sh
set -o pipefail
FORCE_COLOR=1 bash lab-test.sh 2>&1 | tee "lab-GSP1312-${SHA:0:12}.log"

This resolves the latest head SHA, downloads the exact commit to avoid cache ambiguity, and logs the SHA. Do not source through tee. The Hashnode Quick section has exactly two commands pointing to main and works only after merge.

Draft for review only; do not merge without confirming the current lab version and checkpoints.

CI verification (2026-10-30 UTC)

Lab Script Health run 41109350492 completed successfully. Logs show Bash and ShellCheck PASS for the new script. Runtime/grader and the official checkpoint inconsistency remain unverified.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
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.

1 participant