Sandbox Data Management System (DMS) Operators & Admins Manual
The ./tests/sandbox_dms directory provides a self-contained, containerized FermiHDI Data Management System (DMS) tailored for local development, testing, and benchmarking. It deploys the entire ecosystem securely, mimicking a production-like Data Plane and Control Plane without requiring external infrastructure.
The sandbox is also the reference deployment the installer is built from and checked against:
compose.ymlis every service with its full environment, andgenerate_certs_and_license.shis the clearest statement of the PKI an install needs.install/ADMIN_GUIDE.mdยง8 reads the two side by side, including where the sandbox is deliberately not production.
Architecture
The sandbox provisions the following components via Docker Compose: * DMS-Core: The central control plane component responsible for orchestrating HD instances. * DMS-CA: The internal Certificate Authority responsible for provisioning mutual TLS (mTLS) identities. * DMS-WebUX: The user interface for interacting with the cluster. * HD Proxy: The high-performance entry point evaluating PBAC policies via OPA. * Storage Cluster Controllers (SCC): Nodes managing horizontal data synchronization across Storage Nodes. * Storage Nodes (SN): The data layer managing NVMe/file-backed Data Plane retrieval.
Networking Rules
The sandbox strictly enforces FermiHDI network segmentation: * 6985: Internal DMS Plane (DMS-Core <-> DMS-CA, WebUX) * 6986: Control Plane (HTTPS mTLS) for queries and orchestration. * 6987: Data Plane (FHDWP) for unidirectional, high-speed query response. * 6988: Auxiliary Network (NORM Multicast) * 6989: DNS CA Network * 8080: Observability (Prometheus Metrics & Health)
All containers are completely isolated on an internal bridge network (isolated_network), avoiding host port conflicts unless explicitly mapped.
Operating the Sandbox
Bootstrapping
To start the Sandbox in an automated manner:
cd ./tests/sandbox_dms
./start_sandbox.sh
docker compose up -d.
Customizing Configuration
Administrators can modify the deployment via environment overrides.
* CPU Set Pinning: Edit the docker-compose.yml to define explicit CPU affinities for high-throughput testing:
cpuset: "0-3" # Pin SCC to first 4 logical cores
FERMIHDI_DATASET_SCHEMA_FILE.
Diagnostics & Troubleshooting
- Validating Logs:
docker compose -f ./tests/sandbox_dms/docker-compose.yml logs -f dms-core - Checking Data Plane Connectivity: Ensure port 6987 is accessible natively if querying from outside the isolated bridge network.
- Verifying Observability: Navigate to
http://localhost:8080/metricson any given node container.
Shutdown & Cleanup
Always ensure proper teardown to release isolated networks:
cd ./tests/sandbox_dms
docker compose down -v --remove-orphans
docker rm -f $(docker ps -aq).