[MidoNet-dev] MN 2.0 protobuf distribution

Tomohiko Kimura tomohiko at midokura.com
Wed Mar 18 04:30:38 UTC 2015

Hey Taku;

Could you please provide us with the context on why and which components
would use gRPC and when that is expected?


On Wed, Mar 18, 2015 at 11:40 AM, Taku Fukushima <tfukushima at midokura.com>

> Hi devs,
> This is great. I though the single or multiple .proto files in MidoNet
> repo is enough at the first place and we can just curl/wget raw files to
> generate any clients.
> However, I tried it and I found the repository separation would be more
> convenient from the user perspective. I don't want to care about where the
> protobuf files are and I want the nice documentation to get started
> extremely easily form a user perspective. Of course I know both of them but
> at the current point it's totally unclear how external developers can get
> started. Storing protobuf files in MidoNet repo seems it's tightly coupled
> with only MidoNet despite the fact protobuf files are for clients
> independent from MidoNet.
> I hope this protobuf files would evolve towards 3.0 because of gRPC. gRPC
> only supports protobuf 3.0 and it'd take some time to migrate 2.x to 3.0
> because of the major change of the specification, especially the
> significant simplification such as the removal of required fields and
> default values. In addition to that 3.0 is still in alpha. In that case we
> may need to version these IDLs carefully.
> https://github.com/google/protobuf/releases/tag/v3.0.0-alpha-2
> http://www.grpc.io/
> I tried protobuf 3.0 with the current IDLs and I needed some modifications.
> https://gist.github.com/tfukushima/046ebc87fc942e2e2b66
> After these modifications, I could compile IDLs with the following
> command, for instance. Although their syntax would be valid, I don't think
> their semantics are compatible with previous ones and we need to figure out
> how we can migrate from protobuf 2.0 to 3.0.
> $ protoc -I. --cpp_out=mn_proto topology.proto
> Best regards,
> Taku Fukushima
> On Tue, Mar 17, 2015 at 9:47 PM, Galo Navarro <galo at midokura.com> wrote:
>> Hi devs,
>> As most of you know MN 2.0 will have its low level models implemented
>> using protocol buffers, the current version is at:
>> https://github.com/midonet/midonet/blob/master/cluster/src/main/proto/topology.proto
>> These models are used not only for storage in the cluster, but also to
>> expose the topology to other components (such as the neutron plugin,
>> or other proprietary tools like Midokura's Midonet Manager). These
>> components use the .proto file above to compile the models in their
>> own language and retrieve them form our Topology API via tcp,
>> websockets, etc.
>> Currently these components simply copy the topology.proto from master
>> now and then generate their sources. Of course this is valid during
>> dev, but not beyond.
>> We need a better way to distribute this and other .proto files, in a
>> way that other components can easily retrieve updates, pin to specific
>> versions, etc.
>> I have my own ideas, but I'm more interested in hearing some from the
>> "user" perspective. Any suggestions, preferences, questions?
>> Thanks!
>> g
>> _______________________________________________
>> MidoNet-dev mailing list
>> MidoNet-dev at lists.midonet.org
>> http://lists.midonet.org/listinfo/midonet-dev
> _______________________________________________
> MidoNet-dev mailing list
> MidoNet-dev at lists.midonet.org
> http://lists.midonet.org/listinfo/midonet-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.midonet.org/pipermail/midonet-dev/attachments/20150318/4cabab34/attachment-0001.html>

More information about the MidoNet-dev mailing list