Skip to content

feat(GSP1314): Aeron cluster failover lab solution and full Hashnode guide - #51

Draft
hoangsvit wants to merge 2 commits into
mainfrom
scout/gsp1314-aeron-cluster-20261031
Draft

hoangsvit wants to merge 2 commits into
mainfrom
scout/gsp1314-aeron-cluster-20261031

Conversation

@hoangsvit

@hoangsvit hoangsvit commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

New verified lab — GSP1314

Lab: Enable Native Exchange Messaging and Clustering with Aeron
Official source: https://www.cloudskillsboost.google/focuses/124773?parent=catalog
Game: Google Skills Catalog; membership in October Arcade active games not verified.

Scope and coverage

  • New files only: labs/GSP1314/lab.sh and labs/GSP1314/HASHNODE.md.
  • Five official tasks: start three preprovisioned Aeron VMs; submit 20 auction bids; inspect stats and membership; stop the current leader and confirm failover; submit 300 bids while rejoining the stopped node.
  • Four grader checkpoints: 30/30/30/10. No grader claim.
  • Auto-detect project, VM zones and private IPs; bounded SSH/election retries; idempotent node startup; ANSI TTY/FORCE_COLOR with NO_COLOR priority.
  • Copyright (c) 2026 ePlus.DEV | Unlicense.
  • Hashnode guide follows Overview → Setup → all five Tasks → Solution of Lab, with Quick exactly two commands pointing to main, Manual fallback and verified public references. No copyrighted screenshots or unverified YouTube link.

Validation and limitations

  • Local bash -n: PASS on the authored script.
  • Structural check: all five tasks, Quick main URL, Manual section: PASS.
  • ShellCheck severity error: PASS in GitHub CI (bash -n and ShellCheck).
  • static validated only; runtime/grader unverified. No authorized GCP/lab runtime was used.
  • Review remote SSH process detachment, leader-PID safety and failover timing before merge. The script intentionally kills only the current Aeron cluster process, not the VM.
  • No changes to existing labs, no main push or merge.

Test latest PR commit

Run this in an authorized lab Cloud Shell, after reviewing the script:

REPO="ePlus-DEV/storage"
BRANCH="scout/gsp1314-aeron-cluster-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/GSP1314/lab.sh" -o lab-test.sh
set -o pipefail
FORCE_COLOR=1 bash lab-test.sh 2>&1 | tee "lab-GSP1314-${SHA:0:12}.log"

The command resolves the latest branch head, downloads a commit-pinned script to avoid branch-cache ambiguity, and records the SHA in the log filename. It does not source the script through tee.

Review required

Please review exact checkpoint coverage, SSH process lifecycle, and GCP runtime/grader behavior. Do not merge solely on static checks. The Hashnode Quick link works only after merge.

CI verification (2026-10-30 UTC)

Lab Script Health run 41108869717 completed successfully. Job logs explicitly show bash and shellcheck PASS for the changed lab.sh. Runtime/grader remains 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