updated protobuf to use string instead of bytes for 2/3 compatibility for now, updated default service in grpc tests, fixed byte string issues for python3 in coreapi

This commit is contained in:
Blake Harnden 2019-06-03 13:34:54 -07:00
parent 7efec88e79
commit 69b1297002
5 changed files with 23 additions and 23 deletions

View file

@ -757,7 +757,7 @@ class CoreGrpcClient(object):
""" """
request = core_pb2.SaveXmlRequest(session_id=session_id) request = core_pb2.SaveXmlRequest(session_id=session_id)
response = self.stub.SaveXml(request) 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) xml_file.write(response.data)
def open_xml(self, file_path): def open_xml(self, file_path):
@ -768,7 +768,7 @@ class CoreGrpcClient(object):
:return: response with opened session id :return: response with opened session id
:rtype: core_pb2.OpenXmlResponse :rtype: core_pb2.OpenXmlResponse
""" """
with open(file_path, "rb") as xml_file: with open(file_path, "r") as xml_file:
data = xml_file.read() data = xml_file.read()
request = core_pb2.OpenXmlRequest(data=data) request = core_pb2.OpenXmlRequest(data=data)
return self.stub.OpenXml(request) return self.stub.OpenXml(request)

View file

@ -438,14 +438,14 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
if last_check is not None: if last_check is not None:
interval = now - last_check interval = now - last_check
throughputs_event = core_pb2.ThroughputsEvent() 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) previous_rxtx = last_stats.get(key)
if not previous_rxtx: if not previous_rxtx:
continue continue
rx_kbps = (current_rxtx["rx"] - previous_rxtx["rx"]) * 8.0 / interval rx_kbps = (current_rxtx["rx"] - previous_rxtx["rx"]) * 8.0 / interval
tx_kbps = (current_rxtx["tx"] - previous_rxtx["tx"]) * 8.0 / interval tx_kbps = (current_rxtx["tx"] - previous_rxtx["tx"]) * 8.0 / interval
throughput = rx_kbps + tx_kbps throughput = rx_kbps + tx_kbps
print "%s - %s" % (key, throughput)
if key.startswith("veth"): if key.startswith("veth"):
key = key.split(".") key = key.split(".")
node_id = int(_INTERFACE_REGEX.search(key[0]).group()) node_id = int(_INTERFACE_REGEX.search(key[0]).group())
@ -922,7 +922,7 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
_, temp_path = tempfile.mkstemp() _, temp_path = tempfile.mkstemp()
session.save_xml(temp_path) 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() data = xml_file.read()
return core_pb2.SaveXmlResponse(data=data) return core_pb2.SaveXmlResponse(data=data)
@ -933,7 +933,7 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
session.set_state(EventTypes.CONFIGURATION_STATE) session.set_state(EventTypes.CONFIGURATION_STATE)
_, temp_path = tempfile.mkstemp() _, 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) xml_file.write(request.data)
try: try:

View file

@ -219,12 +219,12 @@ class CoreTlvDataUint16List(CoreTlvData):
if not isinstance(values, tuple): if not isinstance(values, tuple):
raise ValueError("value not a tuple: %s" % values) raise ValueError("value not a tuple: %s" % values)
data = "" data = b""
for value in values: for value in values:
data += struct.pack(cls.data_format, value) data += struct.pack(cls.data_format, value)
pad_len = -(CoreTlv.header_len + len(data)) % 4 pad_len = -(CoreTlv.header_len + len(data)) % 4
return len(data), data + "\0" * pad_len return len(data), data + b"\0" * pad_len
@classmethod @classmethod
def unpack(cls, data): def unpack(cls, data):

View file

@ -242,7 +242,7 @@ message SessionEvent {
int32 node_id = 1; int32 node_id = 1;
int32 event = 2; int32 event = 2;
string name = 3; string name = 3;
bytes data = 4; string data = 4;
float time = 5; float time = 5;
int32 session_id = 6; int32 session_id = 6;
} }
@ -283,8 +283,8 @@ message FileEvent {
string type = 6; string type = 6;
string source = 7; string source = 7;
int32 session_id = 8; int32 session_id = 8;
bytes data = 9; string data = 9;
bytes compressed_data = 10; string compressed_data = 10;
} }
message AddNodeRequest { message AddNodeRequest {
@ -487,7 +487,7 @@ message GetNodeServiceFileRequest {
} }
message GetNodeServiceFileResponse { message GetNodeServiceFileResponse {
bytes data = 1; string data = 1;
} }
message SetNodeServiceRequest { message SetNodeServiceRequest {
@ -508,7 +508,7 @@ message SetNodeServiceFileRequest {
int32 node_id = 2; int32 node_id = 2;
string service = 3; string service = 3;
string file = 4; string file = 4;
bytes data = 5; string data = 5;
} }
message SetNodeServiceFileResponse { message SetNodeServiceFileResponse {
@ -610,11 +610,11 @@ message SaveXmlRequest {
} }
message SaveXmlResponse { message SaveXmlResponse {
bytes data = 1; string data = 1;
} }
message OpenXmlRequest { message OpenXmlRequest {
bytes data = 1; string data = 1;
} }
message OpenXmlResponse { message OpenXmlResponse {
@ -712,7 +712,7 @@ message ExceptionLevel {
message Hook { message Hook {
SessionState.Enum state = 1; SessionState.Enum state = 1;
string file = 2; string file = 2;
bytes data = 3; string data = 3;
} }
message ServiceDefaults { message ServiceDefaults {

View file

@ -677,7 +677,7 @@ class TestGrpc:
# then # then
with client.context_connect(): 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 # then
assert len(response.service.configs) > 0 assert len(response.service.configs) > 0
@ -690,7 +690,7 @@ class TestGrpc:
# then # then
with client.context_connect(): 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 # then
assert response.data is not None assert response.data is not None
@ -700,7 +700,7 @@ class TestGrpc:
client = CoreGrpcClient() client = CoreGrpcClient()
session = grpc_server.coreemu.create_session() session = grpc_server.coreemu.create_session()
node = session.add_node() node = session.add_node()
service_name = "IPForward" service_name = "DefaultRoute"
validate = ["echo hello"] validate = ["echo hello"]
# then # then
@ -717,8 +717,8 @@ class TestGrpc:
client = CoreGrpcClient() client = CoreGrpcClient()
session = grpc_server.coreemu.create_session() session = grpc_server.coreemu.create_session()
node = session.add_node() node = session.add_node()
service_name = "IPForward" service_name = "DefaultRoute"
file_name = "ipforward.sh" file_name = "defaultroute.sh"
file_data = "echo hello" file_data = "echo hello"
# then # then
@ -735,7 +735,7 @@ class TestGrpc:
client = CoreGrpcClient() client = CoreGrpcClient()
session = grpc_server.coreemu.create_session() session = grpc_server.coreemu.create_session()
node = session.add_node() node = session.add_node()
service_name = "IPForward" service_name = "DefaultRoute"
# then # then
with client.context_connect(): with client.context_connect():
@ -881,7 +881,7 @@ class TestGrpc:
with client.context_connect(): with client.context_connect():
client.events(session.id, handle_event) client.events(session.id, handle_event)
time.sleep(0.1) 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) session.broadcast_file(file_data)
# then # then