diff options
author | Marco Capitani <m.capitani@nextworks.it> | 2017-04-21 15:58:56 +0200 |
---|---|---|
committer | Marco Capitani <m.capitani@nextworks.it> | 2017-04-21 15:58:56 +0200 |
commit | 26e3e22cd6ca6676b7b99624764f8e6f1ae1479d (patch) | |
tree | 65764b5ce423dc88a318e3b7325281bf3a094070 /rumba/testbeds/qemu.py | |
parent | ee2f6e5c21c0ba94048dbf1c86024e3181718fc2 (diff) | |
download | rumba-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/testbeds/qemu.py')
-rw-r--r-- | rumba/testbeds/qemu.py | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/rumba/testbeds/qemu.py b/rumba/testbeds/qemu.py index 40899d7..934038b 100644 --- a/rumba/testbeds/qemu.py +++ b/rumba/testbeds/qemu.py @@ -24,7 +24,11 @@ import subprocess import os import rumba.model as mod -from rumba import ssh_support +import rumba.log as log +import rumba.ssh_support as ssh_support + + +logger = log.get_logger(__name__) class Testbed(mod.Testbed): @@ -62,7 +66,7 @@ class Testbed(mod.Testbed): for command in commands: if not error_queue.empty() and not ignore_errors: break - print('qemu: executing >> %s' % command) + logger.debug('executing >> %s', command) try: subprocess.check_call(command.split()) except subprocess.CalledProcessError as e: @@ -76,8 +80,6 @@ class Testbed(mod.Testbed): results_queue.put("Command chain ran with %d errors" % errors) def recover_if_names(self, experiment): - next_vlan = 10 - assigned_vlan = {} for node in experiment.nodes: for ipcp in node.ipcps: if isinstance(ipcp, mod.ShimEthIPCP): @@ -88,8 +90,8 @@ class Testbed(mod.Testbed): port_id = port['port_id'] vm_id = self.vms[node_name]['id'] mac = '00:0a:0a:0a:%02x:%02x' % (vm_id, port_id) - print('qemu: recovering ifname for port: ' - + port['tap_id'] + '.') + logger.info('Recovering ifname for port: %s.', + port['tap_id']) output = ssh_support.execute_command( self, node.ssh_config, @@ -111,7 +113,7 @@ class Testbed(mod.Testbed): except subprocess.CalledProcessError: raise Exception('Not authenticated') - print("qemu: swapping in") + logger.info("qemu: swapping in") # Building bridges and taps shim_processes = [] @@ -189,15 +191,15 @@ class Testbed(mod.Testbed): # Check for errors if not e_queue.empty(): error_str = str(e_queue.get()) - print('qemu: Testbed instantiation failed: %s' % error_str) + logger.error('Testbed instantiation failed: %s', error_str) raise Exception('Failure: %s' % error_str) try: # Check for results result = r_queue.get(timeout=1) if result == "Command chain ran correctly.": over_processes += 1 - print('qemu: %s of %s processes completed.' - % (over_processes, total_processes)) + logger.debug('%s of %s processes completed.', + over_processes, total_processes) except: max_waiting_time -= 1 @@ -270,16 +272,15 @@ class Testbed(mod.Testbed): booting_budget -= 1 if booting_budget <= 0: - - print('qemu: Sleeping %s secs waiting ' - 'for the VMs to boot' % boot_backoff) + logger.debug('Sleeping %s secs waiting ' + 'for the VMs to boot', boot_backoff) time.sleep(boot_backoff) booting_budget = boot_batch_size with open('%s/qemu_out_%s' % (self.qemu_logs_dir, vmid), 'w')\ as out_file: - print('qemu: executing >> %s' % command) + logger.debug('executing >> %s', command) self.boot_processes.append(subprocess.Popen(command.split(), stdout=out_file)) @@ -289,11 +290,13 @@ class Testbed(mod.Testbed): if booting_budget < boot_backoff: tsleep = boot_backoff * (boot_batch_size - booting_budget) / \ boot_batch_size - print('qemu: Sleeping %s secs waiting for the last VMs to boot' % tsleep) + logger.info('Sleeping %s secs ' + 'waiting for the last VMs to boot', + tsleep) time.sleep(tsleep) # TODO: to be removed, we should loop in the ssh part - print('qemu: Sleeping 5 seconds, just to be on the safe side') + logger.info('qemu: Sleeping 5 seconds, just to be on the safe side') time.sleep(5) self.recover_if_names(experiment) @@ -340,16 +343,17 @@ class Testbed(mod.Testbed): while max_waiting_time > 0 and over_processes < total_processes: # Check for errors if not error_queue.empty(): - print('qemu:Failure while shutting down: %s'\ - % str(error_queue.get())) + logger.warning('Failure while shutting down: %s', + str(error_queue.get())) over_processes += 1 try: # Check for results result = results_queue.get(timeout=1) if result == "Command chain ran correctly.": over_processes += 1 - print('qemu: %s of %s tear-down port processes completed.' - % (over_processes, total_processes)) + logger.debug('qemu: %s of %s tear-down port ' + 'processes completed.', + over_processes, total_processes) except: max_waiting_time -= 1 @@ -378,15 +382,16 @@ class Testbed(mod.Testbed): while max_waiting_time > 0 and over_processes < total_processes: # Check for errors if not error_queue.empty(): - print('qemu: Failure while shutting down: %s' - % str(error_queue.get())) + logger.warning('Failure while shutting down: %s' + % str(error_queue.get())) over_processes += 1 try: # Check for results result = results_queue.get(timeout=1) if result == "Command chain ran correctly.": over_processes += 1 - print('qemu: %s of %s tear-down shim processes completed.' - % (over_processes, total_processes)) + logger.debug('%s of %s tear-down shim ' + 'processes completed.' + % (over_processes, total_processes)) except: max_waiting_time -= 1 |