From 4a1221b5e20122717302d6518a057e5601936b08 Mon Sep 17 00:00:00 2001 From: Vincenzo Maffione Date: Mon, 6 Feb 2017 18:40:18 +0100 Subject: move IRATIExperiment class in its own file --- example.py | 1 + irati_support.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ rhumba.py | 12 ------------ 3 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 irati_support.py diff --git a/example.py b/example.py index 3c437c0..076bcc6 100644 --- a/example.py +++ b/example.py @@ -5,6 +5,7 @@ from rhumba import * import ouroboros_support as our import rlite_support as rl +import irati_support as irati n1 = NormalDIF("n1", policies = {"rmt.pff": "lfa", "security-manager": "passwd"}) diff --git a/irati_support.py b/irati_support.py new file mode 100644 index 0000000..0432e29 --- /dev/null +++ b/irati_support.py @@ -0,0 +1,55 @@ +# +# Commands to setup and instruct rlite +# +# Vincenzo Maffione +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +import ssh_support as ssh +import rhumba + + +# An experiment over the IRATI implementation +class IRATIExperiment(rhumba.Experiment): + def __init__(self, testbed, nodes = list()): + rhumba.Experiment.__init__(self, testbed, nodes) + + def run(self): + print("[IRATI experiment] start") + self.realize() + print("[IRATI experiment] end") + + def setup(self): + cmds = list() + + cmds.append("sudo apt-get update") + cmds.append("sudo apt-get install g++ gcc " + "protobuf-compiler libprotobuf-dev git --yes") + cmds.append("sudo rm -rf ~/irati") + cmds.append("cd ~; git clone https://github.com/IRATI/stack") + cmds.append("sudo ./install-from-scratch") + cmds.append("sudo ipcm &> ipcm.log &") + + for node in self.nodes: + ssh.execute_commands(self.testbed, node.full_name, cmds, time_out = None) + + def run(self): + print("[RLITE experiment] start") + self.realize() + print("Setting up IRATI on the nodes...") + self.setup() + print("[RLITE experiment] end") + diff --git a/rhumba.py b/rhumba.py index 5688861..195bf15 100755 --- a/rhumba.py +++ b/rhumba.py @@ -301,15 +301,3 @@ class Experiment: def run(self): raise Exception('run() method not implemented') - -# An experiment over the IRATI implementation -class IRATIExperiment(Experiment): - def __init__(self, testbed, nodes = list()): - Experiment.__init__(self, testbed, nodes) - - def run(self): - print("[IRATI experiment] start") - self.realize() - print("[IRATI experiment] end") - - -- cgit v1.2.3