diff options
-rw-r--r-- | example.py | 1 | ||||
-rw-r--r-- | irati_support.py | 55 | ||||
-rwxr-xr-x | rhumba.py | 12 |
3 files changed, 56 insertions, 12 deletions
@@ -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 <[email protected]> +# +# 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") + @@ -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") - - |