enos-iotlab: The provider for IoT-LAB testbed
Implements the initial support for running tests on the FIT/IoT-LAB platform.
Documentation available at: docs/tuotrials/iotlab.rst. 5 examples are available:
- Getting started: simple tutorial to use the testbed
- A8 basic: running linux commands on A8 nodes
- M3 consumption: enabling monitoring profile for M3 consumption.
- M3 radio monitoring: profile for monitoring radio communications among M3 nodes
- M3 radio sniffing: monitoring profile which collects packets in pcap format.
This initial support includes:
- Reserving nodes on the platform: either by giving their full address (e.g. m3-1.grenoble.iot-lab.info) or by architecture/site (e.g. m3/grenoble).
- Running commands on A8 nodes (linux based) using the same ansible infrastructure (run_command, play_on)
- Deploying images on sensors (M3 nodes)
- Stop/Start/Reset sensors (M3 nodes)
- Interact (read/write) with interface serial of sensors OR log to a file the output from the serial.
- Creating monitoring/sniffer profiles
- Create new monitoring profiles
- Associate to nodes in the platform
- Collect experiment data from the frontend to a tar.gz file.
Depends on 3 new packages:
- iotlabcli: for interacting with the REST API of the platform
- iotlabsshcli: by now, used for waiting A8 nodes to boot properly
- sshtunnel: to create a tunnel between user's machine and the M3 serial interfaces. Avoid needing to connect to the frontend to run the experiments.