class WorkerNodeRPCClient(object): """ XMLRPC client for communicating to rMake Node. client: connected messagebus session. sessionId: sessionId of rMake node to communicate with. """ def __init__(self, client, sessionId): self.proxy = SessionProxy(WorkerNodeClient, client, sessionId) def listCommands(self): return self.proxy.listCommands() def listChroots(self): return self.proxy.listChroots() def getStatus(self): raise NotImplementedError def startChrootSession(self, chrootPath, command, superUser=False, buildTrove=None): """ Starts a chroot session on the given node. """ if buildTrove is None: buildTrove = '' else: buildTrove = freeze('BuildTrove', buildTrove) return self.proxy.startChrootSession(chrootPath, command, superUser, buildTrove) def archiveChroot(self, chrootPath, newPath): return self.proxy.archiveChroot(chrootPath, newPath) def deleteChroot(self, chrootPath): return self.proxy.deleteChroot(chrootPath)
class DispatcherRPCClient(object): def __init__(self, client, sessionId): self.proxy = SessionProxy(DispatcherNodeClient, client, sessionId) def listNodes(self): return self.proxy.listNodes() def listQueuedCommands(self): return self.proxy.listQueuedCommands() def listAssignedCommands(self): return self.proxy.listAssignedCommands() def getNodeByName(self, nodeName): return self.proxy.getNodeByName(nodeName) def getNamesByIds(self, idList): return self.proxy.getNamesByIds(idList) def suspendNodes(self, idList, suspend=True): return self.proxy.suspendNodes(idList, suspend)
def __init__(self, client, sessionId): self.proxy = SessionProxy(WorkerNodeClient, client, sessionId)
def __init__(self, client, sessionId): self.proxy = SessionProxy(DispatcherNodeClient, client, sessionId)