This repository has been archived by the owner on Aug 2, 2023. It is now read-only.
21.03.0
21.03.0 (2021-03-29)
The v21.03.0 release is an integrated update for all features and fixes already applied to v20.09 series as additional patches, except that it now runs on top of Python 3.9.
Features
- Add
usage
field to theStorageVolume
graph object schema to provide the total capacity and usage (#389) - Add
cloneable
parameter in list_folders, update_vfolder_options and clone function in class vfolder (#393) - Add
is_dir
parameter to the rename_file API function to provide renaming directories in Vfolders (#397) - Add BACKENDAI_KERNEL_IMAGE environment variable inside a compute container. (#401)
Fixes
- Improve daemon shutdown stability using aiotools v1.2 (#386)
- Fix a regression in the idle timeout checker with session creation race fixes (#387)
- Prevent indefinite hang of the scheduler while handling agent/container launch failures and fix resource calculation when processing multiple asynchronous errors (#388)
- Update dependencies including aiojobs, pytest, mypy, pyzmq, python-snappy, and PyYAML. (#390)
- Refactor out
gateway.events
and move common facilities tocommon.events
to improve static typing of events and reduce possibility of serialization/deserialization bugs (#392) - Remove b-prefix in "push_background_task_events" function (#394)
- Explicitly use
yaml.safe_load()
for all YAML loader invocations to prevent potential future mistakes to set an unsafe loader, whcih may allow remote code execution (#395) - Update uvloop to 0.15.1 for better Python 3.8/3.9 support (and drop Python 3.5/3.6 support) (#398)
- Update pyzmq to v22 series to reduce its wheel distribution size and fix a fork-safety bug introduced in v20. (#399)
- Refactor internal dict-based state variables to be statically typed using explicitly defined attr classes, including the nested
aiohttp.web.Application
objects, the context object of Graphene resolvers, and the context object of Click. (#400) - Unable to fetch virtual folders list for superadmins. (#402)
- Scheduler for scaling group was entirely broken if only sub containers are running with main container is terminated. (#403)
- Idle timeout was not working since there was a type error on saving compute session's last_access time. (#404)
- Follow-up fixes for #400 (#405)
- Upgrade SQLAlchemy to v1.4 for native asyncio support and better transaction/concurrency handling (#406)
- Add PostgreSQL version check to adjust connection arguments (#407)
- Restructure the API layer by moving
ai.backend.gateway
modules toai.backend.manager.api
to make it consistent with other Backend.AI projects.- The module field of API-related log entries will now have
ai.backend.manager.api.
prefix instead ofai.backend.gateway.
- There is no changes in the TOML configuration but the
BACKEND_GATEWAY_NPROC
environment variable is renamed toBACKEND_MANAGER_NPROC
. - You must update the license activator plugin (only the Enterprise edition users).
- You may need to update SSO/webapp plugins to adapt with the new import paths. (#408)
- The module field of API-related log entries will now have