WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] remote xend - howto connect??

To: Michael Mey <michael.mey@xxxxxx>
Subject: Re: [Xen-devel] remote xend - howto connect??
From: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon, 06 Feb 2006 21:02:09 -0600
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 07 Feb 2006 03:13:13 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <200602061556.36972.michael.mey@xxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200602061556.36972.michael.mey@xxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mail/News 1.5 (X11/20060119)
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

<Prev in Thread] Current Thread [Next in Thread>