← Back to team overview

vmbuilder team mailing list archive

[Merge] lp:~wt-penguintechs-org/vmbuilder/vmbuilder_improve_debug_logs into lp:vmbuilder

 

Warren Turkal has proposed merging lp:~wt-penguintechs-org/vmbuilder/vmbuilder_improve_debug_logs into lp:vmbuilder.

Commit message:
Improve logging.

Requested reviews:
  VMBuilder (vmbuilder)

For more details, see:
https://code.launchpad.net/~wt-penguintechs-org/vmbuilder/vmbuilder_improve_debug_logs/+merge/152057
-- 
https://code.launchpad.net/~wt-penguintechs-org/vmbuilder/vmbuilder_improve_debug_logs/+merge/152057
Your team VMBuilder is requested to review the proposed merge of lp:~wt-penguintechs-org/vmbuilder/vmbuilder_improve_debug_logs into lp:vmbuilder.
=== modified file 'VMBuilder/contrib/cli.py'
--- VMBuilder/contrib/cli.py	2012-11-23 11:06:06 +0000
+++ VMBuilder/contrib/cli.py	2013-03-06 21:22:23 +0000
@@ -153,9 +153,12 @@
             if os.geteuid() != 0:
                 raise VMBuilderUserError('Must run as root')
 
+            logging.debug("Launch directory: {}".format(os.getcwd()))
+
             distro.overwrite = hypervisor.overwrite = self.options.overwrite
             destdir = self.options.destdir or ('%s-%s' % (distro.arg,
                                                           hypervisor.arg))
+            logging.debug("Output destdir: {}".format(destdir))
 
             if self.options.tmpfs and self.options.chroot_dir:
                 raise VMBuilderUserError('--chroot-dir and --tmpfs can not be used together.')

=== modified file 'VMBuilder/util.py'
--- VMBuilder/util.py	2010-06-10 17:20:58 +0000
+++ VMBuilder/util.py	2013-03-06 21:22:23 +0000
@@ -155,18 +155,22 @@
     logging.debug('(args=%r, kwargs=%r)' % (args, kwargs))
     for plugin in context.plugins:
         logging.debug('Calling %s method in %s plugin.' % (func, plugin.__module__))
-        getattr(plugin, func, log_no_such_method)(*args, **kwargs)
+        try:
+            getattr(plugin, func)(*args, **kwargs)
+        except AttributeError as e:
+            logging.debug('No such method ({}) in context plugin ({})'.format(
+                func, plugin.__module__))
 
     for f in context.hooks.get(func, []):
         logging.debug('Calling %r.' % (f,))
         f(*args, **kwargs)
 
     logging.debug('Calling %s method in context plugin %s.' % (func, context.__module__))
-    getattr(context, func, log_no_such_method)(*args, **kwargs)
-
-def log_no_such_method(*args, **kwargs):
-    logging.debug('No such method')
-    return
+    try:
+        getattr(context, func)(*args, **kwargs)
+    except AttributeError as e:
+        logging.debug('No such method ({}) in context plugin ({})'.format(
+            func, plugin.__module__))
 
 def tmp_filename(suffix='', tmp_root=None):
     # There is a risk in using tempfile.mktemp(): it's not recommended


Follow ups