Added AWS EC2 GPU Instructions to Improve Multi-Cloud Hami Tutorial Lab 1 Documentation - #737
Added AWS EC2 GPU Instructions to Improve Multi-Cloud Hami Tutorial Lab 1 Documentation#737Creativeklvn wants to merge 5 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Creativeklvn The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
✅ Deploy Preview for project-hami ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe online installation lab now supports AWS EC2 GPU instances and GCP GPU VMs. It adds provider-specific setup, Kubernetes installation, cluster verification, GPU registration checks, and HAMi WebUI access instructions. ChangesOnline installation provider support
Estimated code review effort: 2 (Simple) | ~10 minutes Mergeability Score: 🟡 Moderate · up to The AWS lab path currently has setup blockers and an unsafe WebUI access path: users may be unable to authenticate, launch or reach the instance, boot the intended kernel, complete GPU checks, or access the UI as documented, while the public-facing UI instructions do not define restricted ingress. The PR is not merge-ready until these issues are corrected or explicitly accepted. Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
aa38057 to
740d4aa
Compare
There was a problem hiding this comment.
Actionable comments posted: 9
🧹 Nitpick comments (1)
tutorials/labs/online-install.md (1)
715-718: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick winWait for WebUI Pod readiness before port forwarding.
kubectl get podsonly displays the current status. It does not wait forReadyor fail onPending,0/1, orCrashLoopBackOff. Verify the chart label and usekubectl wait --for=condition=Readybefore the port-forward.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tutorials/labs/online-install.md` around lines 715 - 718, Replace the passive kubectl get pods check in the WebUI installation flow with kubectl wait --for=condition=Ready, using the chart’s app.kubernetes.io/name=hami-webui selector and kube-system namespace before port-forwarding. Retain the existing pod verification context while ensuring the command waits for readiness and fails when the pod cannot become Ready.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tutorials/labs/online-install.md`:
- Around line 158-159: Correct the wording in the instruction accompanying sudo
-i from “switch to root a user” to “switch to the root user.”
- Around line 152-156: Update the reconnect SSH command in “SSH Into the
Instance Again and Confirm Kernel Version” to reuse the configurable SSH key
placeholder established by the initial connection, rather than hardcoding
~/Downloads/hami-eks.pem; alternatively, define and reuse a local KEY_FILE
variable for both commands.
- Line 84: Add the required Markdown boundaries in the tutorial: insert a blank
line before the “## Step 1: Create a Virtual Machine” heading, properly fence
the “kubectl get nodes” command with a bash code block, and add a blank line
before the WebUI code fence and the corresponding locations noted in the
comment. Ensure each heading and fenced block is separated from surrounding
content to satisfy MD022/MD031.
- Around line 424-425: Update the AWS cost note in the installation instructions
so AWS users do not skip control-plane taint removal; require the kubectl taint
removal command for both AWS and GCP before continuing to Step 4, unless an
equivalent AWS scheduling workaround is documented.
- Around line 665-666: Update the GPU registration check near the kubectl
command to ensure jq is available first by running apt-get update and apt-get
install -y jq, then preserve the existing JSON output inspection; alternatively
replace the jq pipeline with an equivalent jq-free command.
- Around line 98-99: Replace the invalid AMI_ID value in the installation
instructions with a valid Ubuntu AMI ID for eu-west-3, or define region-specific
valid AMI IDs for every supported region while keeping the run-instances command
compatible.
- Around line 73-75: Align the GCP installation flow with GPU Operator v25.3.0
by changing the Kubernetes version from 1.34 to v1.33 everywhere in this
tutorial, including the documented prerequisites, kubeadm init configuration,
package repository, and expected node output. Update the related sections around
the GCP setup and verification steps consistently, without changing the operator
version.
- Around line 720-726: Update the WebUI access instructions around the kubectl
port-forward command to use localhost binding by default, or provide SSH port
forwarding as the access method. If documenting a 0.0.0.0 bind alternative,
explicitly require source-restricted security group or firewall ingress for TCP
3000, and update the URL accordingly.
- Around line 140-146: Remove the hard-coded GRUB_DEFAULT edit using the
embedded root UUID. In the documented boot flow, instruct the user to select the
installed 6.8 AWS kernel from the local GRUB menu, then verify the active kernel
with uname -r instead of relying on a saved GRUB entry.
---
Nitpick comments:
In `@tutorials/labs/online-install.md`:
- Around line 715-718: Replace the passive kubectl get pods check in the WebUI
installation flow with kubectl wait --for=condition=Ready, using the chart’s
app.kubernetes.io/name=hami-webui selector and kube-system namespace before
port-forwarding. Retain the existing pod verification context while ensuring the
command waits for readiness and fails when the pod cannot become Ready.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 3bfff102-8f07-4990-9959-1bb3a6d3ca64
📒 Files selected for processing (1)
tutorials/labs/online-install.md
740d4aa to
9a2cb2e
Compare
c21da76 to
ba9ff31
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tutorials/labs/online-install.md`:
- Around line 57-61: Update the AWS prerequisites in the tutorial to state that
aws login requires AWS CLI v2.32.0 or newer, or replace it with an
authentication flow supported by older AWS CLI versions. Ensure the documented
setup steps clearly communicate the required CLI compatibility.
- Around line 101-103: Add a step before 1.2 to create or verify the EC2 key
pair named by KEY_NAME in REGION, ensuring the corresponding private key is
available locally. Define or reuse that private-key path consistently in both
SSH commands instead of referencing an unverified or duplicated path.
- Around line 109-115: The run-instances command must explicitly launch a
publicly reachable SSH-enabled spot instance. Update the command to use a public
subnet, an SSH-permitting security group restricted to the user’s IP, and
--associate-public-ip-address, while preserving the existing instance, storage,
spot, and region options.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 120d0b22-17cf-4c42-b964-c7144fa82d6b
📒 Files selected for processing (1)
tutorials/labs/online-install.md
0b1a4bb to
d1a3275
Compare
Signed-off-by: Kelvin Uneze <kelvinuneze@gmail.com>
…tation Signed-off-by: Kelvin Uneze <kelvinuneze@gmail.com>
…tation Signed-off-by: Kelvin Uneze <kelvinuneze@gmail.com>
Signed-off-by: Kelvin Uneze <kelvinuneze@gmail.com>
Signed-off-by: Kelvin Uneze <kelvinuneze@gmail.com>
d1a3275 to
d884fb3
Compare
This lab expands the HAMi tutorial documentation to support AWS GPU infrastructure alongside the existing Google Cloud GPU virtual machine.
What Changed:
The introductory description has been updated to state that the lab supports either an AWS or a Google Cloud GPU virtual machine.
Added instructions for creating an AWS EC2 GPU instance using the AWS CLI.
Documented the requirement for AWS GPU/Spot vCPU quota before creating the instance.
Added Kubernetes and GPU Operator compatibility guidance that directs users to NVIDIA's platform-support documentation to verify that the selected Ubuntu and Kubernetes versions are supported together, because the NVIDIA driver, Linux kernel, Kubernetes version, and GPU Operator need to work together.
The kernel was downgraded to v6.8 because the AWS default kernel is not compatible with the NVIDIA GPU Operator v25.3.0 setup used in this lab.
Added tabs for
AWSandGCPto separate cloud-provider-specific instructionsUpdated the HAMi WebUI port-forwarding instructions to use the VM's public IP address instead of localhost.
Added my name
creativeklvnto the authors list to credit my contribution to the lab documentation updates.Previously, the lab instructions were primarily focused on the Google Cloud environment. Adding AWS allows users to complete the same HAMi workflow without needing a GCP environment.
The lab should provide the same overall HAMi experience regardless of whether the user chooses:
AWS EC2 GPU or Google Cloud GPU VM
Fixes #736
Summary by CodeRabbit
New Features
Documentation