diff options
Diffstat (limited to 'rumba')
-rw-r--r-- | rumba/prototypes/ouroboros.py | 13 | ||||
-rw-r--r-- | rumba/testbeds/jfed.py | 11 |
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)) |