Enable autopy-server to replicate across nodes - #1317
Merged
Conversation
Currently the autopy-server stores the autograder files on the local file-system via flask-admin. In Kubernetes, the file-system is managed via a persistent volume claim. However, the volume can only attach to a single node which means that all autopy-server pods have to be scheduled to the same node which limits fault tolerance and scalability. This change switches the autopy-server to use the new direct Azure Blob Storage integration for flask-admin which stores the autograder files in a non-local storage. As such, we can remove the persistent volume claim and autopy-server pods can now be scheduled to arbitrary nodes.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Currently the autopy-server stores the autograder files on the local
file-system via flask-admin. In Kubernetes, the file-system is managed
via a persistent volume claim. However, the volume can only attach to a
single node which means that all autopy-server pods have to be scheduled
to the same node which limits fault tolerance and scalability.
This change switches the autopy-server to use the new direct Azure Blob
Storage integration for flask-admin which stores the autograder files in
a non-local storage. As such, we can remove the persistent volume claim
and autopy-server pods can now be scheduled to arbitrary nodes.
This issue was found by @tmbgreaves.