This week I am going to release Zoe version 0.10.2. It is a minor release with
a few bug fixes.
At the same time I started work on a branch called “backend-abstraction”. It
will contain two major changes:
1. Scheduler abstraction: Zoe will contain multiple schedulers and the
deployer will be able to choose one via a configuration option. Two schedulers
will be released at the beginning, the current one, called “simple” and the one
the we implemented in November, called “elastic”, with two policies: FIFO and
size-based. For now the default will be to use the “simple” one.
2. Backend abstraction: this change is the biggest one, with several side
effects. As for schedulers it will be possible to select which backend to
enable with a configuration option. I’m working at providing a generic
interface that backend modules should implement to be used by the Zoe scheduler
to create and destroy containers. I plan to provide support for the old and new
Swarm, perhaps also for docker-engine. After that we can integrate Nhat’s work
Change #2 has implications in the ZApp format. As for logs (see my last email)
different backends provide different features and Zoe should provide an
high-level general interface on top of them. I plan to formalize environment
variables and volumes that will be automatically added by Zoe to all
executions. This will help standardize how ZApp images are made and should
simplify the creation of new ZApps.
It also means that current ZApps will stop working and will need to be ported.
This branch will be merged with master and will become the 0.20.x series.
0.20.0-beta should be merged with the master branch by the end of next week.
Distributed Systems Group – Eurecom