Ben, Thank you for clarifying. I thought the low-level api being referred in the video had to do with communication between master and framework|executor for scheduling. But, it's really administrative. I thought that would have been an opportunity for a Go binding that did not require the C++ libraries.
Thanks anyway. On Tue, Apr 8, 2014 at 4:52 PM, Benjamin Mahler <[email protected]>wrote: > Sorry, I was not referring to implementing a scheduler via JSON instead of > protobuf, in theory that would be possible but there has been no planning > in this area. Sorry for the confusion. > > I was referring to administrative endpoints. For example, kicking a > framework out or telling the master a slave is needs to be repaired. These > endpoints may rely on the ability to convert JSON to internal protobufs. > > Can you clarify what you're looking to do? Are you looking to implement an > API in Go that communicates with JSON instead of serialized protobuf? > > On Tue, Apr 8, 2014 at 1:19 PM, Vladimir Vivien > <[email protected]>wrote: > > > Ben, > > That is exactly what I am asking. > > Is that something coming up soon, is there a JIRA I can look at? > > I wanna get early start on a native json Go api or even help out if > > possible. > > > > > > On Tue, Apr 8, 2014 at 3:25 PM, Benjamin Mahler > > <[email protected]>wrote: > > > > > +vinod, benh > > > > > > Hey Vladimir, there will be some authenticated REST endpoints at some > > > point, there is some work in this area underway. > > > > > > We have the ability to encode protobuf messages as JSON, so the plan > was > > to > > > have any REST endpoints directly use JSON to send us protobuf messages. > > I'm > > > not sure if this is what you're asking though? > > > > > > > > > On Tue, Apr 8, 2014 at 11:13 AM, Vetoshkin Nikita < > > > [email protected]> wrote: > > > > > > > I'm not a mesos guy, just very curious. But in my opinion - I doubt > it, > > > > HTTP is synchronous request-response protocol. Mesos needs something > > more > > > > robust for message passing. Websockets anyone? :) > > > > > > > > > > > > On Tue, Apr 8, 2014 at 10:08 PM, Vladimir Vivien > > > > <[email protected]>wrote: > > > > > > > > > Ben / Nikita > > > > > Thanks for the pointers. > > > > > So, (without digging yet) is it a fair summary to say that > libprocess > > > > wraps > > > > > protobufs-encoded calls and push them over HTTP to master/slaves ? > > Will > > > > > protobuf (eventually) be supplanted by direct HTTP via REST or > > similar > > > ? > > > > > > > > > > > > > > > On Mon, Apr 7, 2014 at 2:54 PM, Vetoshkin Nikita < > > > > > [email protected] > > > > > > wrote: > > > > > > > > > > > Or, just to get to know - you can take tcpdump and take a look :) > > > > > > > > > > > > I personally wouldn't call that HTTP. Something "HTTP-like" would > > > > > describe > > > > > > it better. Because it's not request-response. It's just message > > > > passing, > > > > > no > > > > > > need to wait for the answer - send new message one after another. > > > Every > > > > > > message is POST with address and message type encoded in URI: > POST > > > > > > /executor(1)/mesos.internal.RunTaskMessage. Sender is encoded in > > > > > User-Agent > > > > > > header, e.g: libprocess/slave(1)@127.0.0.1:5051. Body contains > > > > protobuf > > > > > > message, Transfer-Encoding is always "chunked". > > > > > > > > > > > > > > > > > > On Mon, Apr 7, 2014 at 10:42 PM, Benjamin Mahler > > > > > > <[email protected]>wrote: > > > > > > > > > > > > > Unfortunately you will need to learn this by looking at the > code > > in > > > > > > > libprocess, as the message passing format is not explicitly > > > > documented > > > > > at > > > > > > > the current time. > > > > > > > > > > > > > > Start with calls like ProtobufProcess::send() and dig your way > > > down. > > > > > > > > > > > > > > > > > > > > > On Sat, Apr 5, 2014 at 7:52 AM, Vladimir Vivien > > > > > > > <[email protected]>wrote: > > > > > > > > > > > > > > > I was watching this video from > > > > > > > > https://www.youtube.com/watch?v=n5GT7OFSh58from Ben where he > > > > talked > > > > > > > > about the wire protocol for Mesos being done in > > > > > > > > HTTP. > > > > > > > > > > > > > > > > Where can I learn about the low-level wire protocol either in > > > > > > > documentation > > > > > > > > or browsing through the code. > > > > > > > > > > > > > > > > Thanks. > > > > > > > > > > > > > > > > -- > > > > > > > > Vladimir Vivien > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Vladimir Vivien > > > > > > > > > > > > > > > > > > > > -- > > Vladimir Vivien > > > -- Vladimir Vivien
