photoncloud-monorepo/docs/testing.md
centra 795b8ad70c
Some checks failed
Nix CI / filter (push) Successful in 7s
Nix CI / gate () (push) Failing after 1s
Nix CI / gate (shared crates) (push) Has been skipped
Nix CI / build () (push) Has been skipped
Nix CI / ci-status (push) Failing after 1s
Add prebuilt system closure support for host rollouts
2026-03-30 13:54:14 +09:00

2.2 KiB

Testing

PhotonCloud treats VM-first validation as the canonical local proof path.

Canonical Validation

nix run ./nix/test-cluster#cluster -- fresh-smoke

This flow:

  • builds all six VM images on the host
  • boots the cluster in dependency order
  • validates control-plane, worker, gateway, storage, and fault-injection behavior
  • proves that deployer seeds scheduler-managed native services directly from declarative Nix cluster state

Publishable Checks

nix run ./nix/test-cluster#cluster -- fresh-smoke
nix run ./nix/test-cluster#cluster -- fresh-matrix
nix run ./nix/test-cluster#cluster -- fresh-bench-storage
nix build .#checks.x86_64-linux.deployer-vm-smoke

Use these three commands as the release-facing local proof set:

  • fresh-smoke: whole-cluster readiness, core behavior, and fault injection
  • fresh-matrix: composed service scenarios such as prismnet + flashdns + fiberlb and PrismNet-backed VM hosting bundles with plasmavmc + coronafs + lightningstor
  • fresh-bench-storage: CoronaFS local-vs-shared-volume throughput, cross-worker volume visibility, and LightningStor large/small-object throughput capture
  • deployer-vm-smoke: prebuilt NixOS system closure handoff into nix-agent, proving host rollout can activate a host-built target without guest-side compilation

Operational Commands

nix run ./nix/test-cluster#cluster -- status
nix run ./nix/test-cluster#cluster -- logs node01
nix run ./nix/test-cluster#cluster -- ssh node04
nix run ./nix/test-cluster#cluster -- matrix
nix run ./nix/test-cluster#cluster -- bench-storage
nix run ./nix/test-cluster#cluster -- fresh-matrix
nix run ./nix/test-cluster#cluster -- fresh-bench-storage
nix run ./nix/test-cluster#cluster -- stop
nix run ./nix/test-cluster#cluster -- clean

Validation Philosophy

  • package unit tests are useful but not sufficient
  • host-built VM clusters are the main integration signal
  • distributed storage and virtualization paths must be checked under failure, not only at steady state

Legacy Note

Older manual launch scripts under baremetal/vm-cluster are archived only for historical reference. They are not the release-validation path.