예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
 def __init__(self, client, sessionId):
     self.proxy = SessionProxy(WorkerNodeClient, client, sessionId)
예제 #6
0
 def __init__(self, client, sessionId):
     self.proxy = SessionProxy(WorkerNodeClient, client, sessionId)
예제 #7
0
 def __init__(self, client, sessionId):
     self.proxy = SessionProxy(DispatcherNodeClient, client, sessionId)
예제 #8
0
 def __init__(self, client, sessionId):
     self.proxy = SessionProxy(DispatcherNodeClient, client, sessionId)