aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincenzo Maffione <v.maffione@gmail.com>2017-02-06 18:35:24 +0100
committerVincenzo Maffione <v.maffione@gmail.com>2017-02-06 18:35:24 +0100
commit05b7264c9834293d97637194a9c447a1da0fd9a8 (patch)
treea7f328e55bb41a194952efcde14baabdf3c54a38
parent4bfc9fee5365f2a1aa13c8f8669e2fa3e6264b92 (diff)
downloadrumba-05b7264c9834293d97637194a9c447a1da0fd9a8.tar.gz
rumba-05b7264c9834293d97637194a9c447a1da0fd9a8.zip
move RLITEExperiment class in its own file
-rw-r--r--example.py1
-rwxr-xr-xrhumba.py10
-rw-r--r--rlite_support.py51
3 files changed, 52 insertions, 10 deletions
diff --git a/example.py b/example.py
index aa45da5..3c437c0 100644
--- a/example.py
+++ b/example.py
@@ -4,6 +4,7 @@
from rhumba import *
import ouroboros_support as our
+import rlite_support as rl
n1 = NormalDIF("n1", policies = {"rmt.pff": "lfa",
"security-manager": "passwd"})
diff --git a/rhumba.py b/rhumba.py
index 1bd33a6..5688861 100755
--- a/rhumba.py
+++ b/rhumba.py
@@ -313,13 +313,3 @@ class IRATIExperiment(Experiment):
print("[IRATI experiment] end")
-# An experiment over the RLITE implementation
-class RLITEExperiment(Experiment):
- def __init__(self, testbed, nodes = list()):
- Experiment.__init__(self, testbed, nodes)
-
- def run(self):
- print("[RLITE experiment] start")
- self.realize()
- print("[RLITE experiment] end")
-
diff --git a/rlite_support.py b/rlite_support.py
new file mode 100644
index 0000000..f240fee
--- /dev/null
+++ b/rlite_support.py
@@ -0,0 +1,51 @@
+#
+# Commands to setup and instruct rlite
+#
+# Vincenzo Maffione <v.maffione@nextworks.it>
+#
+# 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 RLITE implementation
+class RLITEExperiment(rhumba.Experiment):
+ def __init__(self, testbed, nodes = list()):
+ rhumba.Experiment.__init__(self, testbed, nodes)
+
+ def setup(self):
+ cmds = list()
+
+ cmds.append("sudo apt-get update")
+ cmds.append("sudo apt-get install g++ gcc cmake "
+ "linux-headers-$(uname -r) "
+ "protobuf-compiler libprotobuf-dev git --yes")
+ cmds.append("sudo rm -rf ~/rlite")
+ cmds.append("cd ~; git clone https://github.com/vmaffione/rlite")
+ cmds.append("./configure && make && sudo make install")
+ cmds.append("sudo rlite-uipcps -v DBG -k 0 -U -A &> uipcp.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 rlite on the nodes...")
+ self.setup()
+ print("[RLITE experiment] end")
+