Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Monorepo for server-side components (#417)
* We use Pants (www.pantsbuild.org) as our build toolchain. - Details will follow in subsequent document updates. * Add a custom setup generator plugin for Pants - It single-sources the version number from VERSION. - It takes the description, license, name from kwargs. - It validates the package name to start with "backend.ai-". - It takes the long-description from package-specific README. * Add a custom platform-specific dependency selector for Pants - It provides `platform_resources()` target with a per-platform dependency map. (Thanks to Andreas Stenius) * Move mypy/pytest configs to root `pyproject.toml` - flake8 does not support pyproject.toml yet (PyCQA/flake8#234), so keep it at `.flake8` - Explicitly add `setuptools` as requirement of flake8 because flake8 uses `pkg_resources` to detect its own plugin entrypoints. * Implement entrypoint scan with BUILD files for CLI * Our new plugin subsystem (`ai.backend.plugin`) uses `importlib`-based entrypoints. - This removes dependency to setuptools at runtime. * Update gitignore * Add `./py`, `./backend.ai` shortcuts to run commands in exported venv - Finally implement truly unified CLI via `./backend.ai`! * Rewrite GitHub Actions workflows * Notable non-trivial Pants configs - Set `[GLOBAL].local_execution_root_dir` to a non-tmp directory because Snap-based Docker cannot access it! - `aiosqlite` is not explicitly imported but specified as a SQLAlchemy server URL scheme, so declare a manual dependency in manager tests. - Add `[pytest].execution_slot_var` config for test parallelization * Mark storage-proxy tests as "integration" that require external dependency - Integration tests are skipped! * Update test fixtures - Spawn a single-node etcd container with OS-assigned port numbers - Self-bootstrap db containers for isolated and parallel testing * Reorganize packages - ai.backend.helpers -> backend.ai-kernel-helper - ai.backend.kernel -> backend.ai-kernel - ai.backend.runner -> backend.ai-kernel-binary * Let it build packages for only Python 3.10 - Without the upper bound, it tries to use Python 3.11-dev if available but aiohttp fails to build there. (aio-libs/aiohttp#6600) * Rewrite scripts/install-dev and scripts/delete-dev - Change the container volume path for halfstack containers to "./volumes" - When Docker is installed via Snap, it must be 20.10.15 or later to have a working `docker compose` (v2) plugin with `sudo`. - Remove the auto-install routine but just show the guides - Now we support and use docker-compose v2 only * Import `backend.ai-common` source (c864ccbe1) * Import `backend.ai-agent` source (98aeeb98) * Import `backend.ai-manager` source (85d16f0) * Import `backend.ai-client-py` source (b6d03cc) * Import `backend.ai-webserver` source (81506cc) * Import `backend.ai-storage-proxy` source (8019533) * Import `backend.ai-tester` source (ab85fab5c) Co-authored-by: Andreas Stenius <git@astekk.se>
- Loading branch information
Showing
743 changed files
with
105,502 additions
and
599 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[flake8] | ||
# ref: http://pep8.readthedocs.io/en/latest/intro.html#error-codes | ||
ignore = E126,E127,E128,E129,E722,E731,E221,E241,E401,W503,W504,N801,N802 | ||
max-line-length = 125 | ||
builtins = _ | ||
exclude = .git,.cache,.idea,.egg,__pycache__,venv,dist,build,docs,src/ai/backend/manager/models/alembic/**,*.pyi | ||
|
||
# vim: ft=dosini |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
src/ai/backend/runner/scp.alpine3.8.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.ubuntu20.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.alpine3.8.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.centos7.6.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.centos7.6.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.ubuntu16.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/tmux.glibc.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbear.musl.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/jail.alpine3.8.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.alpine3.8.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearconvert.musl.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbear.glibc.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbear.musl.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.centos7.6.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.centos7.6.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.ubuntu18.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.ubuntu16.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/tmux.musl.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearkey.glibc.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearkey.glibc.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearkey.musl.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.ubuntu16.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.ubuntu16.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.alpine3.8.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.ubuntu20.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.ubuntu20.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearconvert.glibc.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbear.glibc.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.ubuntu18.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.ubuntu18.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.alpine3.8.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.ubuntu20.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.ubuntu18.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/jail.ubuntu16.04.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.ubuntu18.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.centos7.6.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.centos7.6.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.ubuntu18.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/tmux.glibc.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearconvert.glibc.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearkey.musl.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/tmux.musl.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/dropbearconvert.musl.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.alpine3.8.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.ubuntu16.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/scp.ubuntu20.04.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/sftp-server.ubuntu20.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/su-exec.ubuntu16.04.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/krunner-extractor.img.aarch64.tar.xz filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/krunner-extractor.img.x86_64.tar.xz filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/agent/docker/backendai-socket-relay.img.x86_64.tar.gz filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/agent/docker/linuxkit-nsenter.img.aarch64.tar.gz filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/agent/docker/linuxkit-nsenter.img.x86_64.tar.gz filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/agent/docker/backendai-socket-relay.img.aarch64.tar.gz filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/agent/docker/linuxkit-metadata-proxy-worker.aarch64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/agent/docker/linuxkit-metadata-proxy-worker.x86_64.bin filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/agent/kubernetes/backendai-socket-relay.img.tar.gz filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/libbaihook.alpine3.8.aarch64.so filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/libbaihook.alpine3.8.x86_64.so filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/libbaihook.centos7.6.aarch64.so filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/libbaihook.centos7.6.x86_64.so filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/libbaihook.ubuntu18.04.x86_64.so filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/libbaihook.ubuntu20.04.aarch64.so filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/libbaihook.ubuntu20.04.x86_64.so filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/roboto-italic.ttf filter=lfs diff=lfs merge=lfs -text | ||
src/ai/backend/runner/roboto.ttf filter=lfs diff=lfs merge=lfs -text |
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
Oops, something went wrong.