The testbed is operated by a set of small HTTP services (aggregate managers) that own the hardware: imaging, power, addressing, inventory, scheduling. The omf tools and the orchestration framework are clients of these services — as an experimenter you normally never call them directly, but knowing they exist helps you understand what the tools are doing (and error messages that mention them).
Consoles discover services through an aggregate-manager proxy: am-rt1.cosmos-lab.org:5054 for the New Jersey (ORBIT-side) domains, am-crf.cosmos-lab.org:5054 for the NYC domains. All service URLs below go through the proxy.
| Service | What it owns |
|---|---|
| inventory | Per-node attributes: MACs, disks, chassis-manager info, radio capabilities — what omf (and experiment resolution) knows about each node |
| scheduler | The reservation calendar and the auto-approval / fairness engine behind the portal Scheduler |
| cmc (chassis management) | Power control — omf tell lands here; per-node chassis managers (IPMI, PDU, PoE) do the switching |
| pxe | Network-boot setup used during imaging |
| frisbee | Multicast disk-image distribution — omf load's transport |
| saveimage | Receives disk images — omf save's counterpart |
| cmonitor | Console monitoring and login auditing |
| account-mgmt | Registration, activation and approval lifecycle behind the portal |
| rf-control / rf-switch / rfmatrix / xy-table | Domain-specific instruments: programmable attenuation, RF switching, antenna positioning |
curl -s "http://am-rt1.cosmos-lab.org:5054/inventory/attribute_list?set=node1-1.grid.cosmos-lab.org"
returns every attribute the testbed holds for that node (control MAC/IP, default disk, chassis manager, radio capability flags). This is the same data experiment resolution uses to decide whether a description can run on a domain.
All services expose Prometheus metrics at /metrics; service health is aggregated on the portal Status page.
Detailed per-service API notes (operators): see the pages under Reference → services.