aboutsummaryrefslogtreecommitdiff
path: root/rumba/prototypes/ouroboros.py
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2017-09-12 10:22:08 +0200
committerSander Vrijders <sander.vrijders@ugent.be>2017-09-12 10:22:08 +0200
commit6d11410513a7e3de447d509af34984a681e2e68f (patch)
treeb52db9f8f5265fd7cbe126306db5f41482b782c0 /rumba/prototypes/ouroboros.py
parent715292ba092ea12c1fdad8a369608e348bec26ce (diff)
downloadrumba-6d11410513a7e3de447d509af34984a681e2e68f.tar.gz
rumba-6d11410513a7e3de447d509af34984a681e2e68f.zip
model: Perform split between different flows
This performs a split between enrollment, data transfer and management flows.
Diffstat (limited to 'rumba/prototypes/ouroboros.py')
-rw-r--r--rumba/prototypes/ouroboros.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/rumba/prototypes/ouroboros.py b/rumba/prototypes/ouroboros.py
index afc80d3..49323c5 100644
--- a/rumba/prototypes/ouroboros.py
+++ b/rumba/prototypes/ouroboros.py
@@ -124,7 +124,23 @@ class Experiment(mod.Experiment):
ssh.execute_commands(self.testbed,
e['enrollee'].node.ssh_config,
cmds, time_out=None)
- time.sleep(2)
+
+ def setup_flows(self, flows):
+ for el in flows:
+ for e in el:
+ ipcp = e['src']
+ if flows == self.mgmt_flows:
+ comp = 'mgmt'
+ elif flows == self.dt_flows:
+ comp = 'dt'
+ else:
+ assert(False)
+
+ cmd = "irm i conn n " + ipcp.name + " comp " + \
+ comp + " dst " + e['dst'].name
+ ssh.execute_command(self.testbed,
+ ipcp.node.ssh_config,
+ cmd, time_out=None)
def install_prototype(self):
logger.info("Installing Ouroboros...")
@@ -138,4 +154,8 @@ class Experiment(mod.Experiment):
self.create_ipcps()
logger.info("Enrolling IPCPs...")
self.enroll_ipcps()
+ logger.info("Setting up management flows...")
+ self.setup_flows(self.mgmt_flows)
+ logger.info("Setting up data transfer flows...")
+ self.setup_flows(self.dt_flows)
logger.info("All done, have fun!")