Skip to content

Commit 930513f

Browse files
dev(tools): add script to install local dependencies for experiment orchestrators
experiment_run_e2e.py and experiment_run_clickhouse.py had no documented or scripted way to install the Python packages they need to run locally (hydra-core, omegaconf, Jinja2, PyYAML). Fixes #399 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent a7c12a2 commit 930513f

3 files changed

Lines changed: 24 additions & 0 deletions

File tree

asap-tools/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ A framework for running end-to-end distributed systems experiments on CloudLab,
1212
- Ubuntu
1313
- Python 3.8+
1414
- Local clone of `ASAPQuery` repo (at `$REPO_ROOT`)
15+
- Dependencies for running the experiment orchestrators (`experiment_run_e2e.py`, `experiment_run_clickhouse.py`, etc.):
16+
```bash
17+
cd $REPO_ROOT/asap-tools/experiments
18+
./setup_dependencies.sh
19+
```
1520

1621
- **CloudLab:**
1722
- Active experiment with N nodes
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
hydra-core==1.3.2
2+
omegaconf==2.3.0
3+
Jinja2==3.1.2
4+
PyYAML==6.0.2
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
# Installs the dependencies needed to run the experiment orchestrators
4+
# (experiment_run_e2e.py, experiment_run_clickhouse.py, etc.) from the local
5+
# machine. These scripts only drive remote CloudLab nodes over ssh/rsync; all
6+
# component installation on the nodes themselves is handled by
7+
# asap-tools/deploy_from_scratch.sh.
8+
9+
set -e
10+
11+
THIS_DIR=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
12+
13+
sudo apt-get update
14+
sudo apt-get install -y python3-pip rsync openssh-client
15+
pip3 install --user -r "${THIS_DIR}/requirements.txt"

0 commit comments

Comments
 (0)