2.2 KiB
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
deployerseeds 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 injectionfresh-matrix: composed service scenarios such asprismnet + flashdns + fiberlband PrismNet-backed VM hosting bundles withplasmavmc + coronafs + lightningstorfresh-bench-storage: CoronaFS local-vs-shared-volume throughput, cross-worker volume visibility, and LightningStor large/small-object throughput capturedeployer-vm-smoke: prebuilt NixOS system closure handoff intonix-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.