From e7e81f30d8a6054e142cf7c77459532247a644d2 Mon Sep 17 00:00:00 2001 From: Vincenzo Maffione Date: Tue, 8 May 2018 11:32:19 +0200 Subject: elements: Experiment: add missing dt_strategy argument --- rumba/elements/experimentation.py | 13 +++++++++---- rumba/prototypes/ouroboros.py | 7 +++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/rumba/elements/experimentation.py b/rumba/elements/experimentation.py index 990f285..9890975 100644 --- a/rumba/elements/experimentation.py +++ b/rumba/elements/experimentation.py @@ -116,7 +116,8 @@ class Experiment(object): git_branch=None, log_dir=None, prototype_logs=None, - enrollment_strategy='minimal'): + enrollment_strategy='minimal', + dt_strategy='full-mesh'): """ :param testbed: The testbed of the experiment. :param nodes: The list of nodes in the experiment. @@ -125,6 +126,7 @@ class Experiment(object): :param log_dir: Where to log output of the experiment. :param prototype_logs: Where the prototype logs its output. :param enrollment_strategy: Can be 'full-mesh', 'minimal' or 'manual'. + :param dt_strategy: For data flows, 'full-mesh', 'minimal' or 'manual'. """ if nodes is None: nodes = list() @@ -136,8 +138,8 @@ class Experiment(object): # the different DIFs self.enrollment_strategy = enrollment_strategy # 'full-mesh', 'manual' # the strategy employed for setting up the data transfer - # networks in the DIFs after enrollment - self.dt_strategy = 'full-mesh' # 'minimal', 'manual' + # network in the DIFs after enrollment + self.dt_strategy = dt_strategy self.dif_ordering = [] self.enrollments = [] # a list of per-DIF lists of enrollments self.dt_flows = [] # a list of per-DIF lists of data transfer flows @@ -145,7 +147,10 @@ class Experiment(object): if self.enrollment_strategy not in ['full-mesh', 'minimal', 'manual']: raise Exception('Unknown enrollment strategy "%s"' - % enrollment_strategy) + % self.enrollment_strategy) + if self.dt_strategy not in ['full-mesh', 'minimal', 'manual']: + raise Exception('Unknown dt strategy "%s"' + % self.dt_strategy) # Determine log directory if log_dir is None: diff --git a/rumba/prototypes/ouroboros.py b/rumba/prototypes/ouroboros.py index f415160..016183e 100644 --- a/rumba/prototypes/ouroboros.py +++ b/rumba/prototypes/ouroboros.py @@ -44,7 +44,8 @@ class Experiment(mod.Experiment): """ def __init__(self, testbed, nodes=None, git_repo='git://ouroboros.ilabt.imec.be/ouroboros', - git_branch='master', enrollment_strategy='minimal'): + git_branch='master', enrollment_strategy='minimal', + dt_strategy='full-mesh'): """ Initializes the experiment class. @@ -53,9 +54,11 @@ class Experiment(mod.Experiment): :param git_repo: The git repository to use for installation. :param git_branch: The branch of the git repository to use. :param enrollment_strategy: Can be 'full-mesh', 'minimal' or 'manual'. + :param dt_strategy: For data flows, 'full-mesh', 'minimal' or 'manual'. """ mod.Experiment.__init__(self, testbed, nodes, git_repo, git_branch, - enrollment_strategy=enrollment_strategy) + enrollment_strategy=enrollment_strategy, + dt_strategy=dt_strategy) self.r_ipcps = dict() self.set_startup_command("irmd") -- cgit v1.2.3