aboutsummaryrefslogtreecommitdiff
path: root/ouroboros_support.py
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@intec.ugent.be>2017-02-03 16:54:48 +0100
committerSander Vrijders <sander.vrijders@intec.ugent.be>2017-02-03 16:54:48 +0100
commit47d65005256166cdeb795debbce327fcbf155c48 (patch)
treecda3f13a3d98a057a319dde3e2fc8afbde7d1a14 /ouroboros_support.py
parenta79578988cb2bc7e08a516aca93a3816d996072d (diff)
downloadrumba-47d65005256166cdeb795debbce327fcbf155c48.tar.gz
rumba-47d65005256166cdeb795debbce327fcbf155c48.zip
rhumba: Add Ouroboros commands and SSH helpers
This adds initial support for Ouroboros. It installs and sets up the stack, and binds ap names to names. It also moves the SSH helper functions to common ground, so that every file can use them.
Diffstat (limited to 'ouroboros_support.py')
-rw-r--r--ouroboros_support.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/ouroboros_support.py b/ouroboros_support.py
new file mode 100644
index 0000000..061c097
--- /dev/null
+++ b/ouroboros_support.py
@@ -0,0 +1,42 @@
+#
+# Commands to instruct Ouroboros
+#
+# Sander Vrijders <sander.vrijders@intec.ugent.be>
+#
+# 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
+
+def setup_ouroboros(testbed, nodes):
+ cmds = list()
+
+ cmds.append("sudo apt-get update")
+ cmds.append("sudo apt-get install cmake protobuf-c-compiler git --yes")
+ cmds.append("sudo rm -r ~/ouroboros/build")
+ cmds.append("cd ~/ouroboros; sudo ./install_release.sh")
+ cmds.append("sudo nohup irmd > /dev/null &")
+
+ for node in nodes:
+ ssh.execute_commands(testbed, node.full_name, cmds, time_out = None)
+ return
+
+def bind_names(testbed, nodes):
+ for node in nodes:
+ cmds = list()
+ for name, ap in node.bindings.items():
+ cmds.append("irm b ap " + ap + " n " + name)
+
+ ssh.execute_commands(testbed, node.full_name, cmds, time_out = None)