docs(g15b): record K8s pass and TestOps registration

This commit is contained in:
pingqiu
2026-05-03 10:25:20 -07:00
parent 3f01c8b082
commit dea01dab5f
4 changed files with 29 additions and 8 deletions

View File

@@ -1,7 +1,7 @@
# V3 Phase 15 G15b Kubernetes Static PV QA Test Instruction
**Date**: 2026-05-03
**Status**: K8s lab instruction for `p15-g15b/k8s-static-pv@95b7217`; M02 re-run pending
**Status**: VERIFIED PASS on M02 at `p15-g15b/k8s-static-pv@95b7217`; TestOps registration landed at `7050654`
**Scope**: single-node Kubernetes static PV/PVC/pod smoke through real V3 daemons and CSI.
---
@@ -100,6 +100,14 @@ Expected result:
- artifact dir contains pod logs and product daemon logs;
- cleanup deletes the test PV/PVC/pod and product/CSI manifests.
Verified result:
- Tree: `p15-g15b/k8s-static-pv@95b7217`
- Lab: M02 (`192.168.1.184`) k3s `v1.34.4+k3s1`
- Run ID: `20260503T172122Z-95b7217`
- Artifacts: `V:\share\g15b-k8s\runs\20260503T172122Z-95b7217\`
- Result: PASS; pod completed after writing 4096 bytes through the PVC and `sha256sum -c` returned `OK`.
---
## Scenario Map

View File

@@ -1,7 +1,7 @@
# V3 Phase 15 TestOps Plan
**Date**: 2026-05-03
**Status**: DRAFT v0.3; V3 `internal/testops` contract skeleton implemented; first registered `go-test` scenario executable at `f51b79b`
**Status**: DRAFT v0.4; V3 `internal/testops` contract skeleton implemented; `g15b-manifest` executable at `f51b79b`; first K8s shell scenario registered at `7050654`
**Scope**: end-to-end V3 test operations covering dev loop, gate close, regression, debug, hardware, K8s, chaos
**Code repo**: `seaweed_block` (V3 binaries / per-package go test)
**Docs repo**: `seaweedfs/sw-block/design/test/`
@@ -109,6 +109,9 @@ Implementation note:
loads into the registry, executes the G15b manifest/harness `go test`, and
writes standard `run-request.json`, `result.json`, and `test-stdout.log`
artifacts.
- Slice 2 landed at `seaweed_block@7050654`: `testops/registry/g15b-k8s-static.json`
records the M02 K8s static PV scenario as a shell-driver registration pinned
to the green `95b7217` lab run.
### 3.1 Layout
@@ -392,7 +395,7 @@ Each scenario has: a driver in `bridge/scenarios/`, a test instruction in
| `g15a-privileged` | `g15a-privileged.sh` | `v3-phase-15-g15a-privileged-qa-test-instruction.md` | `ac49adb` | L3 |
| `g15a-non-privileged` | `g15a-non-privileged.sh` | `v3-phase-15-g15a-qa-test-instruction.md` | `ac49adb` | L2 |
| `g15b-manifest` | `go-test` via `testops/registry/g15b-manifest.json` | `v3-phase-15-g15b-k8s-qa-test-instruction.md` | `f51b79b` | L1/L2 |
| `g15b-k8s-static` | `g15b-k8s-static.sh` | `v3-phase-15-g15b-k8s-qa-test-instruction.md` | `5375add` | L5 |
| `g15b-k8s-static` | `shell` via `testops/registry/g15b-k8s-static.json` | `v3-phase-15-g15b-k8s-qa-test-instruction.md` | `7050654` | L5 |
| `g9g-l2` | `g9g-l2.sh` | `v3-phase-15-g9g-qa-test-instruction.md` | `7ed9ab2` | L2 |
| `g8-failover-l2` | `g8-failover-l2.sh` | (forward-carry: derive from G8 mini-plan §12) | `b320336` | L2 |
| `g7-recovery-3scenarios` | `g7-recovery.sh` | (existing: V:\share\g5-test\scenarios-g7.sh) | `d09fcc6` | L4 |

View File

@@ -221,7 +221,7 @@ The last rule is strict:
| Scenario | Driver | Layer | Known green | Status |
|---|---|---|---|---|
| `g15b-manifest` | `go-test` | L1/L2 | `eb13105` | registered and executable at `f51b79b` |
| `g15b-k8s-static` | `shell` | L5 | `5375add` preflight only; K8s run pending | ready to register as pending-lab |
| `g15b-k8s-static` | `shell` | L5 | `95b7217` | registered at `7050654`; M02 K8s static PV PASS |
| `g15a-privileged` | `shell` | L3 | `ac49adb` | ready to register |
| `g15a-non-privileged` | `go-test` | L2 | `ac49adb` | ready to register |
| `g9g-l2` | `go-test` | L2 | `7ed9ab2` | ready to register |
@@ -249,7 +249,9 @@ go test ./internal/testops ./cmd/blockcsi -count=1
The `internal/testops` suite includes the smoke that loads `g15b-manifest.json`, runs the registered scenario through `GoTestDriver`, and emits a valid `result.json` in a temp artifact dir.
Next slice: register `g15b-k8s-static` as a shell-driver scenario once the M02 rerun is green on the `eb13105+` manifest/harness fix.
Slice 2 result: `testops/registry/g15b-k8s-static.json` landed at `seaweed_block@7050654` after the M02 K8s lab passed on `95b7217`.
Next slice: register `g15a-privileged` as a shell-driver scenario, or pause TestOps registration and merge G15b if the branch needs to close first.
---

View File

@@ -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`; image build inputs added at `5375add`; M02 first run found DNS/harness blockers fixed at `eb13105`; M02 second run found `iscsi_tcp` + primary/listener alignment blockers fixed at `95b7217`; Kubernetes re-run pending
**Status**: G15b K8s static PV verified PASS on M02 at `95b7217`; TestOps shell registration landed at `7050654`
**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,7 +162,7 @@ Result: PASS on `62325c9`.
### G15b-2 — K8s Lab Harness
Status: **harness staged** at `seaweed_block@32b3a13`; image build inputs added at `seaweed_block@5375add`; DNS/logging fixes at `seaweed_block@eb13105`; iSCSI TCP module loading + deterministic attachable-primary bridge fix at `seaweed_block@95b7217`; real Kubernetes re-run pending.
Status: **verified PASS** on M02 at `seaweed_block@95b7217`; TestOps shell registration landed at `seaweed_block@7050654`.
Artifacts:
@@ -240,6 +240,14 @@ go test ./internal/testops ./core/host/master ./cmd/blockcsi -count=1
go test ./core/csi ./cmd/blockcsi ./core/host/volume ./core/host/master ./core/authority ./cmd/blockmaster ./cmd/blockvolume -count=1
```
Kubernetes lab evidence:
- Tree: `p15-g15b/k8s-static-pv@95b7217`
- Lab: M02 (`192.168.1.184`) k3s `v1.34.4+k3s1`
- Run ID: `20260503T172122Z-95b7217`
- Artifacts: `V:\share\g15b-k8s\runs\20260503T172122Z-95b7217\`
- Result: PASS; pod `sw-block-static-smoke` completed; pod wrote 4096 bytes and `sha256sum -c` returned `OK`; r1 log shows SCSI WRITE + SYNCHRONIZE_CACHE backend success; cleanup left no dangling test iSCSI session.
Image build verification added at `5375add`:
```bash
@@ -248,7 +256,7 @@ bash scripts/build-g15b-images.sh .
Result: PASS; built `sw-block:local` and `sw-block-csi:local`.
Not yet proven:
Proven by the M02 run:
- Kubernetes API server availability;
- image load path into the target cluster after rebuilding at `95b7217`;