[
https://issues.apache.org/jira/browse/MESOS-1224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13984658#comment-13984658
]
Niklas Quarfot Nielsen commented on MESOS-1224:
-----------------------------------------------
Hey Tim,
Just chatted with Ben about this. A few take-aways:
1) How about calling it "modules" (Mesos Modules perhaps) instead of
libraries/plugins?
2) We hacked a solution together which doesn't require new class types for
every component we want to modularize.
Instantiation/load would be done with:
Try<Allocator*> allocatorModule = module::load<Allocator*>("path_to_module.so");
CHECK_SOME(allocatorModule);
allocatorModule.get()->foobar(42, "improbable");
Taken the allocator (or whatever needs to be modularized) only has pure virtual
methods.
I will follow up with a branch with this code.
> Add dynamic loadable library abstraction to stout.
> --------------------------------------------------
>
> Key: MESOS-1224
> URL: https://issues.apache.org/jira/browse/MESOS-1224
> Project: Mesos
> Issue Type: Improvement
> Components: stout
> Reporter: Niklas Quarfot Nielsen
> Assignee: Niklas Quarfot Nielsen
> Priority: Minor
> Labels: extensibility
> Fix For: 0.19.0
>
>
> Adding a first class primitive, abstraction and process for dynamic library
> writing and loading can make it easier to extend inner workings of Mesos.
> Making it possible to have dynamic loadable resource allocators, isolators,
> containerizes, authenticators and much more.
> I think this could be a powerful feature, as we get even more extensible and
> flexible ways of setting up Mesos - but also for isolating dependencies and
> complexity in external libraries and to ease experimentation with new
> features. For example, imagine a loadable allocators which contains a VM
> (Lua, Python, ...) which makes it possible to try out new allocator
> algorithms without forcing those dependencies into the project.
> BenH and I chatted about the concrete details and I will follow up with small
> write-up/proposal.
--
This message was sent by Atlassian JIRA
(v6.2#6252)