Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor scalability mechanism - make it _container agnostic_ #313

Closed
kuba-- opened this issue Oct 4, 2019 · 6 comments
Closed

Refactor scalability mechanism - make it _container agnostic_ #313

kuba-- opened this issue Oct 4, 2019 · 6 comments
Assignees
Labels
enhancement Epic tracking (☂) Umbrella or tracking issues with multiple subparts

Comments

@kuba--
Copy link
Member

kuba-- commented Oct 4, 2019

Based on Q&A session, the current driver container management approach in Babelfish has some potential problems with compatibility across different OS.

We agreed to switch to docker API as a standard runtime for drivers.

@kuba-- kuba-- self-assigned this Oct 4, 2019
@kuba--
Copy link
Member Author

kuba-- commented Oct 4, 2019

It's also partly related to #293

@kuba-- kuba-- changed the title Switch to docker API Switch to docker/containerd API Oct 4, 2019
@dennwc
Copy link
Member

dennwc commented Oct 8, 2019

Also note that one of the considered options is containerd, which is used by Docker under the hood. It's not as low-level as libcontainer and is more similar to Docker itself in this regard.

But running in Docker first makes a lot of sense.

@kuba--
Copy link
Member Author

kuba-- commented Oct 9, 2019

@bblfsh/maintainers
I moved this design to the doc: https://docs.google.com/document/d/1671ApmxFCOmerVKloVC6Q6j8BsJr8xZHbhuE40ZK-as/edit?usp=sharing

So far, there is nothing more (just copied the current proposal), but we can continue discussion in the doc (like @creachadair suggested).

@smola
Copy link
Member

smola commented Oct 15, 2019

Please, consider how this will run in a Kubernetes pod and a docker-compose service. If we use Docker backend, we might effectively need a Docker in Docker setup. In any case, creating a runtime interface sounds great and I hope it might help with rootless containers at some point.

@creachadair
Copy link
Contributor

We discussed this a bit more in https://github.com/src-d/minutes/pull/778. While there are important design elements we still need to investigate, we broadly agreed that our target state should:

  1. Separate scalability support from basic operation,
  2. Delegate scalability to other components (e.g., Kubernetes), but
  3. Support running locally for simple workloads without requiring users to install complex dependences (e.g., minikube),
  4. Not require privileged containers (per above, see also Run containers in rootless mode #153 for context), and
  5. (Nice to have, if practical) Be runnable locally even without containerization.

Some of the issues we'll need to cover are in the minutes and the associated doc.

@kuba-- kuba-- changed the title Switch to docker/containerd API Refactor scalability mechanism - make it _container agnostic_ Oct 24, 2019
@bblfsh bblfsh deleted a comment from dennwc Oct 24, 2019
@bblfsh bblfsh deleted a comment from creachadair Oct 24, 2019
@kuba--
Copy link
Member Author

kuba-- commented Oct 24, 2019

I made this task as epic/umbrella task. Following sub-tasks may also be tracking tasks, so if it's needed we can split them as well, as needed:

@kuba-- kuba-- added epic: ☂ tracking (☂) Umbrella or tracking issues with multiple subparts labels Oct 24, 2019
@kuba-- kuba-- added Epic and removed epic: ☂ labels Oct 24, 2019
@kuba-- kuba-- closed this as completed Jan 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Epic tracking (☂) Umbrella or tracking issues with multiple subparts
Projects
None yet
Development

No branches or pull requests

4 participants