Re: ANN: Mesos bindings for Haskell

2014-09-12 Thread Vinod Kone
Great to see the Haskell bindings Ian!

See my answers inline.

* It seems like there are portions of mesos.proto that aren’t
> currently supported by the API yet: in particular, “Credentials”, “ACL”,
> “ACLS”, “RateLimit”, & “RateLimits” don’t seem like they do anything yet.
> Am I missing something?
>
>
The protos you mentioned are used by Masters/Slaves. I don't remember off
hand why they are in the public mesos.proto instead of the internal
messages.proto. If there is no good reason, we should move them to the
latter.



> * Is there a way to add information about additional resources
> besides CPUs/Mem/Ports?
>
>
What sort of information? Currently we have isolators for only these
resources. If you add new types (e.g., IPs) , Mesos should do the
accounting correctly but not provide any isolation.



> * When an executor sends a message, it’s considered “best effort”–
> what does that mean in practice? How do people currently use this
> functionality?
>

I'm assuming you are referring to the Executor::sendFrameworkMessage(). It
is best effort in the sense that Mesos doesn't try to retry the message
(unlike status updates) if it fails anywhere on the path from
slave->master->framework (e.g., due to master failover). Executors could
use this to send periodic messages where losing a message is not
catastrophic. For example Aurora uses this to do periodic state
reconciliation.


ANN: Mesos bindings for Haskell

2014-09-11 Thread Ian Duncan
I’ve written pretty comprehensive Haskell bindings for Mesos that wrap the C++ 
API:

https://github.com/iand675/hs-mesos
http://hackage.haskell.org/package/hs-mesos

In the process of putting the package together, I ended up with some questions:

* It seems like there are portions of mesos.proto that aren’t currently 
supported by the API yet: in particular, “Credentials”, “ACL”, “ACLS”, 
“RateLimit”, & “RateLimits” don’t seem like they do anything yet. Am I missing 
something?

* Is there a way to add information about additional resources besides 
CPUs/Mem/Ports?

* When an executor sends a message, it’s considered “best effort”– what 
does that mean in practice? How do people currently use this functionality?

– Ian Duncan