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:
parent
7efec88e79
commit
69b1297002
5 changed files with 23 additions and 23 deletions
|
@ -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)
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue