From 4bfc9fee5365f2a1aa13c8f8669e2fa3e6264b92 Mon Sep 17 00:00:00 2001 From: Vincenzo Maffione Date: Mon, 6 Feb 2017 18:24:50 +0100 Subject: move OuroborosExperiment class in its own file --- ouroboros_support.py | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) (limited to 'ouroboros_support.py') diff --git a/ouroboros_support.py b/ouroboros_support.py index 061c097..8631ad0 100644 --- a/ouroboros_support.py +++ b/ouroboros_support.py @@ -19,24 +19,42 @@ # MA 02110-1301 USA import ssh_support as ssh +import rhumba -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 &") +# An experiment over the Ouroboros implementation +class OuroborosExperiment(rhumba.Experiment): + def __init__(self, testbed, nodes = list()): + rhumba.Experiment.__init__(self, testbed, nodes) - 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: + def setup_ouroboros(self): 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) + 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 self.nodes: + ssh.execute_commands(self.testbed, node.full_name, cmds, time_out = None) + return + + def bind_names(self): + for node in self.nodes: + cmds = list() + for name, ap in node.bindings.items(): + cmds.append("irm b ap " + ap + " n " + name) + + ssh.execute_commands(self.testbed, node.full_name, cmds, time_out = None) + + def run(self): + print("[Ouroboros experiment] start") + print("Creating resources...") + self.realize() + print("Setting up Ouroboros...") + self.setup_ouroboros() + print("Binding names...") + self.bind_names() + print("[Ouroboros experiment] end") + -- cgit v1.2.3