Refactored protobuf framework, added loader
Included changes:
* Initial adapter interface spec
* Adapter loader to auto-load adapters
* Initial adapter NBI
* Better import support in chameleon, allowing more flexible
protobuf structure (by organizing artifacts and service
into separate proto files.
* Refactored voltha.proto to split things into logical proto
modules.
* Some additional cleanup
Change-Id: I75f9883c6992148ea8df430bcdaebf85115fea4a
diff --git a/chameleon/protos/schema.proto b/chameleon/protos/schema.proto
index 2a1ec08..0c06feb 100644
--- a/chameleon/protos/schema.proto
+++ b/chameleon/protos/schema.proto
@@ -2,6 +2,8 @@
package schema;
+import "google/protobuf/empty.proto";
+
// Contains the name and content of a *.proto file
message ProtoFile {
string file_name = 1; // name of proto file
@@ -17,13 +19,10 @@
}
-// Empty message
-message NullMessage {}
-
// Schema services
service SchemaService {
// Return active grpc schemas
- rpc GetSchema(NullMessage) returns (Schemas) {}
+ rpc GetSchema(google.protobuf.Empty) returns (Schemas) {}
}
diff --git a/chameleon/protos/schema_pb2.py b/chameleon/protos/schema_pb2.py
index f5f17d2..537ba02 100644
--- a/chameleon/protos/schema_pb2.py
+++ b/chameleon/protos/schema_pb2.py
@@ -13,14 +13,16 @@
_sym_db = _symbol_database.Default()
+from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='schema.proto',
package='schema',
syntax='proto3',
- serialized_pb=_b('\n\x0cschema.proto\x12\x06schema\"A\n\tProtoFile\x12\x11\n\tfile_name\x18\x01 \x01(\t\x12\r\n\x05proto\x18\x02 \x01(\t\x12\x12\n\ndescriptor\x18\x03 \x01(\x0c\",\n\x07Schemas\x12!\n\x06protos\x18\x01 \x03(\x0b\x32\x11.schema.ProtoFile\"\r\n\x0bNullMessage2D\n\rSchemaService\x12\x33\n\tGetSchema\x12\x13.schema.NullMessage\x1a\x0f.schema.Schemas\"\x00\x62\x06proto3')
-)
+ serialized_pb=_b('\n\x0cschema.proto\x12\x06schema\x1a\x1bgoogle/protobuf/empty.proto\"A\n\tProtoFile\x12\x11\n\tfile_name\x18\x01 \x01(\t\x12\r\n\x05proto\x18\x02 \x01(\t\x12\x12\n\ndescriptor\x18\x03 \x01(\x0c\",\n\x07Schemas\x12!\n\x06protos\x18\x01 \x03(\x0b\x32\x11.schema.ProtoFile2G\n\rSchemaService\x12\x36\n\tGetSchema\x12\x16.google.protobuf.Empty\x1a\x0f.schema.Schemas\"\x00\x62\x06proto3')
+ ,
+ dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
@@ -66,8 +68,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=24,
- serialized_end=89,
+ serialized_start=53,
+ serialized_end=118,
)
@@ -97,38 +99,13 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=91,
- serialized_end=135,
-)
-
-
-_NULLMESSAGE = _descriptor.Descriptor(
- name='NullMessage',
- full_name='schema.NullMessage',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- ],
- extensions=[
- ],
- nested_types=[],
- enum_types=[
- ],
- options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=137,
- serialized_end=150,
+ serialized_start=120,
+ serialized_end=164,
)
_SCHEMAS.fields_by_name['protos'].message_type = _PROTOFILE
DESCRIPTOR.message_types_by_name['ProtoFile'] = _PROTOFILE
DESCRIPTOR.message_types_by_name['Schemas'] = _SCHEMAS
-DESCRIPTOR.message_types_by_name['NullMessage'] = _NULLMESSAGE
ProtoFile = _reflection.GeneratedProtocolMessageType('ProtoFile', (_message.Message,), dict(
DESCRIPTOR = _PROTOFILE,
@@ -144,13 +121,6 @@
))
_sym_db.RegisterMessage(Schemas)
-NullMessage = _reflection.GeneratedProtocolMessageType('NullMessage', (_message.Message,), dict(
- DESCRIPTOR = _NULLMESSAGE,
- __module__ = 'schema_pb2'
- # @@protoc_insertion_point(class_scope:schema.NullMessage)
- ))
-_sym_db.RegisterMessage(NullMessage)
-
import grpc
from grpc.beta import implementations as beta_implementations
@@ -171,7 +141,7 @@
"""
self.GetSchema = channel.unary_unary(
'/schema.SchemaService/GetSchema',
- request_serializer=NullMessage.SerializeToString,
+ request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
response_deserializer=Schemas.FromString,
)
@@ -192,7 +162,7 @@
rpc_method_handlers = {
'GetSchema': grpc.unary_unary_rpc_method_handler(
servicer.GetSchema,
- request_deserializer=NullMessage.FromString,
+ request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
response_serializer=Schemas.SerializeToString,
),
}
@@ -222,7 +192,7 @@
def beta_create_SchemaService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
request_deserializers = {
- ('schema.SchemaService', 'GetSchema'): NullMessage.FromString,
+ ('schema.SchemaService', 'GetSchema'): google_dot_protobuf_dot_empty__pb2.Empty.FromString,
}
response_serializers = {
('schema.SchemaService', 'GetSchema'): Schemas.SerializeToString,
@@ -236,7 +206,7 @@
def beta_create_SchemaService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
request_serializers = {
- ('schema.SchemaService', 'GetSchema'): NullMessage.SerializeToString,
+ ('schema.SchemaService', 'GetSchema'): google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
}
response_deserializers = {
('schema.SchemaService', 'GetSchema'): Schemas.FromString,