drakkar-lig / drakkar-lig/walt-python-packages
Experiment management features
Open
Nobody has claimed this yet.
enhancement
- Dominant language
- Python
- Stars
- 7
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
WalT should provide easier and more reproducible means to manage a whole experiment.
This could rely on the following features:
- An API should be provided (e.g. a python api), allowing to write experiment scripts in an easier manner compared to the current practice (bash script with walt client commands).
- An experiment could be defined by a walt image deployed on a virtual node. This walt image would be equipped with the API described above, and automated experiment startup tooling. This virtual node would be considered the
experiment-manager(just calledmanagerbelow for simplicity) and would possibly create other virtual nodes, make them boot walt images, retrieve logs, etc. Note: this implies that the API should be made available tomanagernodes too (not only to walt users). We (the WALT project) would obviously provide a base image formanagernodes, which would automate a basic experiment. If needed, we may add a docker label to these images to recognize them. - This could be partly hidden behind a new category of sub-commands to the walt command:
walt experiment <sub-command>. For instance,walt experiment create <exp-name>could clone our base image formanagernodes and name it<exp-name>-manager, create themanagernode and let it boot this image.walt experiment shell <exp-name>would be a shortcut towalt image shell <exp-name>-manager. Unless modification is cancelled, themanagernode would be rebooted to reflect these changes (this is already the effect of walt image shell, but printed messages might need adaptation).walt experiment run <exp-name> <num-runs>would request themanagernode to run the experiment<num-runs>times. And so on. We may need to add checks in other commands to ensure everything is OK (for instance disallow to usewalt node bootwith amanagerimage, since WALT manages themanagernode itself and must ensure its uniqueness). We may also redirect user towalt experiment <sub-command>in some cases (e.g. when the user trieswalt image shelldirectly on amanagerimage); or we may hide these special images from other commands; however we would probably need to have themanagernodes displayed and usable by most walt node sub-commands (exceptboot).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by mapping the existing walt image, node, and client command entry points and how experiment scripts currently invoke them. A complete design would need defined API and manager-image behavior, command boundaries, node lifecycle rules, and acceptance tests for the proposed workflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- cli, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100