lablup / lablup/backend.ai

Add quota configuration to StorageNamespaceRow

Open
#8,195 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
17h 7m
Merged PRs (30d)
358

Description

## Motivation

To enforce storage limits, we first need a place to store the quota configuration. The `StorageNamespaceRow` is the natural location since we want to manage limits at the storage namespace level.

## Required Features

- Add `max_size` column (BigInteger, nullable) to `storage_namespace` table
- `NULL` means unlimited
- Value in bytes
- Create Alembic migration for the schema change
- Update `StorageNamespaceData` dataclass to include `max_size`
- Update `StorageNamespaceRow.to_dataclass()` method

## Impact

- `src/ai/backend/manager/models/storage_namespace/row.py`
- `src/ai/backend/manager/data/storage_namespace/types.py`
- `src/ai/backend/manager/models/alembic/versions/` (new migration)

## Testing Scenarios

- Verify migration applies successfully (upgrade/downgrade)
- Verify `max_size` field persists correctly (NULL and non-NULL values)
- Verify `to_dataclass()` returns correct `max_size` value

JIRA Issue: BA-3990

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.