def __init__(self, auth, use_xenapi, use_tcp = False, ssl_key_file = None, ssl_cert_file = None, host = "localhost", port = 8006, path = XML_RPC_SOCKET, hosts_allowed = None): self.use_tcp = use_tcp self.port = port self.host = host self.path = path self.hosts_allowed = hosts_allowed self.ssl_key_file = ssl_key_file self.ssl_cert_file = ssl_cert_file self.ready = False self.running = True self.auth = auth self.xenapi = use_xenapi and XendAPI.XendAPI(auth) or None
def get_last_updated(self): import xen.xend.XendAPI as XendAPI return XendAPI.now()
def get_start_time(self): import xen.xend.XendAPI as XendAPI return XendAPI.datetime( self.xend_domain_instance.info.get("start_time", 0))
ready = True running = False return # Register Xen API Functions # ------------------------------------------------------------------- # exportable functions are ones that do not begin with '_' # and has the 'api' attribute. for meth_name in dir(self.xenapi): if meth_name[0] != '_': meth = getattr(self.xenapi, meth_name) if callable(meth) and hasattr(meth, 'api'): self.server.register_function(meth, getattr(meth, 'api')) self.server.register_instance(XendAPI.XendAPIAsyncProxy(self.xenapi)) # Legacy deprecated xm xmlrpc api # -------------------------------------------------------------------- # Functions in XendDomainInfo for name in methods: fn = eval("lambda domid, *args: dispatch(domid, '%s', args)"%name) self.server.register_function(fn, "xend.domain.%s" % name) inst = XendDomain.instance() for name in dir(inst): fn = getattr(inst, name) if name.startswith("domain_") and callable(fn): if name not in exclude: