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

[Xen-devel] xenstore watches not firing for external-to-xend code using xen.xend.xenstore classes



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


 


Rackspace

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