I'm trying to write a simple xenstore-based watchdog, as discussed 
previously on this list (quite some time ago -- it got pushed to the 
back of my priority list for a bit).
 In any event, I'm trying to use the below code to test the ability of a 
program external to xend to place watches on xenstore. However, the 
callbacks aren't firing except on initial startup, either when I use 
xenstore-write to update /tool/watchdog/test or when I start or shutdown 
domains (to invoke the @introduceDomain or @releaseDomain triggers). 
Obviously I'm missing something here. If this is a simple error on my 
part, or if I'm expecting behaviour that wasn't designed for, I'd 
appreciate a pointer or two.
Thanks!
---------
#!/usr/bin/env python
from xen.xend.xenstore.xstransact import xstransact
from xen.xend.xenstore.xswatch import xswatch
from pprint import pprint
import time, logging
logging.basicConfig(level=logging.DEBUG)
TROOT = '/tool/watchdog'
class XenWatchdog:
  def __init__(self):
    xswatch('@releaseDomain', self.callback, 'releaseDomain')
    xswatch('@introduceDomain', self.callback, 'introduceDomain')
    xswatch('%(TROOT)s/test' % locals(), self.callback, 'test')
  def callback(self, *args, **kwargs):
    pprint([ 'onReleaseDomain', args, kwargs ])
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |