mrg-iot exp
The exp group owns the whole experiment lifecycle. Its verbs pair up: create/delete, deploy/undeploy, and setup/teardown for both halves at once.

The lifecycle
An experiment moves through four states, which exp status reports:
created → realized → materialized → deployed
| Step | Resource | Command that does just this step |
|---|---|---|
| Create the experiment and its network model | experiment | exp create |
| Allocate the hardware | realization | exp rz create |
| Bring the hardware online | materialization | exp mtz create |
| Create a container to connect through | XDC | exp xdc create |
| Attach the XDC to the materialization | XDC | exp xdc attach |
deployed is the state you can send commands in. exp deploy runs steps 2–5, exp setup runs all five, and exp undeploy / exp teardown reverse them.
Naming the experiment
The exp verbs take the experiment name as a positional NAME or as --name/-n; every other group takes --experiment/-e. Either way it defaults to your username.
--devices is greedy, so give NAME before it: exp create myexp -d d1 d2, not exp create -d d1 d2 myexp.
Defaults
| Argument | Default |
|---|---|
--project, -p | Your only project. Required when you have several. |
NAME / --name, -n | Your username. |
--devices, -d | No default. Required by exp create, exp setup, and exp rz create. |
--xdc, -x | <experiment>xdc |
--realization, -r | realiot |
--duration, -dur / --xdc-duration, -xdur | 1w (minimum 4d) |
--network, -net | mrg-iot-net |
--description, -desc | Experiment created with mrg-iot by <username> |
Names you choose (experiment, realization, XDC, network) must match ^[a-z][a-z0-9]*$: a lowercase letter first, then lowercase letters and digits only, max 32 characters. Device names like s-echodot-1 are exempt.
Durations must be at least 4 days: 1w, 4d, 1w2d3h, and 1 week are accepted. Descriptions may contain letters, digits, spaces, commas, periods, and hyphens, up to 256 characters.
Expiry notices go out 3 days before an XDC expires and 1 day before a realization expires.
Commands
| Command | What it does |
|---|---|
exp list | List experiments. |
exp status | Created, realized, materialized, or deployed. |
exp create | Create an experiment and its model; nothing allocated. |
exp setup | Create and deploy in one command. |
exp deploy | Allocate a created experiment. |
exp undeploy | Release the hardware, keep the experiment. |
exp teardown | Undeploy and delete the experiment. |
exp delete | Delete the experiment record only. |
exp realization | (rz) The hardware an experiment is placed on. |
exp materialization | (mtz) A realization brought online. |
exp xdc | The container a session connects through. |
Back to the full walkthrough: Using mrg-iot.