aboutsummaryrefslogtreecommitdiff
path: root/rumba/prototypes
diff options
context:
space:
mode:
authorMarco Capitani <m.capitani@nextworks.it>2017-04-21 15:58:56 +0200
committerMarco Capitani <m.capitani@nextworks.it>2017-04-21 15:58:56 +0200
commit26e3e22cd6ca6676b7b99624764f8e6f1ae1479d (patch)
tree65764b5ce423dc88a318e3b7325281bf3a094070 /rumba/prototypes
parentee2f6e5c21c0ba94048dbf1c86024e3181718fc2 (diff)
downloadrumba-26e3e22cd6ca6676b7b99624764f8e6f1ae1479d.tar.gz
rumba-26e3e22cd6ca6676b7b99624764f8e6f1ae1479d.zip
rumba: log: Added logging support, migrated from print to logging.
+ Added logging, migrated, default logging configuration is to stdout. + Minor PEP8 adjustments all-around
Diffstat (limited to 'rumba/prototypes')
-rw-r--r--rumba/prototypes/irati.py41
-rw-r--r--rumba/prototypes/ouroboros.py31
-rw-r--r--rumba/prototypes/rlite.py38
3 files changed, 57 insertions, 53 deletions
diff --git a/rumba/prototypes/irati.py b/rumba/prototypes/irati.py
index 0d40580..fe9b052 100644
--- a/rumba/prototypes/irati.py
+++ b/rumba/prototypes/irati.py
@@ -28,12 +28,13 @@ import os
import rumba.ssh_support as ssh
import rumba.model as mod
import rumba.prototypes.irati_templates as irati_templates
+import rumba.log as log
-# An experiment over the IRATI implementation
-from rumba import ssh_support
+logger = log.get_logger(__name__)
+# An experiment over the IRATI implementation
class Experiment(mod.Experiment):
@staticmethod
@@ -90,13 +91,13 @@ class Experiment(mod.Experiment):
self.enroll_nodes()
def run_prototype(self):
- print("irati: setting up")
+ logger.info("irati: setting up")
self.setup()
- print("irati: software initialized on all nodes")
+ logger.info("irati: software initialized on all nodes")
self.conf_files = self.write_conf()
- print("irati: configuration files generated for all nodes")
+ logger.info("irati: configuration files generated for all nodes")
self.bootstrap_network()
- print("irati: IPCPs created and enrolled on all nodes")
+ logger.info("irati: IPCPs created and enrolled on all nodes")
def process_node(self, node):
"""
@@ -111,8 +112,8 @@ class Experiment(mod.Experiment):
if isinstance(ipcp, mod.ShimEthIPCP):
if_name = ipcp.ifname
vlan = self.shim2vlan[ipcp.dif.name]
- ssh_support.setup_vlan(self.testbed, node,
- vlan, if_name)
+ ssh.setup_vlan(self.testbed, node,
+ vlan, if_name)
gen_files_conf = self.conf_files[node] + ['da.map']
dir_path = os.path.dirname(os.path.abspath(__file__))
@@ -154,23 +155,20 @@ class Experiment(mod.Experiment):
'-c /etc/%(name)s.ipcm.conf -l %(verb)s &> log &'
% format_args)]
- print('DEBUG: sending node setup via ssh.')
- # print('Credentials:')
- # print(node.ssh_config.hostname, node.ssh_config.port,
- # self.testbed.username, self.testbed.password)
+ logger.info('Sending node setup via ssh.')
ssh.execute_commands(self.testbed, node.ssh_config, cmds)
def enroll_nodes(self):
"""Runs the enrollments one by one, respecting dependencies"""
for enrollment_list in self.enrollments:
for e in enrollment_list:
- print(
+ logger.debug(
'I am going to enroll %s to DIF %s against neighbor %s,'
- ' through lower DIF %s'
- % (e['enrollee'].name,
- e['dif'].name,
- e['enroller'].name,
- e['lower_dif'].name))
+ ' through lower DIF %s',
+ e['enrollee'].name,
+ e['dif'].name,
+ e['enroller'].name,
+ e['lower_dif'].name)
subprocess.check_call('sleep 2'. split()) # Important!
@@ -184,11 +182,7 @@ class Experiment(mod.Experiment):
'--enrollee-name %(dif)s.%(name)s.IPCP '
'--enroller-name %(dif)s.%(o_name)s.IPCP'
% e_args)
- print('DEBUG: sending enrollment operation via ssh.')
- # print('Credentials:')
- # print(e['enrollee'].ssh_config.hostname,
- # e['enrollee'].ssh_config.port,
- # self.testbed.username, self.testbed.password)
+ logger.info('Sending enrollment operation via ssh.')
ssh.execute_command(self.testbed,
e['enrollee'].ssh_config,
cmd)
@@ -293,7 +287,6 @@ class Experiment(mod.Experiment):
"difName": shim_name
})
-
template_file_name = self.conf_dir(
'shimeth.%s.%s.dif'
% (node.name, shim_name))
diff --git a/rumba/prototypes/ouroboros.py b/rumba/prototypes/ouroboros.py
index 4fdacd6..9776c5e 100644
--- a/rumba/prototypes/ouroboros.py
+++ b/rumba/prototypes/ouroboros.py
@@ -21,6 +21,11 @@
import rumba.ssh_support as ssh
import rumba.model as mod
import time
+import rumba.log as log
+
+
+logger = log.get_logger(__name__)
+
# An experiment over the Ouroboros implementation
class Experiment(mod.Experiment):
@@ -48,7 +53,7 @@ class Experiment(mod.Experiment):
cmds.append("irm b ap " + ap + " n " + name)
ssh.execute_commands(self.testbed, node.ssh_config,
- cmds, time_out = None)
+ cmds, time_out=None)
def reg_names(self):
for node in self.nodes:
@@ -60,14 +65,14 @@ class Experiment(mod.Experiment):
cmds.append(cmd)
ssh.execute_commands(self.testbed, node.ssh_config, cmds,
- time_out = None)
+ time_out=None)
def create_ipcps(self):
for node in self.nodes:
cmds = list()
for ipcp in node.ipcps:
cmds2 = list()
- if ipcp.dif_bootstrapper == True:
+ if ipcp.dif_bootstrapper:
cmd = "irm i b n " + ipcp.name
else:
cmd = "irm i c n " + ipcp.name
@@ -80,7 +85,7 @@ class Experiment(mod.Experiment):
cmd += " dif " + ipcp.dif.name
elif type(ipcp.dif) is mod.NormalDIF:
cmd += " type normal"
- if ipcp.dif_bootstrapper == True:
+ if ipcp.dif_bootstrapper:
cmd += " dif " + ipcp.dif.name
cmd2 = "irm b i " + ipcp.name + " name " + ipcp.dif.name
cmds2.append(cmd2)
@@ -97,7 +102,7 @@ class Experiment(mod.Experiment):
cmd += " type shim-udp"
cmd += " dif " + ipcp.dif.name
else:
- print("Unsupported IPCP type")
+ logger.error("Unsupported IPCP type")
continue
cmds.append(cmd)
@@ -105,7 +110,7 @@ class Experiment(mod.Experiment):
cmds.append(cmd)
ssh.execute_commands(self.testbed, node.ssh_config, cmds,
- time_out = None)
+ time_out=None)
def enroll_ipcps(self):
for el in self.enrollments:
@@ -128,18 +133,18 @@ class Experiment(mod.Experiment):
ssh.execute_commands(self.testbed,
e['enrollee'].ssh_config,
- cmds, time_out = None)
+ cmds, time_out=None)
time.sleep(2)
def run_prototype(self):
- print("Setting up Ouroboros...")
+ logger.info("Setting up Ouroboros...")
self.setup_ouroboros()
- print("Binding names...")
+ logger.info("Binding names...")
self.bind_names()
- print("Creating IPCPs")
+ logger.info("Creating IPCPs")
self.create_ipcps()
- print("Enrolling IPCPs...")
+ logger.info("Enrolling IPCPs...")
self.enroll_ipcps()
- print("Registering names...")
+ logger.info("Registering names...")
self.reg_names()
- print("All done, have fun!")
+ logger.info("All done, have fun!")
diff --git a/rumba/prototypes/rlite.py b/rumba/prototypes/rlite.py
index 9568d7e..feca5a4 100644
--- a/rumba/prototypes/rlite.py
+++ b/rumba/prototypes/rlite.py
@@ -20,7 +20,11 @@
import rumba.ssh_support as ssh
import rumba.model as mod
-import time
+import rumba.log as log
+
+
+logger = log.get_logger(__name__)
+
# An experiment over the rlite implementation
class Experiment(mod.Experiment):
@@ -35,14 +39,15 @@ class Experiment(mod.Experiment):
def init(self):
cmds = []
- if False: # ubuntu
+ if False: # ubuntu
cmds.append("apt-get update")
cmds.append("apt-get install g++ gcc cmake "
"linux-headers-$(uname -r) "
"protobuf-compiler libprotobuf-dev git --yes")
cmds.append("rm -rf ~/rlite")
cmds.append("cd ~; git clone https://github.com/vmaffione/rlite")
- cmds.append("cd ~/rlite && ./configure && make && sudo make install")
+ cmds.append("cd ~/rlite && ./configure && make "
+ "&& sudo make install")
# Load kernel modules
cmds.append("modprobe rlite")
@@ -70,19 +75,20 @@ class Experiment(mod.Experiment):
elif type(ipcp.dif) is mod.ShimUDPDIF:
ipcp_type = 'shim-udp4'
else:
- print("unknown type for DIF %s, default to loopback" \
- % ipcp.dif.name)
+ logger.warning(
+ "unknown type for DIF %s, default to loopback",
+ ipcp.dif.name)
ipcp_type = 'shim-loopback'
- cmds.append("rlite-ctl ipcp-create %s %s %s" % \
+ cmds.append("rlite-ctl ipcp-create %s %s %s" %
(ipcp.name, ipcp_type, ipcp.dif.name))
# Generate the command to configure the interface
# name for the shim-eth
if type(ipcp.dif) is mod.ShimEthDIF:
ipcp.ifname = 'eth1'
- cmds.append("rlite-ctl ipcp-config %s netdev %s" \
- % (ipcp.name, ipcp.ifname))
+ cmds.append("rlite-ctl ipcp-config %s netdev %s"
+ % (ipcp.name, ipcp.ifname))
self.execute_commands(node, cmds)
@@ -92,7 +98,7 @@ class Experiment(mod.Experiment):
for ipcp in node.ipcps:
for lower in ipcp.registrations:
- cmds.append("rlite-ctl ipcp-register %s %s" \
+ cmds.append("rlite-ctl ipcp-register %s %s"
% (ipcp.name, lower.name))
self.execute_commands(node, cmds)
@@ -104,18 +110,18 @@ class Experiment(mod.Experiment):
'dif': e['dif'].name,
'lower_dif': e['lower_dif'].name,
'enroller': e['enroller'].name
- }
+ }
cmd = "rlite-ctl ipcp-enroll %(enrollee)s %(dif)s "\
- "%(lower_dif)s %(enroller)s" % d
+ "%(lower_dif)s %(enroller)s" % d
self.execute_commands(e['enrollee'], [cmd])
def run_prototype(self):
- print("rlite: setting up")
+ logger.info("rlite: setting up")
self.init()
- print("rlite: software initialized on all nodes")
+ logger.info("rlite: software initialized on all nodes")
self.create_ipcps()
- print("rlite: IPCPs created on all nodes")
+ logger.info("rlite: IPCPs created on all nodes")
self.register_ipcps()
- print("rlite: IPCPs registered to their lower DIFs on all nodes")
+ logger.info("rlite: IPCPs registered to their lower DIFs on all nodes")
self.enroll_ipcps()
- print("rlite: enrollment completed in all DIFs")
+ logger.info("rlite: enrollment completed in all DIFs")