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

xen-devel

[Top] [All Lists]

[Xen-devel] [PATCH 2/4] Add support for an xm serve command

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH 2/4] Add support for an xm serve command
From: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: 2006年6月14日 14:32:33 -0500
Cc: Ewan Mellor <ewan@xxxxxxxxxxxxx>
Delivery-date: 2006年6月14日 12:33:15 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <44906357.90107@xxxxxxxxxx>
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: <44906357.90107@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.4 (X11/20060612)
Repost of earlier patch.
Regards,
Anthony Liguori
# HG changeset patch
# User anthony@xxxxxxxxxxxxxxxxxxxxx
# Node ID cf8e253723daf8b95b54b24f6988a8e74c6cc0aa
# Parent a0212dab2954807a979058d91b246564a7bf2cc2
Add an xm serve command.
This command proxies the Xend XML-RPC over stdio. This is similiar to
mercurial's hg serve --stdio command.
The most obvious use of this command is remote XML-RPC invocation over SSH.
Signed-off-by: Anthony Liguori <aliguori@xxxxxxxxxx>
diff -r a0212dab2954 -r cf8e253723da tools/python/xen/xm/main.py
--- a/tools/python/xen/xm/main.py Sat Jun 10 19:07:26 2006
+++ b/tools/python/xen/xm/main.py Sat Jun 10 19:11:55 2006
@@ -41,6 +41,7 @@
 import xen.xend.XendClient
 from xen.xend.XendClient import server
 from xen.util import security
+from select import select
 
 # getopt.gnu_getopt is better, but only exists in Python 2.3+. Use
 # getopt.getopt if gnu_getopt is not available. This will mean that options
@@ -124,6 +125,7 @@
 loadpolicy_help = "loadpolicy <policy> Load binary policy into 
hypervisor"
 makepolicy_help = "makepolicy <policy> Build policy and create 
.bin/.map files"
 labels_help = "labels [policy] [type=DOM|..] List <type> labels for 
(active) policy."
+serve_help = "serve Proxy Xend XML-RPC over 
stdio"
 
 short_command_list = [
 "console",
@@ -171,7 +173,8 @@
 host_commands = [
 "dmesg",
 "info",
- "log"
+ "log",
+ "serve",
 ]
 
 scheduler_commands = [
@@ -833,6 +836,32 @@
 arg_check(args, "log", 0)
 
 print server.xend.node.log()
+
+def xm_serve(args):
+ arg_check(args, "serve", 0)
+
+ from fcntl import fcntl, F_SETFL
+ 
+ s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+ s.connect(xen.xend.XendClient.XML_RPC_SOCKET)
+ fcntl(sys.stdin, F_SETFL, os.O_NONBLOCK)
+
+ while True:
+ iwtd, owtd, ewtd = select([sys.stdin, s], [], [])
+ if s in iwtd:
+ data = s.recv(4096)
+ if len(data) > 0:
+ sys.stdout.write(data)
+ sys.stdout.flush()
+ else:
+ break
+ if sys.stdin in iwtd:
+ data = sys.stdin.read(4096)
+ if len(data) > 0:
+ s.sendall(data)
+ else:
+ break
+ s.close()
 
 def parse_dev_info(info):
 def get_info(n, t, d):
@@ -1072,6 +1101,7 @@
 "dmesg": xm_dmesg,
 "info": xm_info,
 "log": xm_log,
+ "serve": xm_serve,
 # scheduler
 "sched-bvt": xm_sched_bvt,
 "sched-bvt-ctxallow": xm_sched_bvt_ctxallow,
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
Previous by Date: [Xen-devel] [PATCH 1/4] Fix Xend's HTTP/1.1 Keep-Alive support , Anthony Liguori
Next by Date: [Xen-devel] [PATCH 2/4] Client support for XML-RPC over SSH , Anthony Liguori
Previous by Thread: [Xen-devel] [PATCH 1/4] Fix Xend's HTTP/1.1 Keep-Alive support , Anthony Liguori
Next by Thread: [Xen-devel] [PATCH 2/4] Client support for XML-RPC over SSH , Anthony Liguori
Indexes: [Date] [Thread] [Top] [All Lists]

Copyright ©, Citrix Systems Inc. All rights reserved. Legal and Privacy
Citrix This site is hosted by Citrix

AltStyle によって変換されたページ (->オリジナル) /