diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 5cf76ad4a6624b4c9517ca000e79cb7f95eb458a..7a466c9c03ae64713532696d25ed6ce771ccd4bc 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -95,6 +95,10 @@ class LogicalUnit(object):
     self.LogStep = processor.LogStep # pylint: disable-msg=C0103
     # support for dry-run
     self.dry_run_result = None
+    # support for generic debug attribute
+    if (not hasattr(self.op, "debug_level") or
+        not isinstance(self.op.debug_level, int)):
+      self.op.debug_level = 0
 
     # Tasklets
     self.tasklets = None
diff --git a/lib/opcodes.py b/lib/opcodes.py
index 2520101dc462ab5ce2aed4fd47b95f8047bcf819..b72204f23ecf50fa521a7532c4588b7a7340a898 100644
--- a/lib/opcodes.py
+++ b/lib/opcodes.py
@@ -120,7 +120,7 @@ class OpCode(BaseOpCode):
 
   """
   OP_ID = "OP_ABSTRACT"
-  __slots__ = ["dry_run"]
+  __slots__ = ["dry_run", "debug_level"]
 
   def __getstate__(self):
     """Specialized getstate for opcodes.