From 788589ae595d7a757209556ae2ca4a789db0929d Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Tue, 2 Apr 2019 15:57:15 +0200 Subject: experiment: Add build_options and add_packages This adds parameters build_options and add_packages that allows passing additional packages to install and a string of flags that can be processed by the prototypes. In the case of the Ouroboros prototype, it passes CMake build options. --- rumba/prototypes/ouroboros.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'rumba/prototypes/ouroboros.py') diff --git a/rumba/prototypes/ouroboros.py b/rumba/prototypes/ouroboros.py index 31e8571..b73e4b4 100644 --- a/rumba/prototypes/ouroboros.py +++ b/rumba/prototypes/ouroboros.py @@ -91,8 +91,10 @@ class Experiment(mod.Experiment): def __init__(self, testbed, nodes=None, - git_repo='git://ouroboros.rocks/ouroboros', + git_repo='https://ouroboros.rocks/git/ouroboros', git_branch='master', + build_options='', + add_packages=[], enrollment_strategy='minimal', flows_strategy='full-mesh'): """ @@ -102,6 +104,8 @@ class Experiment(mod.Experiment): :param nodes: The list of nodes. :param git_repo: The git repository to use for installation. :param git_branch: The branch of the git repository to use. + :param build_options: Options for CMake building + :param add_packages: Additional packages to be installed. :param enrollment_strategy: Can be 'full-mesh', 'minimal' or 'manual'. :param strategy: For flows, 'full-mesh', 'minimal' or 'manual'. """ @@ -111,6 +115,8 @@ class Experiment(mod.Experiment): nodes, git_repo, git_branch, + build_options, + add_packages, enrollment_strategy=enrollment_strategy, flows_strategy=flows_strategy, server_decorator=OurServer @@ -160,7 +166,7 @@ class Experiment(mod.Experiment): return packages = ["cmake", "protobuf-c-compiler", "git", "libfuse-dev", - "libgcrypt20-dev", "libssl-dev"] + "libgcrypt20-dev", "libssl-dev"] + self.add_packages fs_loc = '/tmp/prototype' @@ -169,7 +175,7 @@ class Experiment(mod.Experiment): "git clone -b " + self.git_branch + " " + self.git_repo + \ " " + fs_loc, "cd " + fs_loc + " && mkdir build && cd build && " + - "cmake .. && " + + "cmake " + self.build_options + " .. && " + "sudo make install -j$(nproc)"] names = [] -- cgit v1.2.3