aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2018-02-12 18:36:07 +0100
committerSander Vrijders <sander.vrijders@ugent.be>2018-02-13 09:17:47 +0100
commitf075b0b6f69f1bae3735eb8560b8f571c708aafd (patch)
tree22742b579ab98103d58aeed85a4135a1c41979d7
parent25bd117a9ce2bb4365743848d3c8742e3deb8afa (diff)
downloadrumba-f075b0b6f69f1bae3735eb8560b8f571c708aafd.tar.gz
rumba-f075b0b6f69f1bae3735eb8560b8f571c708aafd.zip
prototypes: Add option to choose git repo and branch
This adds two extra parameters to the Experiment class, so that users can specify their custom repositories and branches for testing new features.
-rw-r--r--rumba/model.py4
-rw-r--r--rumba/prototypes/irati.py8
-rw-r--r--rumba/prototypes/ouroboros.py16
-rw-r--r--rumba/prototypes/rlite.py8
4 files changed, 23 insertions, 13 deletions
diff --git a/rumba/model.py b/rumba/model.py
index 14b856a..b877209 100644
--- a/rumba/model.py
+++ b/rumba/model.py
@@ -526,10 +526,12 @@ class Policy(object):
class Experiment(object):
__metaclass__ = abc.ABCMeta
- def __init__(self, testbed, nodes=None):
+ def __init__(self, testbed, nodes=None, git_repo=None, git_branch=None):
if nodes is None:
nodes = list()
self.nodes = nodes
+ self.git_repo = git_repo
+ self.git_branch = git_branch
self.testbed = testbed
# the strategy employed for completing the enrollment phase in
# the different DIFs
diff --git a/rumba/prototypes/irati.py b/rumba/prototypes/irati.py
index e8da727..50b8d89 100644
--- a/rumba/prototypes/irati.py
+++ b/rumba/prototypes/irati.py
@@ -59,8 +59,10 @@ class Experiment(mod.Experiment):
def fake_sudo(s):
return s
- def __init__(self, testbed, nodes=None, installpath=None, varpath=None):
- mod.Experiment.__init__(self, testbed, nodes)
+ def __init__(self, testbed, nodes=None,
+ git_repo='https://github.com/IRATI/stack',
+ git_branch='arcfire', installpath=None, varpath=None):
+ mod.Experiment.__init__(self, testbed, nodes, git_repo, git_branch)
if installpath is None:
installpath = '/usr'
if varpath is None:
@@ -94,7 +96,7 @@ class Experiment(mod.Experiment):
"libprotobuf-dev", "git", "pkg-config", "libssl-dev"]
cmds = [self.sudo("rm -rf ~/stack"),
- "cd ~; git clone -b arcfire https://github.com/IRATI/stack",
+ "cd ~; git clone -b " + self.git_branch + " " + self.git_repo,
"cd ~/stack && "
+ self.sudo("./configure && ") + self.sudo("make install")]
names = []
diff --git a/rumba/prototypes/ouroboros.py b/rumba/prototypes/ouroboros.py
index 653c486..fd94f77 100644
--- a/rumba/prototypes/ouroboros.py
+++ b/rumba/prototypes/ouroboros.py
@@ -37,8 +37,10 @@ logger = log.get_logger(__name__)
# An experiment over the Ouroboros implementation
class Experiment(mod.Experiment):
- def __init__(self, testbed, nodes=None):
- mod.Experiment.__init__(self, testbed, nodes)
+ def __init__(self, testbed, nodes=None,
+ git_repo='git://ouroboros.ilabt.imec.be/ouroboros',
+ git_branch='master'):
+ mod.Experiment.__init__(self, testbed, nodes, git_repo, git_branch)
self.r_ipcps = dict()
@staticmethod
@@ -61,11 +63,13 @@ class Experiment(mod.Experiment):
packages = ["cmake", "protobuf-c-compiler", "git", "libfuse-dev",
"libgcrypt20-dev", "libssl-dev"]
+ fs_loc = '/tmp/prototype'
+
cmds = ["sudo apt-get install libprotobuf-c-dev --yes || true",
- "sudo rm -r ~/ouroboros || true",
- "git clone -b be git://ouroboros.ilabt.imec.be/ouroboros " +
- "~/ouroboros",
- "cd ~/ouroboros && mkdir build && cd build && " +
+ "sudo rm -r " + fs_loc + " || true",
+ "git clone -b " + self.git_branch + " " + self.git_repo + \
+ " " + fs_loc,
+ "cd " + fs_loc + " && mkdir build && cd build && " +
"cmake -DCMAKE_BUILD_TYPE=Debug -DCONNECT_TIMEOUT=60000 " + \
"-DREG_TIMEOUT=60000 -DQUERY_TIMEOUT=4000 .. && " + \
"sudo make install -j$(nproc)"]
diff --git a/rumba/prototypes/rlite.py b/rumba/prototypes/rlite.py
index d55b253..3268ef5 100644
--- a/rumba/prototypes/rlite.py
+++ b/rumba/prototypes/rlite.py
@@ -38,8 +38,10 @@ logger = log.get_logger(__name__)
# An experiment over the rlite implementation
class Experiment(mod.Experiment):
- def __init__(self, testbed, nodes=None):
- mod.Experiment.__init__(self, testbed, nodes)
+ def __init__(self, testbed, nodes=None,
+ git_repo='https://github.com/vmaffione/rlite',
+ git_branch='master'):
+ mod.Experiment.__init__(self, testbed, nodes, git_repo, git_branch)
@staticmethod
def make_executor(node, packages, testbed):
@@ -147,7 +149,7 @@ class Experiment(mod.Experiment):
"protobuf-compiler", "libprotobuf-dev", "git"]
cmds = ["rm -rf ~/rlite",
- "cd ~; git clone https://github.com/vmaffione/rlite",
+ "cd ~; git clone -b " + self.git_branch + " " + self.git_repo,
"cd ~/rlite && ./configure && make && sudo make install",
"cd ~/rlite && sudo make depmod"]