aboutsummaryrefslogtreecommitdiff
path: root/rumba
diff options
context:
space:
mode:
Diffstat (limited to 'rumba')
-rw-r--r--rumba/prototypes/ouroboros.py13
-rw-r--r--rumba/testbeds/jfed.py11
2 files changed, 19 insertions, 5 deletions
diff --git a/rumba/prototypes/ouroboros.py b/rumba/prototypes/ouroboros.py
index 17a91df..653c486 100644
--- a/rumba/prototypes/ouroboros.py
+++ b/rumba/prototypes/ouroboros.py
@@ -39,6 +39,7 @@ logger = log.get_logger(__name__)
class Experiment(mod.Experiment):
def __init__(self, testbed, nodes=None):
mod.Experiment.__init__(self, testbed, nodes)
+ self.r_ipcps = dict()
@staticmethod
def make_executor(node, packages, testbed):
@@ -117,8 +118,8 @@ class Experiment(mod.Experiment):
continue
cmds.append(cmd)
- for cmd in cmds2:
- cmds.append(cmd)
+ # Postpone registrations
+ self.r_ipcps[ipcp] = cmds2
ssh.execute_commands(self.testbed, node.ssh_config, cmds,
time_out=None)
@@ -127,6 +128,14 @@ class Experiment(mod.Experiment):
for e in el:
ipcp = e['enrollee']
cmds = list()
+
+ # Execute postponed registration
+ if e['enroller'] in self.r_ipcps:
+ ssh.execute_commands(self.testbed,
+ e['enroller'].node.ssh_config,
+ self.r_ipcps[e['enroller']], time_out=None)
+ self.r_ipcps.pop(e['enroller'], None)
+
cmd = "irm r n " + ipcp.name
for dif_b in e['enrollee'].node.dif_registrations[ipcp.dif]:
cmd += " layer " + dif_b.name
diff --git a/rumba/testbeds/jfed.py b/rumba/testbeds/jfed.py
index 94a06e5..5fdde99 100644
--- a/rumba/testbeds/jfed.py
+++ b/rumba/testbeds/jfed.py
@@ -269,6 +269,11 @@ class Testbed(mod.Testbed):
node_n.ssh_config,
"sudo locale-gen en_US.UTF-8 || true")
+ ssh_support.execute_command(
+ self,
+ node_n.ssh_config,
+ "sudo touch /var/lib/cloud/instance/locale-check.skip || true")
+
for intf in intfs:
aux_mac_address = intf.getAttribute("mac_address")
@@ -300,9 +305,9 @@ class Testbed(mod.Testbed):
if self.if_id[ipcp] == i_name:
ipcp.ifname = ifname
if ifname is None or ifname == "":
- logger.error("Could not determine name of node"
- "%s interface %s"
- % (node_n.name, mac))
+ raise Exception("Could not determine name of "
+ "node %s interface %s"
+ % (node_n.name, mac))
else:
logger.debug("Node %s interface %s has name %s."
% (node_n.name, mac, ifname))