+dev

Yup. You are right about the functions that need to be changed. Although
I'm not sure what you had in mind regarding registered() and reregistered()
calls on the scheduler driver and the slave. These are called once the
master acks their (re)registration. They could probably be used by the
clients to authenticate the master?


Regarding pulling the auth code into Mesos, I think the code on
https://github.com/ilimugur/sasltrial/ needs more refactoring. For example,
I see lot of common functionality between AuthenticatorClient and
AuthenticatorServer. Those need to be factored into a common class (class
SASL maybe?). Also your suggestion about properly defining the public and
private interface is really important. Right now the public interface is
exposing too much of the internals. I would recommend looking at
src/zookeeper to get an idea about how we wrap and use a 3rd party library.
We are likely going to create a src/authenticator directory where this code
lives.

I would suggest doing the refactoring in your github/sasltutorial repo
itself to begin with. Once we agree on the interface and the refactor we
can start integrating it into the code base. Sounds good? Do let me know if
you have any questions.

Thanks,


On Wed, Aug 28, 2013 at 2:40 PM, İlim Uğur <[email protected]> wrote:

> Hey,
>
> I have been looking into the best way of integrating my sasl code into
> Mesos. I believe a good way is turning the functions in my classes into
> private members and introducing a single public class that takes in the
> method of communication with the other party (a function pointer, maybe)
> and utilizes the private members of the class. In fact, if send() and
> reply() functions can suffice, that new function could work without any
> parameter, at least only for ANONYMOUS.
>
> I believe I found the exact classes and functions which I need to modify,
> but I just wanted to verify them by asking you.
>
> For master and slave:
>
> Master::registerSlave()
> Master::reregisterSlave()
> Master::unregisterSlave() (may not even need it, for now, as anonymous
> auth. is practically no auth)
> Master::deactivateSlave() (not sure about this one)
> Slave::doReliableRegistration()
> Slave::registered()
> Slave::reregistered()
>
> Can you think of any other functions that I need to modify for
> registration of clients to master(s)? Also, in order to handle
> master/scheduler authentication, I think I will need to modify the
> functions below.
>
> Master::registerFramework()
> Master::reregisterFramework()
> Master::unregisterFramework()
> Master::deactivateFramework()
>
> Are the counterpart of these functions the ones written below?
>
> SchedulerProcess::doReliableRegistration()
> SchedulerProcess::registered()
> SchedulerProcess::reregistered()
>
> Thanks for the help.
>
> - İlim
>

Reply via email to