The VM screendump thread recently introduced generates a lot of output on debug logs. Such output is not needed most of the time (we are interested to see if a screenshot production attempt failed though) and distracts the user from other more important info. So let's add an additional parameter on send_monitor_cmd that specifies if we actually want the monitor command logged, defaulting it to True so the rest of the callers won't have any change on their behavior. The screendump thread will call send_monitor_cmd with verbose=False unless in the configuration file one sets screendump_verbose=yes (defaults to no on the sample confifg file). Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> --- client/tests/kvm/kvm_preprocessing.py | 10 +++++++++- client/tests/kvm/kvm_vm.py | 7 +++++-- client/tests/kvm/tests_base.cfg.sample | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/client/tests/kvm/kvm_preprocessing.py b/client/tests/kvm/kvm_preprocessing.py index 50db65c..4b9290c 100644 --- a/client/tests/kvm/kvm_preprocessing.py +++ b/client/tests/kvm/kvm_preprocessing.py @@ -401,6 +401,10 @@ def _take_screendumps(test, params, env): kvm_utils.generate_random_string(6)) delay = float(params.get("screendump_delay", 5)) quality = int(params.get("screendump_quality", 30)) + if params.get("screendump_verbose") == 'yes': + screendump_verbose = True + else: + screendump_verbose = False cache = {} @@ -408,7 +412,11 @@ def _take_screendumps(test, params, env): for vm in kvm_utils.env_get_all_vms(env): if vm.is_dead(): continue - vm.send_monitor_cmd("screendump %s" % temp_filename) + if screendump_verbose: + vm.send_monitor_cmd("screendump %s" % temp_filename) + else: + vm.send_monitor_cmd("screendump %s" % temp_filename, + verbose=False) if not os.path.exists(temp_filename): logging.warn("VM '%s' failed to produce a screendump", vm.name) continue diff --git a/client/tests/kvm/kvm_vm.py b/client/tests/kvm/kvm_vm.py index 047505a..244355e 100755 --- a/client/tests/kvm/kvm_vm.py +++ b/client/tests/kvm/kvm_vm.py @@ -498,7 +498,7 @@ class VM: lockfile.close() - def send_monitor_cmd(self, command, block=True, timeout=20.0): + def send_monitor_cmd(self, command, block=True, timeout=20.0, verbose=True): """ Send command to the QEMU monitor. @@ -541,8 +541,11 @@ class VM: time.sleep(0.01) return (False, o) + # In certain conditions printing this debug output might be too much + # Just print it if verbose is enabled (True by default) + if verbose: + logging.debug("Sending monitor command: %s" % command) # Connect to monitor - logging.debug("Sending monitor command: %s" % command) try: s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) s.setblocking(False) diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample index 4baa1dc..e74c7cb 100644 --- a/client/tests/kvm/tests_base.cfg.sample +++ b/client/tests/kvm/tests_base.cfg.sample @@ -23,6 +23,7 @@ keep_screendumps_on_error = yes screendump_delay = 5 screendump_quality = 30 screendump_temp_dir = /dev/shm +screendump_verbose = no # Some default VM params qemu_binary = qemu -- 1.6.6.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html