Skip to content

feat(GSP1318): hybrid NCC HA VPN/BGP lab solution and full Hashnode guide - #48

Draft
hoangsvit wants to merge 2 commits into
mainfrom
feat/gsp1318-ncc-hybrid-scout-20261030
Draft

hoangsvit wants to merge 2 commits into
mainfrom
feat/gsp1318-ncc-hybrid-scout-20261030

Conversation

@hoangsvit

@hoangsvit hoangsvit commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

New lab (not maintenance)

Task and checkpoint coverage

  1. Task 1: HA VPN pair, two Cloud Routers, BGP peer interfaces, route advertisement, MED 111 — checkpoints 30 + 35.
  2. Task 2: NCC hub and default route table — checkpoint 15.
  3. Task 3: linked workload VPC and routing-side VPN hybrid spoke — checkpoint 20.
  4. Task 4: SSH to vm3-onprem and verify HTTP connectivity to 10.0.1.2.
  5. Task 5: explicit opt-in cleanup after grading, with a confirmation flag.

HASHNODE.md covers Overview → Setup → Task 5 in order, with manual commands and grader checkpoints; ## Solution of Lab follows all tasks. Quick has exactly two commands targeting main and is unavailable until merge. No unverified video or unlicensed embedded images.

Safety / implementation

  • Detects project/region/zone from the lab environment, never hardcodes region or a secret.
  • Random VPN shared secret is not logged. Existing complete tunnel pairs are reused; partial pairs stop with an actionable error.
  • Bounded retries; no blanket deletion or modification of existing lab scripts.
  • NO_COLOR overrides FORCE_COLOR=1; TTY color is enabled by default.
  • Does not create replacement VPCs or assume personal GCP credentials.

Static tests / review

  • GitHub CI PASS on head d4afd99443a33a6cdf7390a3d6ef46f18b0634b5: unit tests, bash -n, and ShellCheck severity error. Workflow run #41092177869.
  • static validated only; runtime/grader unverified. No authorized lab runtime has been used.
  • Review routing state, HA VPN/BGP convergence, optional cleanup, and grader compatibility before merging.

Test latest PR commit

Run in the authorized Google Skills Cloud Shell only. This resolves the latest branch head SHA, verifies it is nonempty, downloads by immutable commit SHA (avoids branch/CDN cache confusion), and logs with the SHA prefix:

BRANCH=feat/gsp1318-ncc-hybrid-scout-20261030
SHA="$(git ls-remote https://github.com/ePlus-DEV/storage.git refs/heads/$BRANCH | awk '{print $1}')"
test -n "$SHA" || { echo "Could not resolve latest PR head SHA" >&2; exit 1; }
curl -fL --retry 3 "https://raw.githubusercontent.com/ePlus-DEV/storage/$SHA/labs/GSP1318/lab.sh" -o lab-test.sh
set -o pipefail
FORCE_COLOR=1 bash lab-test.sh 2>&1 | tee "lab-GSP1318-${SHA:0:12}.log"

Do not use source lab.sh in this tee-based PR test. Do not infer grader PASS from static CI.

@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