mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
Merged.
This commit is contained in:
commit
81094db8cb
38 files changed
+631
-498
No files matched your search
@@ -19,6 +19,10 @@ from xmlrpclib import Fault
|
||||
|
||||
import XendClient
|
||||
|
||||
class XendInvalidDomain(Fault):
|
||||
def __init__(self, value):
|
||||
Fault.__init__(self, XendClient.ERROR_INVALID_DOMAIN, value)
|
||||
|
||||
class XendError(Fault):
|
||||
|
||||
def __init__(self, value):
|
||||
|
||||
@@ -23,35 +23,21 @@ from xen.xend import XendDomain, XendDomainInfo, XendNode, \
|
||||
from xen.util.xmlrpclib2 import UnixXMLRPCServer, TCPXMLRPCServer
|
||||
|
||||
from xen.xend.XendClient import XML_RPC_SOCKET, ERROR_INVALID_DOMAIN
|
||||
from xen.xend.XendError import *
|
||||
|
||||
def lookup(domid):
|
||||
try:
|
||||
return XendDomain.instance().domain_lookup_by_name_or_id(domid)
|
||||
except exn:
|
||||
log.exception(exn)
|
||||
raise exn
|
||||
info = XendDomain.instance().domain_lookup_by_name_or_id(domid)
|
||||
if not info:
|
||||
raise XendInvalidDomain(str(domid))
|
||||
return info
|
||||
|
||||
def dispatch(domid, fn, args):
|
||||
info = lookup(domid)
|
||||
if info:
|
||||
try:
|
||||
return getattr(info, fn)(*args)
|
||||
except exn:
|
||||
log.exception(exn)
|
||||
raise exn
|
||||
else:
|
||||
raise xmlrpclib.Fault(ERROR_INVALID_DOMAIN, domid)
|
||||
return getattr(info, fn)(*args)
|
||||
|
||||
def domain(domid):
|
||||
info = lookup(domid)
|
||||
if info:
|
||||
try:
|
||||
return info.sxpr()
|
||||
except exn:
|
||||
log.exception(exn)
|
||||
raise exn
|
||||
else:
|
||||
raise xmlrpclib.Fault(ERROR_INVALID_DOMAIN, domid)
|
||||
return info.sxpr()
|
||||
|
||||
def domains(detail=1):
|
||||
if detail < 1:
|
||||
@@ -90,7 +76,7 @@ class XMLRPCServer:
|
||||
if self.use_tcp:
|
||||
# bind to something fixed for now as we may eliminate
|
||||
# tcp support completely.
|
||||
self.server = TCPXMLRPCServer(("localhost", 8005, False))
|
||||
self.server = TCPXMLRPCServer(("localhost", 8005), logRequests=False)
|
||||
else:
|
||||
self.server = UnixXMLRPCServer(XML_RPC_SOCKET, False)
|
||||
|
||||
|
||||
@@ -1102,12 +1102,6 @@ def main(argv=sys.argv):
|
||||
else:
|
||||
err("Error connecting to xend: %s." % ex[1])
|
||||
sys.exit(1)
|
||||
except xmlrpclib.ProtocolError, ex:
|
||||
if os.geteuid() != 0:
|
||||
err("Most commands need root access. Please try again as root.")
|
||||
else:
|
||||
err("Error connecting to xend: %s." % ex.errmsg)
|
||||
sys.exit(1)
|
||||
except SystemExit:
|
||||
sys.exit(1)
|
||||
except xmlrpclib.Fault, ex:
|
||||
|
||||