This repository has been archived by the owner on Dec 3, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
Refactoring Scheduler for Pluggable Backends #212
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
…es at least Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Mierdin
changed the title
VERY WIP - beginning refactor of scheduler for pluggability
Refactoring Scheduler for Pluggable Backends
May 7, 2021
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
…t scheduler Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Codecov Report
@@ Coverage Diff @@
## master #212 +/- ##
==========================================
+ Coverage 28.00% 28.54% +0.53%
==========================================
Files 24 24
Lines 2246 2032 -214
==========================================
- Hits 629 580 -49
+ Misses 1553 1402 -151
+ Partials 64 50 -14
Continue to review full report at Codecov.
|
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Mierdin
force-pushed
the
issue-211/pluggable-backend
branch
from
May 12, 2021 19:13
e9daa68
to
533dc6b
Compare
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Signed-off-by: Matt Oswalt <matt@oswalt.dev>
…the API Signed-off-by: Matt Oswalt <matt@oswalt.dev>
Mierdin
force-pushed
the
issue-211/pluggable-backend
branch
from
May 15, 2021 02:52
ff44e76
to
d13e8b5
Compare
# for free
to subscribe to this conversation on GitHub.
Already have an account?
#.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The existing Antidote API is fairly abstract - primitives like
lessons
,collections
,livelessons
,livesessions
, etc. were conceived intentionally to obscure underlying infrastructure details, so that lesson authors didn't have to care about those things.However, within the Antidote scheduler, translation of those abstract primitives to the backend infrastructure was done fairly statically; since Kubernetes was the only backend implementation that was planned, these primitives always translated to some kind of Kubernetes API call. So, while the lesson author never had to know anything about Kubernetes, everything still had to run on top of Kubernetes in order to function.
This PR begins the effort changing this requirement by formalizing the boundary between the core scheduler, and the
backend
implementations, and ensuring that all backend-specific details are well-contained within these implementations. This PR does not include an alternative backend implementation, such as for OpenStack, vSphere, or a cloud provider, but rather refactors the existing scheduler to make this possible. It also converts the existing Kubernetes implementation into this new modular architecture. Future efforts could implement alternative backends by following the example and documentation created here.Summary of Changes
AntidoteBackend
interface, but also documenting plenty of other conventions - see includedscheduler/backends/README.md
for more details.