Protect self.domid from being empty
authorWim Colgate <wim@xensource.com>
Wed, 14 Feb 2007 20:18:32 +0000 (12:18 -0800)
committerWim Colgate <wim@xensource.com>
Wed, 14 Feb 2007 20:18:32 +0000 (12:18 -0800)
tools/python/xen/xend/XendDomainInfo.py

index 6c4a9afcb40b12fce9906b0722c857e5cad2a22c..615efbd56a7d941a7ae0b3bfb5cc3a8ab191a6e6 100644 (file)
@@ -1569,16 +1569,17 @@ class XendDomainInfo:
         # get associated devices to destroy
         # build list of phantom devices to be removed after normal devices
         plist = []
-        from xen.xend.xenstore.xstransact import xstransact
-        t = xstransact("%s/device/vbd" % GetDomainPath(self.domid))
-        for dev in t.list():
-            backend_phantom_vbd = xstransact.Read("%s/device/vbd/%s/phantom_vbd" \
-                                  % (self.dompath, dev))
-            if backend_phantom_vbd is not None:
-                frontend_phantom_vbd =  xstransact.Read("%s/frontend" \
-                                  % backend_phantom_vbd)
-                plist.append(backend_phantom_vbd)
-                plist.append(frontend_phantom_vbd)
+        if self.domid is not None:
+            from xen.xend.xenstore.xstransact import xstransact
+            t = xstransact("%s/device/vbd" % GetDomainPath(self.domid))
+            for dev in t.list():
+                backend_phantom_vbd = xstransact.Read("%s/device/vbd/%s/phantom_vbd" \
+                                      % (self.dompath, dev))
+                if backend_phantom_vbd is not None:
+                    frontend_phantom_vbd =  xstransact.Read("%s/frontend" \
+                                      % backend_phantom_vbd)
+                    plist.append(backend_phantom_vbd)
+                    plist.append(frontend_phantom_vbd)
         return plist
 
     def _cleanup_phantom_devs(self, plist):