diff --git a/daemon/core/api/grpc/client.py b/daemon/core/api/grpc/client.py index 90141162..a1d218be 100644 --- a/daemon/core/api/grpc/client.py +++ b/daemon/core/api/grpc/client.py @@ -757,7 +757,7 @@ class CoreGrpcClient(object): """ request = core_pb2.SaveXmlRequest(session_id=session_id) response = self.stub.SaveXml(request) - with open(file_path, "wb") as xml_file: + with open(file_path, "w") as xml_file: xml_file.write(response.data) def open_xml(self, file_path): @@ -768,7 +768,7 @@ class CoreGrpcClient(object): :return: response with opened session id :rtype: core_pb2.OpenXmlResponse """ - with open(file_path, "rb") as xml_file: + with open(file_path, "r") as xml_file: data = xml_file.read() request = core_pb2.OpenXmlRequest(data=data) return self.stub.OpenXml(request) diff --git a/daemon/core/api/grpc/server.py b/daemon/core/api/grpc/server.py index 4d11cc46..a7955cb1 100644 --- a/daemon/core/api/grpc/server.py +++ b/daemon/core/api/grpc/server.py @@ -438,14 +438,14 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer): if last_check is not None: interval = now - last_check throughputs_event = core_pb2.ThroughputsEvent() - for key, current_rxtx in stats.iteritems(): + for key in stats: + current_rxtx = stats[key] previous_rxtx = last_stats.get(key) if not previous_rxtx: continue rx_kbps = (current_rxtx["rx"] - previous_rxtx["rx"]) * 8.0 / interval tx_kbps = (current_rxtx["tx"] - previous_rxtx["tx"]) * 8.0 / interval throughput = rx_kbps + tx_kbps - print "%s - %s" % (key, throughput) if key.startswith("veth"): key = key.split(".") node_id = int(_INTERFACE_REGEX.search(key[0]).group()) @@ -922,7 +922,7 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer): _, temp_path = tempfile.mkstemp() session.save_xml(temp_path) - with open(temp_path, "rb") as xml_file: + with open(temp_path, "r") as xml_file: data = xml_file.read() return core_pb2.SaveXmlResponse(data=data) @@ -933,7 +933,7 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer): session.set_state(EventTypes.CONFIGURATION_STATE) _, temp_path = tempfile.mkstemp() - with open(temp_path, "wb") as xml_file: + with open(temp_path, "w") as xml_file: xml_file.write(request.data) try: diff --git a/daemon/core/api/tlv/coreapi.py b/daemon/core/api/tlv/coreapi.py index 40227bcc..73cb0daf 100644 --- a/daemon/core/api/tlv/coreapi.py +++ b/daemon/core/api/tlv/coreapi.py @@ -219,12 +219,12 @@ class CoreTlvDataUint16List(CoreTlvData): if not isinstance(values, tuple): raise ValueError("value not a tuple: %s" % values) - data = "" + data = b"" for value in values: data += struct.pack(cls.data_format, value) pad_len = -(CoreTlv.header_len + len(data)) % 4 - return len(data), data + "\0" * pad_len + return len(data), data + b"\0" * pad_len @classmethod def unpack(cls, data): diff --git a/daemon/proto/core/api/grpc/core.proto b/daemon/proto/core/api/grpc/core.proto index 013135f2..8bbf676b 100644 --- a/daemon/proto/core/api/grpc/core.proto +++ b/daemon/proto/core/api/grpc/core.proto @@ -242,7 +242,7 @@ message SessionEvent { int32 node_id = 1; int32 event = 2; string name = 3; - bytes data = 4; + string data = 4; float time = 5; int32 session_id = 6; } @@ -283,8 +283,8 @@ message FileEvent { string type = 6; string source = 7; int32 session_id = 8; - bytes data = 9; - bytes compressed_data = 10; + string data = 9; + string compressed_data = 10; } message AddNodeRequest { @@ -487,7 +487,7 @@ message GetNodeServiceFileRequest { } message GetNodeServiceFileResponse { - bytes data = 1; + string data = 1; } message SetNodeServiceRequest { @@ -508,7 +508,7 @@ message SetNodeServiceFileRequest { int32 node_id = 2; string service = 3; string file = 4; - bytes data = 5; + string data = 5; } message SetNodeServiceFileResponse { @@ -610,11 +610,11 @@ message SaveXmlRequest { } message SaveXmlResponse { - bytes data = 1; + string data = 1; } message OpenXmlRequest { - bytes data = 1; + string data = 1; } message OpenXmlResponse { @@ -712,7 +712,7 @@ message ExceptionLevel { message Hook { SessionState.Enum state = 1; string file = 2; - bytes data = 3; + string data = 3; } message ServiceDefaults { diff --git a/daemon/tests/test_grpc.py b/daemon/tests/test_grpc.py index 8daf88b8..416147d7 100644 --- a/daemon/tests/test_grpc.py +++ b/daemon/tests/test_grpc.py @@ -677,7 +677,7 @@ class TestGrpc: # then with client.context_connect(): - response = client.get_node_service(session.id, node.id, "IPForward") + response = client.get_node_service(session.id, node.id, "DefaultRoute") # then assert len(response.service.configs) > 0 @@ -690,7 +690,7 @@ class TestGrpc: # then with client.context_connect(): - response = client.get_node_service_file(session.id, node.id, "IPForward", "ipforward.sh") + response = client.get_node_service_file(session.id, node.id, "DefaultRoute", "defaultroute.sh") # then assert response.data is not None @@ -700,7 +700,7 @@ class TestGrpc: client = CoreGrpcClient() session = grpc_server.coreemu.create_session() node = session.add_node() - service_name = "IPForward" + service_name = "DefaultRoute" validate = ["echo hello"] # then @@ -717,8 +717,8 @@ class TestGrpc: client = CoreGrpcClient() session = grpc_server.coreemu.create_session() node = session.add_node() - service_name = "IPForward" - file_name = "ipforward.sh" + service_name = "DefaultRoute" + file_name = "defaultroute.sh" file_data = "echo hello" # then @@ -735,7 +735,7 @@ class TestGrpc: client = CoreGrpcClient() session = grpc_server.coreemu.create_session() node = session.add_node() - service_name = "IPForward" + service_name = "DefaultRoute" # then with client.context_connect(): @@ -881,7 +881,7 @@ class TestGrpc: with client.context_connect(): client.events(session.id, handle_event) time.sleep(0.1) - file_data = session.services.get_service_file(node, "IPForward", "ipforward.sh") + file_data = session.services.get_service_file(node, "DefaultRoute", "defaultroute.sh") session.broadcast_file(file_data) # then