| Hi,
I think I came across a tiny bug (please confirm) in to_sxp method of
XendConfig class (tools/python/xen/xend/XendConfig.py):
    def to_sxp(self, domain = None, ignore_devices = False, ignore = [],
               legacy_only = True):
the domain is optional, but the code tries to access its methods in
several places.  I was just wondering whether there's a strong
assumption that domain should be specified, or the extra checks really
are necessary.
Here's a patch.
Thanks,
Alex.
--- a/tools/python/xen/xend/XendConfig.py       Mon May 11 13:52:04 2009 +0100
+++ b/tools/python/xen/xend/XendConfig.py       Wed May 13 17:23:17 2009 -0400
@@ -1035,7 +1035,7 @@ class XendConfig(dict):
         # TODO: domid/dom is the same thing but called differently
         #       depending if it is from xenstore or sxpr.
-        if domain.getDomid() is not None:
+        if domain and domain.getDomid() != None:
             sxpr.append(['domid', domain.getDomid()])
         if not legacy_only:
@@ -1072,12 +1072,13 @@ class XendConfig(dict):
             sxpr.append(['security_label', self['security_label']])
         sxpr.append(['image', self.image_sxpr()])
-        sxpr.append(['status', domain._stateGet()])
-
-        if domain.getDomid() is not None:
-            sxpr.append(['state', self._get_old_state_string()])
         if domain:
+            sxpr.append(['status', domain._stateGet()])
+
+            if domain.getDomid() is not None:
+                sxpr.append(['state', self._get_old_state_string()])
+
             if domain.store_mfn:
                 sxpr.append(['store_mfn', domain.store_mfn])
             if domain.console_mfn:
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
 |