From 68e1648f3da49fff104dce9b394568045a2f33da Mon Sep 17 00:00:00 2001 From: pingqiu Date: Sun, 3 May 2026 09:04:11 -0700 Subject: [PATCH] docs(p15): update G15b image build evidence --- ...v3-phase-15-g15b-k8s-qa-test-instruction.md | 18 ++++++++++++++++-- ...v3-phase-15-g15b-k8s-static-pv-mini-plan.md | 17 ++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/sw-block/design/test/v3-phase-15-g15b-k8s-qa-test-instruction.md b/sw-block/design/test/v3-phase-15-g15b-k8s-qa-test-instruction.md index a3772c7c1..6f2429884 100644 --- a/sw-block/design/test/v3-phase-15-g15b-k8s-qa-test-instruction.md +++ b/sw-block/design/test/v3-phase-15-g15b-k8s-qa-test-instruction.md @@ -1,14 +1,14 @@ # V3 Phase 15 G15b Kubernetes Static PV QA Test Instruction **Date**: 2026-05-03 -**Status**: K8s lab instruction for `p15-g15b/k8s-static-pv@32b3a13`; execution pending +**Status**: K8s lab instruction for `p15-g15b/k8s-static-pv@5375add`; execution pending **Scope**: single-node Kubernetes static PV/PVC/pod smoke through real V3 daemons and CSI. --- ## Headline -At `seaweed_block@32b3a13`, the G15b lab harness is staged to prove: +At `seaweed_block@5375add`, the G15b lab harness and image build inputs are staged to prove: ```text blockmaster + product-loop + r1/r2 blockvolume @@ -52,6 +52,20 @@ go test ./cmd/blockcsi -run TestG15b_Manifest -count=1 -v go test ./core/csi ./cmd/blockcsi ./core/host/volume ./core/host/master ./core/authority ./cmd/blockmaster ./cmd/blockvolume -count=1 ``` +Build local images: + +```bash +bash scripts/build-g15b-images.sh "$PWD" +``` + +For kind clusters, build and load into the cluster: + +```bash +G15B_KIND_CLUSTER= bash scripts/build-g15b-images.sh "$PWD" +``` + +Local image build result already verified at `5375add`: PASS, images `sw-block:local` and `sw-block-csi:local` built. + Kubernetes lab run from Linux or WSL with `kubectl` configured: ```bash diff --git a/sw-block/design/v3-phase-15-g15b-k8s-static-pv-mini-plan.md b/sw-block/design/v3-phase-15-g15b-k8s-static-pv-mini-plan.md index c231ba2da..32be24c88 100644 --- a/sw-block/design/v3-phase-15-g15b-k8s-static-pv-mini-plan.md +++ b/sw-block/design/v3-phase-15-g15b-k8s-static-pv-mini-plan.md @@ -1,7 +1,7 @@ # V3 Phase 15 — G15b Kubernetes Static PV Mini-Plan **Date**: 2026-05-03 -**Status**: G15b-1 manifests implemented at `62325c9`; G15b-2 lab harness staged at `32b3a13`; Kubernetes run pending +**Status**: G15b-1 manifests implemented at `62325c9`; G15b-2 lab harness staged at `32b3a13`; image build inputs added at `5375add`; Kubernetes run pending **Branch**: `p15-g15b/k8s-static-pv` from `ac49adb` **Goal**: prove a Kubernetes pod can consume a pre-provisioned V3 block volume through `cmd/blockcsi`, using real Kubernetes CSI control flow and real Linux iSCSI staging. @@ -162,12 +162,13 @@ Result: PASS on `62325c9`. ### G15b-2 — K8s Lab Harness -Status: **harness staged** at `seaweed_block@32b3a13`; real Kubernetes execution pending. +Status: **harness staged** at `seaweed_block@32b3a13`; image build inputs added at `seaweed_block@5375add`; real Kubernetes execution pending. Artifacts: - `scripts/run-g15b-k8s-static.sh` - `sw-block/design/test/v3-phase-15-g15b-k8s-qa-test-instruction.md` +- `scripts/build-g15b-images.sh` Additional manifests: @@ -176,6 +177,8 @@ Additional manifests: - `sw-blockmaster` Deployment + Service - `sw-blockvolume-r1` Deployment - `sw-blockvolume-r2` Deployment +- `deploy/k8s/g15b/Dockerfile.sw-block` +- `deploy/k8s/g15b/Dockerfile.blockcsi` First topology: @@ -209,10 +212,18 @@ go test ./cmd/blockcsi -run TestG15b_Manifest -count=1 -v go test ./core/csi ./cmd/blockcsi ./core/host/volume ./core/host/master ./core/authority ./cmd/blockmaster ./cmd/blockvolume -count=1 ``` +Image build verification added at `5375add`: + +```bash +bash scripts/build-g15b-images.sh . +``` + +Result: PASS; built `sw-block:local` and `sw-block-csi:local`. + Not yet proven: - Kubernetes API server availability; -- image build/load path; +- image load path into the target cluster; - external-attacher calling `ControllerPublish`; - kubelet calling `NodeStage` / `NodePublish`; - pod checksum write/read.