[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] remote xend - howto connect??
On Tuesday 07 February 2006 04:02, Anthony Liguori wrote: > 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. Thank you, I'll give it a try and otherwise have a look at libvir. :) Regards, Michael > 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 -- ---------------------------------------------------------------------------------------- Michael Mey Thinking Objects Software GmbH | mailto: michael.mey@xxxxxx Lilienthalstrasse 2/1 | phone: +49 711 88770-147 70825 Stuttgart-Korntal, Germany | fax: +49 711 88770-449 ---------------------------------------------------------------------------------------- Attachment:
pgpetdXKOClOU.pgp _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |