Esempio n. 1
0
 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
Esempio n. 2
0
 def get_last_updated(self):
     import xen.xend.XendAPI as XendAPI
     return XendAPI.now()
Esempio n. 3
0
 def get_start_time(self):
     import xen.xend.XendAPI as XendAPI
     return XendAPI.datetime(
         self.xend_domain_instance.info.get("start_time", 0))
Esempio n. 4
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:
 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))