lablup / lablup/backend.ai

Relocate the resource preset and agent resource specs to models

Open
#13,938 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
15h 13m
Merged PRs (30d)
368

Description

자원 프리셋과 에이전트 자원 슬롯의 옛 spec 셋을 v2 베이스로 옮긴다.

이 셋은 단일키라 복합 자연키 지원을 기다리지 않는다. 같은 concern의 나머지 서른하나와 달리 지금 바로 할 수 있어 따로 낸다.

resource_preset의 creator와 updater는 api/gql_legacy/resource_preset.py와 어댑터가 부른다.

AgentResourceUpserterSpec은 도메인 밖에서 불린다. repositories/agent/repository.py가 부르므로 그쪽도 함께 본다.

공통 완료 기준. 이 디렉터리에서 repositories.base import가 0이고, 레거시 DBOpsProvider 사용이 0이고, V2 ops를 직접 생성하는 자리가 0이고, 리포지토리가 세션이나 엔진이 아니라 V2DBOpsProvider를 받는다. 근거는 repositories/AGENTS.md다.

판별은 import 경로로 한다. repositories.base와 models.specs에 이름이 같은 클래스가 있어서 클래스명으로 세면 틀린다.

JIRA Issue: BA-7471

Contributor guide

Open the contributing guide

Research direction

Start with repositories/AGENTS.md and inspect repositories/agent/repository.py, api/gql_legacy/resource_preset.py, and its adapter. Trace resource_preset creator/updater and AgentResourceUpserterSpec by import path, then compare the corresponding classes in models.specs. Done means the stated legacy imports and provider usage are gone, V2 ops are not created directly, and repositories receive V2DBOpsProvider rather than a session or engine.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.