[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] remote xend - howto connect??
Michael Mey wrote: Hi,currently, I am planning to implement a command line based tool to query more than one xends for their running domains at the same time.Unfortunately, I cannot connect to any other xend as the local one. This is what I was trying to do:---------------------------------------------------------------------------------------------------- #!/usr/bin/env python # -*- mode: python; -*- import sys import os # add fallback path for non-native python path installs if needed sys.path.append('/usr/lib/python') sys.path.append('/usr/lib64/python') from xen.xend.XendClient import server from xen.xend.XendClient import getHttpServer server = getHttpServer(...) Of course, I'm not sure works all that well either.I'd recommend using libvir (http://www.libvir.org). libvir speaks the S-Expression/HTTP protocol pretty well. It also has python bindings. Regards, Anthony Liguori from xen.xend import sxp def parse_doms_info(info): def get_info(n, t, d): return t(sxp.child_value(info, n, d)) return { 'dom' : get_info('domid', int, -1), 'name' : get_info('name', str, '??'), 'mem' : get_info('memory', int, 0), 'vcpus' : get_info('online_vcpus', int, 0), 'state' : get_info('state', str, '??'), 'cpu_time' : get_info('cpu_time', float, 0), 'ssidref' : get_info('ssidref', int, 0), } def xm_brief_list(doms): print 'Name ID Mem(MiB) VCPUs State Time(s)' for dom in doms: d = parse_doms_info(dom) if (d['ssidref'] != 0): d['ssidstr'] = (" s:%04x/p:%04x" % ((d['ssidref'] >> 16) & 0xffff, d['ssidref'] & 0xffff)) else: d['ssidstr'] = "" print ("%(name)-32s %(dom)3d %(mem)8d %(vcpus)5d %(state)5s %(cpu_time)7.1f%(ssidstr)s" % d) server.bind('192.168.111.18:8000',) xm_brief_list(server.xend_list_domains()) ----------------------------------------------------------------------------------------------------I am running this script form my xenhost1 (192.168.111.17) and want to query xenhost2 (192.168.111.18). But I only get the local informations.Even if I manually hack class Xend: """Client interface to Xend. """ """Default location of the xend server.""" SRV_DEFAULT = "192.168.111.18:8000" into xen/xend/XendClient.py it's still the same. telnetting to 192.168.111.18 to port 8000 and do a manual GET /xend/domain/?detail=1 works nicely.Maybe someone could give me a hint how to query a remote xen host with XendClient.py?Regards, Michael------------------------------------------------------------------------_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |