Package: iotlabcli
IoT-Lab cli-toolsIoT-LAB cli-tools provide a basic set of operations for managing IoT-LAB
experiments from the command-line.LicenseIoT-LAB cli-tools, including all examples, code snippets and attached
documentation is covered by the CeCILL v2.1 free software licence.CommandsIoT-LAB cli-tools are available through a shared entrypoint,iotlab,
Many subcommands are available:CommandFunctionsiotlab authconfigure account credentialsiotlab experimentstart, stop, query experimentsiotlab nodestart, stop, reset nodes, update firmwaresiotlab profilemanage nodes configurationsiotlab robotmanage robot nodesiotlab statusmanage informations about testbed sites, nodes and running experimentsOptional commands:WhenIoT-Lab SSH CLI Toolsis installed:iotlab sshrun commands on A8 open nodes through SSHWhenIoT-Lab OML plot Toolsis installed:iotlab plot trajplot robot trajectoryiotlab plot consumplot node consumptioniotlab plot radioplot node sniffer resultsWhenIoT-Lab Aggregation Toolsis installed:iotlab serialaggregate node serial linkiotlab snifferaggregate node sniffer linkCommands are self-documented, and usually have sub-commands which are
also self-documented. Use e.g:iotlab-node --help
iotlab-profile add --helpDescriptionThe cli-tools leverage the IoT-LABREST APIand simply wrap calls to
moduleiotlabcli, which is a Python client for the API.The cli-tools come as an installable Python package and require that
modulesetuptoolsbe installed before tools installation can happen.
Please grab the relevant python-setuptools package for your
distribution.To install cli-tools from Pypi, usepip install iotlabcli.To install cli-tools from source, usepip install--user.orpython setup.py installInstalling cli-tools automatically fetches additional dependencies as
needed.Further documentation:https://github.com/iot-lab/iot-lab/wiki/CLI-ToolsChangelog3.2.1Fix bug when load an experiment with only mandatory attributes setSwitch the CI to Github Actions3.2.0add SSH key management from iotlab-auth3.1.1fix URL used with update-profile command3.1.0Add –cancel-on-timeout flag with experiment wait subcommand3.0.0Migrate the new IoT-LAB REST API (https://api.iot-lab.info)Add iotlab-status commandAdd support for flashing firmware in raw format with .bin extensionRemove the iotlab-admin command2.6.0Manage duplicated firmware name at experiment submissionAdd iotlab subcommands (experiment, node, profile, …)Add autocompletion script2.5.4Replace remaining occurences of-cli with iotlab-in commands helpUse new command names in integration tests2.5.3Replace remaining occurences of-cli with iotlab-2.5.2Revert 2.5.12.5.1Fixing python 3 required version in setup.py2.5.0Drop python 2.6 supportFixing issues raised by pylint 1.8Deprecate-cli commands and add new iotlab-commands2.4.2BugsFix load experiment with mobilities or profiles associations.2.4.1FeaturesRemovearchinames validation in AliasNodes associationInternalFixing pylint2.4.0FeaturesAddscriptexecution management at submit and during experimentAdd nodeupdate-idlecommand to update firmware with an idle
firmware.Add nodeprofile-loadcommand to update profile from a JSON.Add nodeprofile-resetcommand to update profile with the default
one.Allow restricting output by archi and state inexperiment-cliinfoAllow restricting by archi forprofile-cligetAllow providing-lmultiples times forexperiment-cliloadRemove parserarchinames validation, prepare for adding new
ones.Add dedicated help commands for--listand--site-associationoptionsUpdate for PypiREADME and CHANGELOG toreStructuredTextSetlong_descriptioninsetup.pyInternalRefactoringassociationsmanagementReduce maximum McCabe complexity to 42.3.0.post1Same as 2.3.0 but rebased on master branch.2.3.0FeaturesAdd a ‘get –experiments’ command to get a summary of active
experiments ids.Add support toreloadexperiment by ‘id’ (as on the website)Add anadmin-cliscript with a command to wait for any user
experimentRequired forrunscript: allows waiting for an user experiment
withoutauth-clihaving been run on the server.InternalFixing docstringsRefactoring internal code and tests2.0.0Backward incompatible changesrobot-cli:--statuscommand replaced bystatusprofile-cli: remove support for mobility in profiles (remove from the
api)FeaturesNew architectures: add support for ‘custom’ and ‘des’ nodesexperiment-cli submit: add named arguments and associations support:--list grenoble,m3,1,tutorial.elf,consumption
# equivalent to --list
grenoble,m3,1,profile=consumption,firmware=tutorial.elf

# Specifying robot mobility to 'Jhall'
--list grenoble,m3,381,mobility=Jhallrobot-cli: add new commandsstatus: get robot status get –list: list user mobilities get –name
NAME,SITE: get given mobility JSON update NAME,SITE: update robots
with given mobilityrest: add commands to download map and configuration (for
oml-plot-tools)2.1.0: Add a context manager for missing auth-cli2.2.0: Add ‘custom’ nodes profile creation in profile-cli2.2.1: Officially support python3.5, fix broken test and cleanup
tox.ini1.8.0FeaturesAdd--jmespathand--formatoptions to handle json output1.8.1: Fix pylint 1.5.0 new warnings1.7.0FeaturesAdd ‘debug-start’ and ‘debug-stop’ commandsBugsFix how home directory is found.Force ‘mock’ version to stay compatible with python2.6Fix integration ‘tox’ command to have a correct coverage output.1.7.1: Add dependency on ‘urllib3[secure]’ to fix ssl connections
security1.7.2: Catch BrokenPipe errors when printing results1.6.0Setting the license to CeCILL v2.1FeaturesAdd anupdate-profilecommand to node-cli to change monitoring
profileAdd arobot-cliscript to interract with the robot. Provides a--statusto query the robot internal status.Move experiment node selection toparser.common.. May break
external softwares using internal api.BugsRestrict flake8 version due to pep8 incompatibilityCorrectauth_parsertest that tried external connections1.5.0Features‘sniffer’ option in profile m3/a8‘profile-cli’ commands now return a json dictNicely catch rest HTTPError for Access Denied 401Check credentials for auth-cli with the serverBugsFix load profileUnicode management in python3Help messagesPython3 crash without command for exp-cli1.5.1: Add ‘experiment-cli get –start-time’ command1.5.2: BUG: Add dependency onrequest >= 2.4.2for ‘json’ upload
parameter1.5.3: Move test dependencies totests_require1.5.4: Catch ‘request’ exception for old version and raise as
RuntimeError1.5.5: Custom api url file has now priority over env variable. Print
when using alternate api url.1.5.6: Cleanup setup.py and tests1.4.01.4.1: BUG Force pylint dependency for python2.6