[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] HVM qemu-pid in xm-test output log



This patch creates a new entry in "xenstored" under "/local/domain/<id>/" called "qemu-pid" containing the actual pid number for the HVM-domain created.

Then, xm-test probes that entry to include it in it's output log. This is usefull for debugging purposes.



Signed-off-by: Rick Gonzalez <rcgneo@xxxxxxxxxx>

diff -Naur xen-unstable.hg/tools/python/xen/xend/image.py 
xen-unstable.hg-dompid/tools/python/xen/xend/image.py
--- xen-unstable.hg/tools/python/xen/xend/image.py      2006-05-21 
22:25:37.000000000 -0500
+++ xen-unstable.hg-dompid/tools/python/xen/xend/image.py       2006-05-21 
23:09:15.000000000 -0500
@@ -357,6 +357,11 @@
         self.pid = os.spawnve(os.P_NOWAIT, self.device_model, args, env)
         log.info("device model pid: %d", self.pid)
 
+        # put the new qemu pid number in a list and store it
+        # in the domain information dir.
+        store = ["qemu-pid", str(self.pid)]
+        self.vm.writeDom(store)
+
     def vncParams(self):
         # see if a vncviewer was specified
         # XXX RN: bit of a hack. should unify this, maybe stick in config space
diff -Naur xen-unstable.hg/tools/xm-test/lib/XmTestLib/Test.py 
xen-unstable.hg-dompid/tools/xm-test/lib/XmTestLib/Test.py
--- xen-unstable.hg/tools/xm-test/lib/XmTestLib/Test.py 2006-05-21 
22:25:37.000000000 -0500
+++ xen-unstable.hg-dompid/tools/xm-test/lib/XmTestLib/Test.py  2006-05-21 
23:13:58.000000000 -0500
@@ -89,7 +89,7 @@
     raise TimeoutError("Command execution time exceeded %i seconds" % timeout,
                        outputSoFar=output)
 
-def traceCommand(command, timeout=None, logOutput=True):
+def traceCommand(command, timeout=None, logOutput=True, dom=""):
     if verbose:
         print "[dom0] Running `%s'" % command
 
@@ -98,8 +98,18 @@
     else:
         status, output = commands.getstatusoutput(command)
 
+    # Get HVM domain pid number
+    if dom != "":
+        cmd = "xenstore-read /local/domain/%s/qemu-pid" % dom.getId()
+        # read qemu-pid from xenstored
+        s, dpid = commands.getstatusoutput(cmd)
+        dname = dom.getName()
+
     if logOutput and verbose:
         print output
+        #print HVM pid number on to xm-test output
+        if (dom != "") and (s == 0):
+            print "[%s] domain qemu pid: %s" % (dname,dpid)
 
     return status, output
 
diff -Naur xen-unstable.hg/tools/xm-test/lib/XmTestLib/XenDomain.py 
xen-unstable.hg-dompid/tools/xm-test/lib/XmTestLib/XenDomain.py
--- xen-unstable.hg/tools/xm-test/lib/XmTestLib/XenDomain.py    2006-05-21 
22:25:37.000000000 -0500
+++ xen-unstable.hg-dompid/tools/xm-test/lib/XmTestLib/XenDomain.py     
2006-05-21 23:14:50.000000000 -0500
@@ -208,7 +208,7 @@
 
     def start(self, noConsole=False):
 
-        ret, output = traceCommand("xm create %s" % self.config)
+        ret, output = traceCommand("xm create %s" % self.config, dom=self)
 
         if ret != 0:
             raise DomainError("Failed to create domain",

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.