diff options
author | Marco Capitani <m.capitani@nextworks.it> | 2017-05-10 17:43:28 +0200 |
---|---|---|
committer | Marco Capitani <m.capitani@nextworks.it> | 2017-05-10 17:43:28 +0200 |
commit | 7bab86ff1683f32d739f1da9565f83bef5ff7e3b (patch) | |
tree | 3257830c593a4cc1a95ba4f987ff4f3978328b10 | |
parent | da965f80da37c2b775e1e62e469589a3be05da30 (diff) | |
download | rumba-7bab86ff1683f32d739f1da9565f83bef5ff7e3b.tar.gz rumba-7bab86ff1683f32d739f1da9565f83bef5ff7e3b.zip |
jfed-irati small fixes for compatibility
-rwxr-xr-x | rumba/prototypes/enroll.py | 8 | ||||
-rw-r--r-- | rumba/prototypes/irati.py | 21 | ||||
-rw-r--r-- | rumba/testbeds/jfed.py | 33 |
3 files changed, 44 insertions, 18 deletions
diff --git a/rumba/prototypes/enroll.py b/rumba/prototypes/enroll.py index 458736a..99b49a6 100755 --- a/rumba/prototypes/enroll.py +++ b/rumba/prototypes/enroll.py @@ -78,8 +78,8 @@ if connected: get_response(s) # Send the IPCP list command - cmd = 'list-ipcps\n' - s.sendall(bytes(cmd, 'ascii')) + cmd = u'list-ipcps\n' + s.sendall(cmd.encode('ascii')) # Get the list of IPCPs and parse it to look for the enroller ID print('Looking up identifier for IPCP %s' % args.enrollee_name) @@ -98,11 +98,11 @@ if connected: raise Exception() # Send the enroll command - cmd = 'enroll-to-dif %s %s %s %s 1\n' \ + cmd = u'enroll-to-dif %s %s %s %s 1\n' \ % (enrollee_id, args.dif, args.lower_dif, args.enroller_name) print(cmd) - s.sendall(bytes(cmd, 'ascii')) + s.sendall(cmd.encode('ascii')) # Get the enroll command answer lines = get_response(s) diff --git a/rumba/prototypes/irati.py b/rumba/prototypes/irati.py index b2f54d9..c630a94 100644 --- a/rumba/prototypes/irati.py +++ b/rumba/prototypes/irati.py @@ -21,8 +21,6 @@ import copy import json -import subprocess - import os import time @@ -69,14 +67,17 @@ class Experiment(mod.Experiment): def install(self): """Installs IRATI on the nodes.""" - cmds = list() - - cmds.append("sudo apt-get update") - cmds.append("sudo apt-get install g++ gcc " - "protobuf-compiler libprotobuf-dev git --yes") - cmds.append("sudo rm -rf ~/irati") - cmds.append("cd && git clone https://github.com/IRATI/stack irati") - cmds.append("cd ~/irati && sudo ./install-from-scratch") + cmds = ["sudo apt-get update", + "export https_proxy=\"https://proxy.atlantis.ugent.be:8080\"; " + "sudo apt-get install g++ gcc " + "protobuf-compiler libprotobuf-dev git --yes", + "sudo rm -rf ~/irati", + "cd ~; " + "export https_proxy=\"https://proxy.atlantis.ugent.be:8080\"; " + "git clone https://github.com/IRATI/stack irati", + "cd ~/irati; git checkout arcfire", + "cd ~/irati; cp linux/config-IRATI linux/.config", + "cd ~/irati && sudo ./install-from-scratch"] for node in self.nodes: ssh.execute_commands(self.testbed, node.ssh_config, diff --git a/rumba/testbeds/jfed.py b/rumba/testbeds/jfed.py index 5394146..60d6605 100644 --- a/rumba/testbeds/jfed.py +++ b/rumba/testbeds/jfed.py @@ -27,7 +27,7 @@ import tarfile import rumba.model as mod import rumba.log as log - +from rumba import ssh_support logger = log.get_logger(__name__) @@ -164,22 +164,47 @@ class Testbed(mod.Testbed): rspec = xml.parse(self.manifest) xml_nodes = rspec.getElementsByTagName("node") + dir_path = os.path.dirname(os.path.abspath(__file__)) + # Complete details of the nodes after swapin for xml_node in xml_nodes: n_name = xml_node.getAttribute("client_id") intfs = xml_node.getElementsByTagName("interface") + got = False for node in experiment.nodes: if node.name == n_name: node_n = node + got = True + if not got: + logger.error("Not found node %s", n_name) for intf in intfs: + aux_mac_address = intf.getAttribute("mac_address") + mac = ":".join( + [aux_mac_address[i:i+2] for i in range(0, 12, 2)] + ) + ssh_support.copy_path_to_testbed( + self, + node_n.ssh_config, + os.path.join(dir_path, 'mac2ifname.sh'), + '') + ssh_support.execute_command( + self, + node_n.ssh_config, + 'cd ~ && chmod a+x mac2ifname.sh') + ifname = ssh_support.execute_command( + self, + node_n.ssh_config, + './mac2ifname.sh ' + mac + ) i_name = intf.getAttribute("client_id") for ipcp in node_n.ipcps: if isinstance(ipcp, mod.ShimEthIPCP): if self.if_id[ipcp] == i_name: - comp_id = intf.getAttribute("component_id") - comp_arr = comp_id.split(":") - ipcp.ifname = comp_arr[-1] + ipcp.ifname = ifname + # comp_id = intf.getAttribute("component_id") + # comp_arr = comp_id.split(":") + # ipcp.ifname = comp_arr[-1] # xml_ip = intf.getElementsByTagName("ip") # interface.ip = xml_ip[0].getAttribute("address") |