def __init__(self, transientdb, persistentdb): self.service = None self.tdb = transientdb self.pdb = persistentdb socket = gevent.socket.socket() guid = Guid.generate() self.stub = rpc.RpcStub(guid, socket, ChunkServer.ChunkServer)
def getStub(self): self.socket = gevent.socket.socket() self.socket.connect(self.endpoint) stub=rpc.RpcStub(self.guid, self.socket, ChunkServer.ChunkServer) self.stub=stub self.getStub=self.getStub_New return stub
def test(): global PARAM logging.basicConfig(level=logging.DEBUG) socket = gevent.socket.socket() socket.connect((PARAM.MDS_IP, int(PARAM.MDS_PORT))) guid = msg.Guid() guid.a = 10 guid.b = 22 guid.c = 30 guid.d = 40 stub = rpc.RpcStub(guid, socket, mds.MDS) arg = msg.GetChunkServers_Request() ret = stub.callMethod('GetChunkServers', arg) s2 = gevent.socket.socket() s2.connect((ret.random[0].ServiceAddress, ret.random[0].ServicePort)) stub2 = rpc.RpcStub(guid, s2, ChunkServer.ChunkServer) if raw_input('you want to NewChunk ? ') == 'y': arg2 = msg.NewChunk_Request() arg2.size = 32 arg2.count = 2 ret2 = stub2.callMethod('NewChunk', arg2) print ret2.guids if raw_input('you want to assembleVolume ? ') == 'y': req_assemble = msg.AssembleVolume_Request() req_assemble.volume.size = 32 Guid.assign(req_assemble.volume.guid, ret2.guids[-1]) res_assemble = stub2.callMethod('AssembleVolume', req_assemble) print 'access_point:', res_assemble.access_point if raw_input('you want to DisassembleVolume ? ') == 'y': req_disassemble = msg.DisassembleVolume_Request() req_disassemble.access_point = res_assemble.access_point print 'req_disassemble.access_point:', req_disassemble.access_point stub2.callMethod('DisassembleVolume', req_disassemble) if raw_input('you want to DeleteChunk ? ') == 'y': arg3 = msg.DeleteChunk_Request() t = arg3.guids.add() Guid.assign(t, ret2.guids[0]) t = arg3.guids.add() Guid.assign(t, ret2.guids[1]) ret_Del = stub2.callMethod('DeleteChunk', arg3)
def heartBeat(self, confobj): guid=Guid.generate() stub=rpc.RpcStub(guid, None, mds.MDS) while True: try: socket=gevent.socket.socket() socket.connect((confobj.mdsaddress, int(confobj.mdsport))) mdsEndpoint=(confobj.mdsaddress, int(confobj.mdsport)) socket.connect(mdsEndpoint) stub.socket=socket self.doHeartBeat(int(confobj.port), stub) except KeyboardInterrupt: raise except: logging.debug('An error occured during heart beat, preparing to retry', exc_info=1) gevent.sleep(2)
socket.connect(('192.168.0.12', 6767)) guid = msg.Guid() guid.a = 10 guid.b = 22 guid.c = 30 guid.d = 40 MI = {} req = getattr(clmsg, 'NewVolume_Request', None) res = getattr(clmsg, 'NewVolume_Response', type(None)) MI['NewVolume'] = (req, res) req = getattr(clmsg, 'DeleteVolume_Request', None) res = getattr(clmsg, 'DeleteVolume_Response', type(None)) MI['DeleteVolume'] = (req, res) print MI stub = rpc.RpcStub(guid, socket, Client, MI) arg = clmsg.NewVolume_Request() arg.volume_name = 'ssVolume2' arg.volume_size = 10240 arg.volume_type = '' arg.volume_type = 'striped' arg.striped_size = 0 ret = stub.callMethod('NewVolume', arg) maps = dm.maps() if len(maps) is not 0: print 'The new device is :' + maps[0].name else: print 'Client_CLI_test: call method failed' arg = clmsg.DeleteVolume_Request() arg.volume_name = 'ssVolume2'
def __init__(self): self.registry = {} self.service = None self.guid = Guid.generate() self.stub = rpc.RpcStub(self.guid, None, ChkSvr_mock.ChunkServer)
def __init__(self, guid, mdsip, mdsport): self.socket = gevent.socket.socket() self.socket.connect((mdsip, mdsport)) self.stub = rpc.RpcStub(guid, self.socket, mds.MDS)