Beispiel #1
0
 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)
Beispiel #2
0
	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
Beispiel #3
0
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)
Beispiel #4
0
	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)
Beispiel #5
0
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'
Beispiel #6
0
 def __init__(self):
     self.registry = {}
     self.service = None
     self.guid = Guid.generate()
     self.stub = rpc.RpcStub(self.guid, None, ChkSvr_mock.ChunkServer)
Beispiel #7
0
	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)